Fix Docker image to include drizzle-kit and auto-run migrations on startup

This commit is contained in:
Christomatt
2026-01-31 05:00:59 +01:00
parent fd9687be78
commit bf9f0a3335
3 changed files with 13 additions and 41 deletions
+2 -27
View File
@@ -42,30 +42,6 @@ services:
reservations:
memory: 256M
# ============================================
# Database Migrations
# ============================================
migrate:
image: node:22-alpine
container_name: synapsis-migrate
working_dir: /app
environment:
DATABASE_URL: postgresql://${DB_USER:-synapsis}:${DB_PASSWORD:-changeme}@postgres:5432/${DB_NAME:-synapsis}
volumes:
- ./migrations:/app/migrations:ro
networks:
- synapsis-network
depends_on:
postgres:
condition: service_healthy
command: >
sh -c "
echo 'Running database migrations...' &&
npm install -g drizzle-kit &&
drizzle-kit push --force || echo 'Migrations completed or already up to date'
"
restart: on-failure
# ============================================
# Synapsis Application (from GHCR)
# ============================================
@@ -107,14 +83,13 @@ services:
depends_on:
postgres:
condition: service_healthy
migrate:
condition: service_completed_successfully
# Increased start period to allow migrations to run
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
start_period: 60s
deploy:
resources:
limits: