Initial commit

This commit is contained in:
2026-10-05 20:38:28 +02:00
commit 60a68b420e
107 changed files with 21716 additions and 0 deletions

88
docker-compose.yml Normal file
View File

@@ -0,0 +1,88 @@
name: adc-retivo
services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-adc}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-adc}
POSTGRES_DB: ${POSTGRES_DB:-adc}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test:
[
"CMD-SHELL",
"pg_isready -U ${POSTGRES_USER:-adc} -d ${POSTGRES_DB:-adc}",
]
interval: 5s
timeout: 5s
retries: 20
networks: [adc]
redis:
image: redis:7-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes"]
volumes:
- redisdata:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 20
networks: [adc]
minio:
image: ${MINIO_IMAGE:-minio/minio:latest}
restart: unless-stopped
# Leave MINIO_COMMAND empty for images with their own entrypoint/start script
# (e.g. firstfinger/minio). For stock minio/minio it defaults to the server command.
command: ${MINIO_COMMAND-server /data --console-address ":9001"}
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin}
ports:
- "9001:9001"
volumes:
- miniodata:/data
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:9000/minio/health/live || exit 1"]
interval: 5s
timeout: 5s
retries: 30
networks: [adc]
app:
build:
context: .
dockerfile: apps/server/Dockerfile
restart: unless-stopped
env_file:
- .env
ports:
- "${PORT:-3000}:3000"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
minio:
condition: service_healthy
command:
[
"sh",
"-c",
"node dist/db/migrate.js && node dist/db/seed.js && node dist/index.js",
]
networks: [adc]
volumes:
pgdata:
redisdata:
miniodata:
networks:
adc:
driver: bridge