From fd9687be78b0f03255d179ad8fabff5e83d7e932 Mon Sep 17 00:00:00 2001 From: Christomatt Date: Sat, 31 Jan 2026 04:58:49 +0100 Subject: [PATCH] Add database migration service to docker-compose --- docker-compose.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 365b0ae..5b5080d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,6 +42,30 @@ 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) # ============================================ @@ -83,6 +107,8 @@ services: depends_on: postgres: condition: service_healthy + migrate: + condition: service_completed_successfully healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000/api/health"] interval: 30s