feat: Heavy Duty config with Git URL syntax, maxed limits (500mb payload, 200 DB connections), and Coolify labels

This commit is contained in:
cawcenter
2025-12-14 08:59:44 -05:00
parent 99ec2fb951
commit 64ecc8024f

View File

@@ -1,18 +1,21 @@
services: services:
postgresql: postgresql:
image: 'postgis/postgis:16-3.4-alpine' image: 'postgis/postgis:16-3.4-alpine'
# MAX LIMIT: Allow 200 concurrent connections
command: postgres -c 'max_connections=200'
restart: always restart: always
volumes: volumes:
- 'postgres-data:/var/lib/postgresql/data' - 'postgres-data:/var/lib/postgresql/data'
environment: environment:
POSTGRES_USER: ${DB_USER:-sparkuser} POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE:-directus} POSTGRES_DB: ${DB_DATABASE}
healthcheck: healthcheck:
test: [ 'CMD-SHELL', 'pg_isready -U ${DB_USER:-sparkuser} -d ${DB_DATABASE:-directus}' ] # SELF-CHECK: Uses 127.0.0.1 to check ITSELF inside the container (not external)
interval: 10s test: [ "CMD-SHELL", "pg_isready -h 127.0.0.1" ]
interval: 5s
timeout: 5s timeout: 5s
retries: 5 retries: 10
redis: redis:
image: 'redis:7-alpine' image: 'redis:7-alpine'
@@ -21,8 +24,8 @@ services:
volumes: volumes:
- 'redis-data:/data' - 'redis-data:/data'
healthcheck: healthcheck:
test: [ 'CMD', 'redis-cli', 'ping' ] test: [ "CMD", "redis-cli", "ping" ]
interval: 10s interval: 5s
timeout: 5s timeout: 5s
retries: 5 retries: 5
@@ -40,48 +43,55 @@ services:
DB_CLIENT: postgres DB_CLIENT: postgres
DB_HOST: postgresql DB_HOST: postgresql
DB_PORT: 5432 DB_PORT: 5432
DB_DATABASE: ${DB_DATABASE:-directus} DB_DATABASE: ${DB_DATABASE}
DB_USER: ${DB_USER:-sparkuser} DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD} DB_PASSWORD: ${DB_PASSWORD}
WEBSOCKETS_ENABLED: 'true'
CACHE_ENABLED: 'false' # --- LIMITS MAXED OUT ---
RATE_LIMITER_ENABLED: 'false' MAX_PAYLOAD_SIZE: '500mb'
CORS_ENABLED: 'true' RATE_LIMITER_ENABLED: 'false' # False = Infinite/Unlimited
# --- CORS / SECURITY ---
# This allows your LIVE site AND your LOCAL laptop to talk to the DB
CORS_ORIGIN: 'https://launch.jumpstartscaling.com,http://localhost:4321' CORS_ORIGIN: 'https://launch.jumpstartscaling.com,http://localhost:4321'
CORS_ENABLED: 'true'
PUBLIC_URL: 'https://spark.jumpstartscaling.com' PUBLIC_URL: 'https://spark.jumpstartscaling.com'
labels:
coolify.managed: 'true'
coolify.name: 'directus'
coolify.fqdn: 'spark.jumpstartscaling.com'
coolify.port: '8055'
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: depends_on:
postgresql: postgresql:
condition: service_healthy condition: service_healthy
redis: redis:
condition: service_healthy condition: service_healthy
healthcheck:
test: [ "CMD", "wget", "--spider", "--no-verbose", "http://127.0.0.1:8055/server/health" ]
interval: 10s
timeout: 5s
retries: 5
# PATIENCE: Give Directus 3 minutes to start before giving up
start_period: 180s
labels:
coolify.managed: 'true'
coolify.name: 'directus'
coolify.fqdn: 'spark.jumpstartscaling.com'
coolify.port: '8055'
frontend: frontend:
build: build:
context: ./frontend # MAGIC URL: Repo URL + #Branch + :Subfolder
context: https://gitthis.jumpstartscaling.com/gatekeeper/net.git#main:frontend
dockerfile: Dockerfile dockerfile: Dockerfile
restart: always restart: always
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'
depends_on:
- directus
labels: labels:
coolify.managed: 'true' coolify.managed: 'true'
coolify.name: 'frontend' coolify.name: 'frontend'
coolify.fqdn: 'launch.jumpstartscaling.com' coolify.fqdn: 'launch.jumpstartscaling.com'
coolify.port: '4321' coolify.port: '4321'
depends_on:
- directus
volumes: volumes:
postgres-data: postgres-data: