chore: migrate Coolify deploy to pull-based images from Gitea registry
Publish Docker Images / Smoke test (api) (push) Canceled after 0s
Publish Docker Images / Smoke test (dashboard) (push) Canceled after 0s
Publish Docker Images / Smoke test (jobs) (push) Canceled after 0s
Publish Docker Images / build-and-push (./docker/Dockerfile.api, api, api) (push) Canceled after 0s
Publish Docker Images / build-and-push (./docker/Dockerfile.dashboard, dashboard, dashboard) (push) Canceled after 0s
Publish Docker Images / build-and-push (./docker/Dockerfile.jobs, jobs, jobs) (push) Canceled after 0s

- Point docker-compose.images.yaml at registry.ulivargas.dev images
- Add restart: unless-stopped to postgres/redis/minio
- Restore dashboard build heap to 8GB (4GB caused vite OOM)
- Use node:24.18.0-slim for jobs to share base layers
This commit is contained in:
Ulises Vargas
2026-08-26 13:25:45 -07:00
parent d343319621
commit ef98c665cc
3 changed files with 10 additions and 7 deletions
+6 -3
View File
@@ -17,6 +17,7 @@ services:
postgres:
image: postgres:16-alpine
container_name: cio-postgres
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB:-classroomio}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
@@ -39,6 +40,7 @@ services:
redis:
image: redis:7-alpine
container_name: cio-redis
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes']
volumes:
- redis-data:/data
@@ -52,6 +54,7 @@ services:
minio:
image: minio/minio:latest
container_name: cio-minio
restart: unless-stopped
command: server /data --console-address ":9001"
ports:
- '9000:9000'
@@ -88,7 +91,7 @@ services:
- minio
api:
image: classroomio/api:${CIO_VERSION:-latest}
image: registry.ulivargas.dev/ulivargas/classroomio-api:${CIO_VERSION:-latest}
container_name: cio-api
ports:
- '3081:3081'
@@ -149,7 +152,7 @@ services:
restart: unless-stopped
dashboard:
image: classroomio/dashboard:${CIO_VERSION:-latest}
image: registry.ulivargas.dev/ulivargas/classroomio-dashboard:${CIO_VERSION:-latest}
container_name: cio-dashboard
ports:
- '3082:3082'
@@ -185,7 +188,7 @@ services:
# Background worker (BullMQ). Drains the Redis queue: video processing, transcription,
# AI course generation, and emails.
jobs:
image: classroomio/jobs:${CIO_VERSION:-latest}
image: registry.ulivargas.dev/ulivargas/classroomio-jobs:${CIO_VERSION:-latest}
container_name: cio-jobs
depends_on:
postgres:
+2 -2
View File
@@ -20,9 +20,9 @@ COPY . .
RUN pnpm install --offline --frozen-lockfile --ignore-scripts \
--store-dir /pnpm/store --filter @cio/dashboard...
RUN find . -name 'tsconfig.tsbuildinfo' -delete
RUN NODE_OPTIONS="--max-old-space-size=4096" \
RUN NODE_OPTIONS="--max-old-space-size=8072" \
PUBLIC_IS_SELFHOSTED="${PUBLIC_IS_SELFHOSTED}" \
sleep 45 && pnpm -r --filter @cio/dashboard... build
pnpm -r --filter @cio/dashboard... build
RUN test -f apps/dashboard/build/index.js || (echo "ERROR: Dashboard build output not found at apps/dashboard/build/index.js" && exit 1)
+2 -2
View File
@@ -1,4 +1,4 @@
FROM node:24-bookworm-slim
FROM node:24.18.0-slim
# ffmpeg is needed for media probe / thumbnail / audio-extract / transcode tasks.
RUN apt-get update \
@@ -27,7 +27,7 @@ RUN pnpm install --offline --frozen-lockfile --ignore-scripts \
--store-dir /pnpm/store --filter @cio/jobs-worker...
RUN find . -name 'tsconfig.tsbuildinfo' -delete
# Build the worker and all its workspace deps in topological order.
RUN sleep 90 && pnpm -r --filter @cio/jobs-worker... build
RUN pnpm -r --filter @cio/jobs-worker... build
# Run all worker entrypoints by default. Override CMD to scale media / transcribe
# / maintenance independently.