fix: clean docker-compose.yaml with official Directus image and proper health checks

This commit is contained in:
cawcenter
2025-12-14 08:20:52 -05:00
parent d392ecc618
commit cd77908acd
2 changed files with 85 additions and 97 deletions

View File

@@ -1,11 +1,13 @@
# Coolify Environment Variables # Environment Variables for Coolify
# Copy and paste these into Coolify's Environment Variables section
KEY=ZnznO66q47ZPWNurIJ20tHLj5usIu902QPtHumzt5cN15RWM2FrjnolpT2f1WY6y ADMIN_EMAIL=admin@sparkplatform.com
SECRET=I3FaUWDMi5rc3Qwc9qeNB25eBPvZPatVv2GDnT2f58nc19nTteFjwu6hIJF7lFwt ADMIN_PASSWORD=SecurePass2024!Change
ADMIN_EMAIL=insanecorp@gmail.com
ADMIN_PASSWORD=Idk@ai2026yayhappy DB_USER=sparkuser
DB_PASSWORD=DbPass2024!Change
DB_DATABASE=directus DB_DATABASE=directus
DB_USER=T80MG130m8fltgux
DB_PASSWORD=NXvk7sCqknCLmkE36GRGO0cF29BKQYtj KEY=nGs2S6Ue/tl03SNao1BIkXPxQtoEIZoUs+roKurD3UlSK8x9XrjyKySWf7tr0ABPkH7SB9wEzYnCDEX4ycB01Q==
DIRECTUS_ADMIN_TOKEN=eufOJ_oKEx_FVyGoz1GxWu6nkSOcgIVS SECRET=bVu+i1Yqp6aoxpe/o0ySfeE4GSAQCdlitOVCBZklQFcayXPQ1Nwc5jhLUjjrSIJsI1CH6UyRMsLo/fVSIf997w==
DIRECTUS_ADMIN_TOKEN=

View File

@@ -1,107 +1,93 @@
services: services:
directus:
build:
context: .
dockerfile: directus.Dockerfile
volumes:
- 'directus-uploads:/directus/uploads'
- 'directus-extensions:/directus/extensions'
- 'directus-templates:/directus/templates'
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}
- CACHE_ENABLED=false
- CACHE_STORE=memory
- WEBSOCKETS_ENABLED=true
- PRESSURE_LIMITER_ENABLED=false
- RATE_LIMITER_ENABLED=false
- DB_POOL_MAX=100
- CORS_ENABLED=true
- 'CORS_ORIGIN=https://launch.jumpstartscaling.com,http://localhost:4321'
- CORS_METHODS=GET,POST,PATCH,DELETE
- CORS_ALLOWED_HEADERS=Content-Type,Authorization
- CORS_EXPOSED_HEADERS=Content-Range
- CORS_CREDENTIALS=true
- CORS_MAX_AGE=86400
labels:
- "traefik.enable=true"
- "traefik.http.routers.directus.rule=Host(`spark.jumpstartscaling.com`)"
- "traefik.http.routers.directus.entrypoints=https"
- "traefik.http.routers.directus.tls.certresolver=letsencrypt"
- "traefik.http.services.directus.loadbalancer.server.port=8055"
- "traefik.docker.network=coolify"
- "traefik.http.services.directus.loadbalancer.server.scheme=http"
healthcheck:
test:
- CMD
- wget
- '-q'
- '--spider'
- 'http://127.0.0.1:8055/admin/login'
interval: 5s
timeout: 20s
retries: 10
depends_on:
postgresql:
condition: service_healthy
networks:
- coolify
- default
postgresql: postgresql:
image: 'postgis/postgis:16-3.4-alpine' image: 'postgis/postgis:16-3.4-alpine'
platform: linux/amd64 platform: linux/amd64
volumes: volumes:
- 'directus-postgresql-data:/var/lib/postgresql/data' - 'postgres-data:/var/lib/postgresql/data'
environment: environment:
- POSTGRES_USER=${DB_USER} POSTGRES_USER: ${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD} POSTGRES_PASSWORD: ${DB_PASSWORD}
- POSTGRES_DB=${DB_DATABASE} POSTGRES_DB: ${DB_DATABASE}
healthcheck: healthcheck:
test: test: ['CMD-SHELL', 'pg_isready -U ${DB_USER} -d ${DB_DATABASE}']
- CMD-SHELL interval: 10s
- 'pg_isready -U ${DB_USER} -d ${DB_DATABASE}' timeout: 5s
interval: 5s retries: 5
timeout: 20s networks:
retries: 10 - default
redis: redis:
image: 'redis:7-alpine' image: 'redis:7-alpine'
command: 'redis-server --appendonly yes' command: 'redis-server --appendonly yes'
volumes: volumes:
- 'directus-redis-data:/data' - 'redis-data:/data'
healthcheck: healthcheck:
test: test: ['CMD', 'redis-cli', 'ping']
- CMD interval: 10s
- redis-cli timeout: 5s
- ping retries: 5
interval: 5s networks:
timeout: 20s - default
retries: 10
directus:
image: 'directus/directus:11'
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'
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.directus.rule=Host(`spark.jumpstartscaling.com`)'
- 'traefik.http.routers.directus.entrypoints=https'
- 'traefik.http.routers.directus.tls.certresolver=letsencrypt'
- 'traefik.http.services.directus.loadbalancer.server.port=8055'
- 'traefik.docker.network=coolify'
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
networks:
- coolify
- default
frontend: frontend:
build: build:
context: ./frontend context: ./frontend
dockerfile: Dockerfile dockerfile: Dockerfile
environment: environment:
- PUBLIC_DIRECTUS_URL=https://spark.jumpstartscaling.com PUBLIC_DIRECTUS_URL: 'https://spark.jumpstartscaling.com'
- DIRECTUS_ADMIN_TOKEN=${DIRECTUS_ADMIN_TOKEN} DIRECTUS_ADMIN_TOKEN: ${DIRECTUS_ADMIN_TOKEN}
- PUBLIC_PLATFORM_DOMAIN=launch.jumpstartscaling.com PUBLIC_PLATFORM_DOMAIN: 'launch.jumpstartscaling.com'
labels: labels:
- "traefik.enable=true" - 'traefik.enable=true'
- "traefik.http.routers.frontend.rule=Host(`launch.jumpstartscaling.com`)" - 'traefik.http.routers.frontend.rule=Host(`launch.jumpstartscaling.com`)'
- "traefik.http.routers.frontend.entrypoints=https" - 'traefik.http.routers.frontend.entrypoints=https'
- "traefik.http.routers.frontend.tls.certresolver=letsencrypt" - 'traefik.http.routers.frontend.tls.certresolver=letsencrypt'
- "traefik.http.services.frontend.loadbalancer.server.port=4321" - 'traefik.http.services.frontend.loadbalancer.server.port=4321'
- "traefik.docker.network=coolify" - 'traefik.docker.network=coolify'
depends_on: depends_on:
- directus - directus
networks: networks:
@@ -109,13 +95,13 @@ services:
- default - default
volumes: volumes:
postgres-data:
redis-data:
directus-uploads: directus-uploads:
directus-extensions: directus-extensions:
directus-templates:
directus-postgresql-data:
directus-redis-data:
networks: networks:
coolify: coolify:
external: true external: true
default:
driver: bridge