chore: optimize docker-compose for coolify deployments
This commit is contained in:
+3
-24
@@ -1,11 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:16-alpine
|
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:
|
environment:
|
||||||
POSTGRES_DB: ${POSTGRES_DB:-classroomio}
|
POSTGRES_DB: ${POSTGRES_DB:-classroomio}
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
||||||
@@ -27,10 +22,6 @@ services:
|
|||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:7-alpine
|
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']
|
command: ['redis-server', '--appendonly', 'yes']
|
||||||
volumes:
|
volumes:
|
||||||
- redis-data:/data
|
- redis-data:/data
|
||||||
@@ -43,11 +34,7 @@ services:
|
|||||||
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:latest
|
image: minio/minio:latest
|
||||||
container_name: cio-minio
|
|
||||||
command: server /data --console-address ":9001"
|
command: server /data --console-address ":9001"
|
||||||
ports:
|
|
||||||
- '9000:9000'
|
|
||||||
- '9001:9001'
|
|
||||||
environment:
|
environment:
|
||||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
|
||||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
|
||||||
@@ -58,7 +45,6 @@ services:
|
|||||||
|
|
||||||
minio-init:
|
minio-init:
|
||||||
image: minio/mc:latest
|
image: minio/mc:latest
|
||||||
container_name: cio-minio-init
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- minio
|
- minio
|
||||||
entrypoint: >
|
entrypoint: >
|
||||||
@@ -83,9 +69,6 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: docker/Dockerfile.api
|
dockerfile: docker/Dockerfile.api
|
||||||
container_name: cio-api
|
|
||||||
ports:
|
|
||||||
- '3081:3081'
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -128,7 +111,7 @@ services:
|
|||||||
OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL: ${OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL:-}
|
OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL: ${OBJECT_STORAGE_MEDIA_PUBLIC_BASE_URL:-}
|
||||||
# Auth secrets — required. Generated by classroomio.sh; set strong values
|
# Auth secrets — required. Generated by classroomio.sh; set strong values
|
||||||
# in .env if you start the stack with `docker compose` directly.
|
# 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:-}
|
DASHBOARD_ORIGIN: ${DASHBOARD_ORIGIN:-}
|
||||||
LICENSE_KEY: ${LICENSE_KEY:-}
|
LICENSE_KEY: ${LICENSE_KEY:-}
|
||||||
UNSPLASH_API_KEY: ${UNSPLASH_API_KEY:-}
|
UNSPLASH_API_KEY: ${UNSPLASH_API_KEY:-}
|
||||||
@@ -138,7 +121,7 @@ services:
|
|||||||
UPLOAD_MAX_VIDEO_MB: ${UPLOAD_MAX_VIDEO_MB:-}
|
UPLOAD_MAX_VIDEO_MB: ${UPLOAD_MAX_VIDEO_MB:-}
|
||||||
UPLOAD_MAX_EXERCISE_FILE_MB: ${UPLOAD_MAX_EXERCISE_FILE_MB:-}
|
UPLOAD_MAX_EXERCISE_FILE_MB: ${UPLOAD_MAX_EXERCISE_FILE_MB:-}
|
||||||
UPLOAD_MAX_AGENT_DOCUMENT_MB: ${UPLOAD_MAX_AGENT_DOCUMENT_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:-}
|
SKIP_DB_SETUP: ${SKIP_DB_SETUP:-}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
@@ -148,9 +131,6 @@ services:
|
|||||||
dockerfile: docker/Dockerfile.dashboard
|
dockerfile: docker/Dockerfile.dashboard
|
||||||
args:
|
args:
|
||||||
PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true}
|
PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true}
|
||||||
container_name: cio-dashboard
|
|
||||||
ports:
|
|
||||||
- '3082:3082'
|
|
||||||
depends_on:
|
depends_on:
|
||||||
api:
|
api:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -160,7 +140,7 @@ services:
|
|||||||
ORIGIN: ${DASHBOARD_ORIGIN:-http://localhost:3082}
|
ORIGIN: ${DASHBOARD_ORIGIN:-http://localhost:3082}
|
||||||
PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true}
|
PUBLIC_IS_SELFHOSTED: ${PUBLIC_IS_SELFHOSTED:-true}
|
||||||
PRIVATE_SERVER_URL: ${PRIVATE_SERVER_URL:-http://api:3081}
|
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_HOST: ${PRIVATE_APP_HOST:-localhost}
|
||||||
PRIVATE_APP_SUBDOMAINS: ${PRIVATE_APP_SUBDOMAINS:-app}
|
PRIVATE_APP_SUBDOMAINS: ${PRIVATE_APP_SUBDOMAINS:-app}
|
||||||
ALLOWED_EXTERNAL_DOMAINS: ${ALLOWED_EXTERNAL_DOMAINS:-}
|
ALLOWED_EXTERNAL_DOMAINS: ${ALLOWED_EXTERNAL_DOMAINS:-}
|
||||||
@@ -186,7 +166,6 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: docker/Dockerfile.jobs
|
dockerfile: docker/Dockerfile.jobs
|
||||||
container_name: cio-jobs
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
Reference in New Issue
Block a user