Files
notely/docker-compose.yml
domrichardson 295e03feb4
All checks were successful
Build and Push App Image / build-and-push (push) Successful in 1m20s
fix: removed hardcoded api url
2026-03-30 10:58:36 +01:00

84 lines
2.0 KiB
YAML

services:
redis:
image: redis:8-alpine
container_name: notely-redis
ports:
- "6379:6379"
networks:
- notely-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
mongodb:
image: mongo:8.0
container_name: notely-mongodb
environment:
MONGO_INITDB_DATABASE: notely
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
- mongodb_config:/data/configdb
networks:
- notely-network
healthcheck:
test: mongosh "mongodb://admin:password@localhost:27017/admin?authSource=admin" --quiet --eval "db.adminCommand('ping').ok"
interval: 10s
timeout: 5s
retries: 5
notely:
build:
context: .
dockerfile: ./devops/docker/Dockerfile
container_name: notely-app
ports:
- "${BACKEND_PORT}:${BACKEND_PORT}"
environment:
MONGODB_URI: ${MONGODB_URI}
JWT_SECRET: ${JWT_SECRET}
ENCRYPTION_KEY: ${ENCRYPTION_KEY}
PORT: ${BACKEND_PORT}
FRONTEND_URL: ${FRONTEND_URL}
DEFAULT_ADMIN_EMAIL: ${DEFAULT_ADMIN_EMAIL}
DEFAULT_ADMIN_USERNAME: ${DEFAULT_ADMIN_USERNAME}
DEFAULT_ADMIN_PASSWORD: ${DEFAULT_ADMIN_PASSWORD}
REDIS_ADDR: ${REDIS_ADDR}
REDIS_PASSWORD: ${REDIS_PASSWORD}
REDIS_DB: ${REDIS_DB}
SESSION_TTL_HOURS: ${SESSION_TTL_HOURS}
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
networks:
- notely-network
nginx:
image: nginx:1.25-alpine
container_name: notely-nginx
ports:
- "${NGINX_HTTP_PORT}:80"
- "${NGINX_HTTPS_PORT}:443"
volumes:
- ./devops/docker/nginx.conf:/etc/nginx/nginx.conf:ro
- ./devops/docker/ssl:/etc/nginx/ssl:ro
depends_on:
- notely
networks:
- notely-network
volumes:
mongodb_data:
mongodb_config:
networks:
notely-network:
driver: bridge