fix: clean docker-compose.yaml with official Directus image and proper health checks
This commit is contained in:
@@ -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=
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user