add now features
This commit is contained in:
45
Makefile
45
Makefile
@@ -1,4 +1,4 @@
|
||||
.PHONY: help dev prod stop logs logs-dev logs-prod rebuild rebuild-dev clean install test
|
||||
.PHONY: help dev prod stop logs logs-dev logs-prod rebuild rebuild-dev clean install test migrate sync-now sync-logs
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@@ -10,14 +10,19 @@ help:
|
||||
@echo " make rebuild-dev - Rebuild development services"
|
||||
@echo ""
|
||||
@echo "Production:"
|
||||
@echo " make prod - Deploy production environment"
|
||||
@echo " make prod - Deploy production environment (includes migrations)"
|
||||
@echo " make migrate - Run database migrations against production DB"
|
||||
@echo " make logs-prod - Show production logs"
|
||||
@echo " make rebuild - Rebuild production services"
|
||||
@echo ""
|
||||
@echo "FDISK Sync:"
|
||||
@echo " make sync-now - Trigger an immediate sync (runs in existing container)"
|
||||
@echo " make sync-logs - Follow sync container logs"
|
||||
@echo ""
|
||||
@echo "General:"
|
||||
@echo " make stop - Stop all services"
|
||||
@echo " make clean - Remove all containers and volumes"
|
||||
@echo " make install - Install dependencies for backend and frontend"
|
||||
@echo " make install - Install dependencies for backend, frontend and sync"
|
||||
@echo " make test - Run tests"
|
||||
@echo ""
|
||||
|
||||
@@ -48,17 +53,46 @@ prod:
|
||||
@echo "Starting production deployment..."
|
||||
docker compose -f docker-compose.yml up -d --build
|
||||
@echo ""
|
||||
@echo "Running database migrations..."
|
||||
@$(MAKE) migrate
|
||||
@echo ""
|
||||
@echo "Production services are running!"
|
||||
|
||||
migrate:
|
||||
@if [ ! -f .env ]; then \
|
||||
echo "Error: .env file not found! Run 'cp .env.example .env' first."; \
|
||||
exit 1; \
|
||||
fi
|
||||
@echo "Waiting for database to be ready..."
|
||||
@until docker compose -f docker-compose.yml exec -T postgres \
|
||||
pg_isready -U "$${POSTGRES_USER:-prod_user}" -d "$${POSTGRES_DB:-feuerwehr_prod}" \
|
||||
> /dev/null 2>&1; do \
|
||||
printf '.'; sleep 2; \
|
||||
done
|
||||
@echo ""
|
||||
@echo "Running migrations..."
|
||||
docker compose -f docker-compose.yml exec -T backend npm run migrate
|
||||
@echo "Migrations complete!"
|
||||
|
||||
logs-prod:
|
||||
docker compose -f docker-compose.yml logs -f
|
||||
|
||||
logs:
|
||||
@make logs-prod
|
||||
@$(MAKE) logs-prod
|
||||
|
||||
rebuild:
|
||||
docker compose -f docker-compose.yml up -d --build --force-recreate
|
||||
|
||||
# FDISK Sync
|
||||
sync-now:
|
||||
@echo "Triggering immediate FDISK sync..."
|
||||
docker compose -f docker-compose.yml exec -T fdisk-sync kill -USR1 1 2>/dev/null || \
|
||||
docker compose -f docker-compose.yml restart fdisk-sync
|
||||
@echo "Sync triggered. Follow with: make sync-logs"
|
||||
|
||||
sync-logs:
|
||||
docker compose -f docker-compose.yml logs -f fdisk-sync
|
||||
|
||||
# General commands
|
||||
stop:
|
||||
@echo "Stopping all services..."
|
||||
@@ -87,6 +121,9 @@ install:
|
||||
@echo "Installing frontend dependencies..."
|
||||
cd frontend && npm install
|
||||
@echo ""
|
||||
@echo "Installing sync dependencies..."
|
||||
cd sync && npm install
|
||||
@echo ""
|
||||
@echo "Dependencies installed!"
|
||||
|
||||
# Run tests
|
||||
|
||||
Reference in New Issue
Block a user