67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
version: '3.8'
|
|
services:
|
|
postgres:
|
|
image: postgres:15
|
|
container_name: occto_postgres
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-admin}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-adminpassword}
|
|
POSTGRES_DB: ${POSTGRES_DB:-occto_db}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- occto_network
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-admin} -d ${POSTGRES_DB:-occto_db}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
minio:
|
|
image: minio/minio:RELEASE.2023-09-04T19-57-37Z
|
|
container_name: occto_minio
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-admin}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-adminpassword}
|
|
volumes:
|
|
- minio_data:/data
|
|
networks:
|
|
- occto_network
|
|
command: server /data --console-address ":9001"
|
|
restart: unless-stopped
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: occto_frontend
|
|
ports:
|
|
- "3001:3000"
|
|
environment:
|
|
- NODE_ENV=${NODE_ENV:-production}
|
|
- DATABASE_URL=${DATABASE_URL:-postgresql://admin:adminpassword@postgres:5432/occto_db?schema=public}
|
|
- MINIO_ENDPOINT=${MINIO_ENDPOINT:-minio}
|
|
- MINIO_PORT=${MINIO_PORT:-9000}
|
|
- MINIO_USE_SSL=${MINIO_USE_SSL:-false}
|
|
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-admin}
|
|
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY:-adminpassword}
|
|
- MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME:-occto-images}
|
|
- JWT_SECRET=${JWT_SECRET:-b33500bb3dc5504535c34cc5f79f4ca0f60994b093bded14d48f76c0c090f032234693219e60398cab053a9c55c1d426ef7b1768104db9040254ba7db452f708}
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
networks:
|
|
- occto_network
|
|
- dokploy-network
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
occto_network:
|
|
driver: bridge
|
|
dokploy-network:
|
|
external: true
|
|
|
|
volumes:
|
|
postgres_data:
|
|
minio_data:
|