services: postgresql: image: 'postgis/postgis:16-3.4-alpine' restart: always volumes: - 'postgres-data:/var/lib/postgresql/data' environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_DATABASE} healthcheck: test: [ 'CMD-SHELL', 'pg_isready -U ${DB_USER} -d ${DB_DATABASE}' ] interval: 10s timeout: 5s retries: 5 redis: image: 'redis:7-alpine' command: 'redis-server --appendonly yes' restart: always volumes: - 'redis-data:/data' healthcheck: test: [ 'CMD', 'redis-cli', 'ping' ] interval: 10s timeout: 5s retries: 5 directus: image: 'directus/directus:11' restart: always volumes: - 'directus-uploads:/directus/uploads' - 'directus-extensions:/directus/extensions' environment: KEY: ${KEY} SECRET: ${SECRET} ADMIN_EMAIL: ${ADMIN_EMAIL} ADMIN_PASSWORD: ${ADMIN_PASSWORD} DB_CLIENT: postgres DB_HOST: postgresql DB_PORT: 5432 DB_DATABASE: ${DB_DATABASE} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} WEBSOCKETS_ENABLED: 'true' CACHE_ENABLED: 'false' RATE_LIMITER_ENABLED: 'false' CORS_ENABLED: 'true' CORS_ORIGIN: 'https://launch.jumpstartscaling.com,http://localhost:4321' PUBLIC_URL: 'https://spark.jumpstartscaling.com' healthcheck: test: [ 'CMD', 'wget', '--no-verbose', '--tries=1', '--spider', 'http://localhost:8055/server/health' ] interval: 30s timeout: 10s retries: 3 start_period: 40s depends_on: postgresql: condition: service_healthy redis: condition: service_healthy frontend: build: context: ./frontend dockerfile: Dockerfile restart: always environment: PUBLIC_DIRECTUS_URL: 'https://spark.jumpstartscaling.com' DIRECTUS_ADMIN_TOKEN: ${DIRECTUS_ADMIN_TOKEN} PUBLIC_PLATFORM_DOMAIN: 'launch.jumpstartscaling.com' depends_on: - directus volumes: postgres-data: redis-data: directus-uploads: directus-extensions: