services: boocode: build: . container_name: boocode restart: unless-stopped ports: - "100.114.205.53:9500:3000" env_file: .env environment: DATABASE_URL: postgres://boocode:${POSTGRES_PASSWORD}@boocode_db:5432/boocode volumes: - /opt:/opt - /opt/projects:/opt/projects:rw - ./secrets/boocode_gitea:/root/.ssh/id_ed25519:ro - ./data:/data - /opt/skills:/data/skills depends_on: - boocode_db networks: - boocode_net booterm: build: context: . dockerfile: apps/booterm/Dockerfile container_name: booterm restart: unless-stopped ports: - "100.114.205.53:9501:3000" env_file: .env environment: NODE_ENV: production PORT: 3000 DATABASE_URL: postgres://boocode:${POSTGRES_PASSWORD}@boocode_db:5432/boocode volumes: - /opt:/opt:rw depends_on: - boocode_db networks: - boocode_net boocode_db: image: postgres:16-alpine container_name: boocode_db restart: unless-stopped environment: POSTGRES_USER: boocode POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: boocode ports: - "127.0.0.1:5500:5432" volumes: - boocode_pgdata:/var/lib/postgresql/data networks: - boocode_net volumes: boocode_pgdata: networks: boocode_net: driver: bridge