diff --git a/docker-compose.yml b/docker-compose.yml index e69de29..ea67902 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -0,0 +1,74 @@ +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: