version: "3.9" services: api: image: gitea.theminisip.ca/the_minisip/rss-aggregator:latest restart: unless-stopped environment: NODE_ENV: production PORT: ${PORT} DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} REDIS_URL: redis://redis:6379 SESSION_SECRET: ${SESSION_SECRET} BASE_URL: ${BASE_URL} depends_on: - postgres - redis ports: - "${PORT}:${PORT}" volumes: - prisma:/app/prisma - data:/app/data - logs:/app/logs networks: - rssnet worker: image: gitea.theminisip.ca/the_minisip/rss-aggregator:latest command: ["node", "dist/worker.js"] restart: unless-stopped environment: NODE_ENV: production DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} REDIS_URL: redis://redis:6379 BASE_URL: ${BASE_URL} depends_on: - postgres - redis volumes: - prisma:/app/prisma - data:/app/data - logs:/app/logs networks: - rssnet postgres: image: postgres:16 restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - postgres_data:/var/lib/postgresql/data networks: - rssnet redis: image: redis:7 restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - redis_data:/data networks: - rssnet networks: rssnet: volumes: postgres_data: redis_data: prisma: data: logs: