version: '3.8' services: postgres: image: postgres:15 container_name: occto_postgres environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - postgres_data:/var/lib/postgresql/data networks: - occto_network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_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} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} 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} - DATABASE_URL=${DATABASE_URL} - MINIO_ENDPOINT=${MINIO_ENDPOINT} - MINIO_PORT=${MINIO_PORT} - MINIO_USE_SSL=${MINIO_USE_SSL} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME} - JWT_SECRET=${JWT_SECRET} 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: