services: db: image: postgres:16 ports: - 5432:5432 environment: - POSTGRES_PASSWORD=dev smtp: profiles: - mails image: mailhog/mailhog ports: - 1025:1025 - 8025:8025 redis: image: redis/redis-stack:7.2.0-v11 ports: - 6379:6379 - 8001:8001 notella: image: registry.inpt.fr/churros/notella:v0.17.0 profiles: - notella env_file: - .env ports: - 8080:8080 environment: - DATABASE_URL=${DATABASE_URL} - REDIS_URL=${REDIS_URL} - NATS_URL=nats://nats:4222 - PUBLIC_VAPID_KEY=${PUBLIC_VAPID_KEY} - VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY} - CONTACT_EMAIL=${PUBLIC_CONTACT_EMAIL} - FIREBASE_SERVICE_ACCOUNT=${FIREBASE_ADMIN_SERVICE_ACCOUNT_KEY} - STARTUP_SCHEDULE_RESTORATION=enabled # enabled, disabled, eager - APP_PACKAGE_ID=${PUBLIC_APP_PACKAGE_ID} - HEALTH_CHECK_PORT=8080 - DEBUG=1 command: > sh -c 'export DATABASE_URL=$${DATABASE_URL/localhost/db} && export REDIS_URL=$${REDIS_URL/localhost/redis} && exec /app/notella' nats: profiles: - notella image: nats:2.10.25 ports: - '8222:8222' - '4222:4222' volumes: - ./nats-dev-server.conf:/nats-server.conf command: ['-c', '/nats-server.conf'] prometheus: profiles: - prometheus image: prom/prometheus ports: - 9090:9090 # allow access to host's localhost from within the container extra_hosts: - 'host.docker.internal:host-gateway' volumes: - ${PWD}/prometheus-mock-config.yaml:/prometheus.yml command: - '--config.file=/prometheus.yml' - '--storage.tsdb.path=/prometheus'