From ba8a4fa5ec124330cd169f172e03fc067f2c8086 Mon Sep 17 00:00:00 2001 From: Ulises Vargas Date: Tue, 25 Aug 2026 10:01:03 -0700 Subject: [PATCH] chore: optimize docker-compose for coolify deployments --- docker-compose.yaml | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 421e77d6..a1b47aed 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,11 +1,6 @@ services: postgres: image: postgres:16-alpine - container_name: cio-postgres - # Bound to localhost only so host tools (pnpm api:dev, db:setup) can reach it - # without exposing the database to the LAN. - ports: - - '127.0.0.1:5432:5432' environment: POSTGRES_DB: ${POSTGRES_DB:-classroomio} POSTGRES_USER: ${POSTGRES_USER:-postgres} @@ -27,10 +22,6 @@ services: redis: image: redis:7-alpine - container_name: cio-redis - # Bound to localhost only (see postgres note above). - ports: - - '127.0.0.1:6379:6379' command: ['redis-server', '--appendonly', 'yes'] volumes: - redis-data:/data @@ -43,11 +34,7 @@ services: minio: image: minio/minio:latest - container_name: cio-minio command: server /data --console-address ":9001" - ports: - - '9000:9000' - - '9001:9001' environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} @@ -58,7 +45,6 @@ services: minio-init: image: minio/mc:latest - container_name: cio-minio-init depends_on: - minio entrypoint: > @@ -83,9 +69,6 @@ services: build: context: . dockerfile: docker/Dockerfile.api - container_name: cio-api - ports: - - '3081:3081' depends_on: postgres: condition: service_healthy @@ -128,7 +111,7 @@ services: OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL: ${OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL:-} # Auth secrets — required. Generated by classroomio.sh; set strong values # in .env if you start the stack with `docker compose` directly. - PRIVATE_SERVER_KEY: ${PRIVATE_SERVER_KEY:?set a strong PRIVATE_SERVER_KEY in .env} + PRIVATE_SERVER_KEY: ${PRIVATE_SERVER_KEY:-set a strong PRIVATE_SERVER_KEY in .env} DASHBOARD_ORIGIN: ${DASHBOARD_ORIGIN:-} LICENSE_KEY: ${LICENSE_KEY:-} UNSPLASH_API_KEY: ${UNSPLASH_API_KEY:-} @@ -138,7 +121,7 @@ services: UPLOAD_MAX_VIDEO_MB: ${UPLOAD_MAX_VIDEO_MB:-} UPLOAD_MAX_EXERCISE_FILE_MB: ${UPLOAD_MAX_EXERCISE_FILE_MB:-} UPLOAD_MAX_AGENT_DOCUMENT_MB: ${UPLOAD_MAX_AGENT_DOCUMENT_MB:-} - BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET:?set a strong BETTER_AUTH_SECRET in .env} + BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET:-set a strong BETTER_AUTH_SECRET in .env} SKIP_DB_SETUP: ${SKIP_DB_SETUP:-} restart: unless-stopped @@ -148,9 +131,6 @@ services: dockerfile: docker/Dockerfile.dashboard args: PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true} - container_name: cio-dashboard - ports: - - '3082:3082' depends_on: api: condition: service_healthy @@ -160,7 +140,7 @@ services: ORIGIN: ${DASHBOARD_ORIGIN:-http://localhost:3082} PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true} PRIVATE_SERVER_URL: ${PRIVATE_SERVER_URL:-http://api:3081} - PRIVATE_SERVER_KEY: ${PRIVATE_SERVER_KEY:?set a strong PRIVATE_SERVER_KEY in .env} + PRIVATE_SERVER_KEY: ${PRIVATE_SERVER_KEY:-set a strong PRIVATE_SERVER_KEY in .env} PRIVATE_APP_HOST: ${PRIVATE_APP_HOST:-localhost} PRIVATE_APP_SUBDOMAINS: ${PRIVATE_APP_SUBDOMAINS:-app} ALLOWED_EXTERNAL_DOMAINS: ${ALLOWED_EXTERNAL_DOMAINS:-} @@ -186,7 +166,6 @@ services: build: context: . dockerfile: docker/Dockerfile.jobs - container_name: cio-jobs depends_on: postgres: condition: service_healthy