113 lines
3.1 KiB
YAML
113 lines
3.1 KiB
YAML
services:
|
|
directus:
|
|
build:
|
|
context: .
|
|
dockerfile: directus.Dockerfile
|
|
volumes:
|
|
- 'directus-uploads:/directus/uploads'
|
|
- 'directus-extensions:/directus/extensions'
|
|
- 'directus-templates:/directus/templates'
|
|
environment:
|
|
- SERVICE_URL_DIRECTUS_8055
|
|
- KEY=$SERVICE_BASE64_64_KEY
|
|
- SECRET=$SERVICE_BASE64_64_SECRET
|
|
- 'ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}'
|
|
- ADMIN_PASSWORD=$SERVICE_PASSWORD_ADMIN
|
|
- DB_CLIENT=postgres
|
|
- DB_HOST=postgresql
|
|
- DB_PORT=5432
|
|
- 'DB_DATABASE=${POSTGRESQL_DATABASE:-directus}'
|
|
- DB_USER=$SERVICE_USER_POSTGRESQL
|
|
- DB_PASSWORD=$SERVICE_PASSWORD_POSTGRESQL
|
|
- CACHE_ENABLED=false
|
|
- CACHE_STORE=memory
|
|
- WEBSOCKETS_ENABLED=true
|
|
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:
|
|
image: 'postgis/postgis:16-3.4-alpine'
|
|
platform: linux/amd64
|
|
volumes:
|
|
- 'directus-postgresql-data:/var/lib/postgresql/data'
|
|
environment:
|
|
- 'POSTGRES_USER=${SERVICE_USER_POSTGRESQL}'
|
|
- 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}'
|
|
- 'POSTGRES_DB=${POSTGRESQL_DATABASE:-directus}'
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: 'redis:7-alpine'
|
|
command: 'redis-server --appendonly yes'
|
|
volumes:
|
|
- 'directus-redis-data:/data'
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- redis-cli
|
|
- ping
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
environment:
|
|
- PUBLIC_DIRECTUS_URL=https://spark.jumpstartscaling.com
|
|
- DIRECTUS_ADMIN_TOKEN=${DIRECTUS_ADMIN_TOKEN:-}
|
|
- PUBLIC_PLATFORM_DOMAIN=launch.jumpstartscaling.com
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.frontend.rule=Host(`launch.jumpstartscaling.com`)"
|
|
- "traefik.http.routers.frontend.entrypoints=https"
|
|
- "traefik.http.routers.frontend.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.frontend.loadbalancer.server.port=4321"
|
|
- "traefik.docker.network=coolify"
|
|
depends_on:
|
|
- directus
|
|
networks:
|
|
- coolify
|
|
- default
|
|
|
|
volumes:
|
|
directus-uploads:
|
|
directus-extensions:
|
|
directus-templates:
|
|
directus-postgresql-data:
|
|
directus-redis-data:
|
|
|
|
|
|
networks:
|
|
coolify:
|
|
external: true
|