Replaced traefik with Caddy as reverse proxy. Added health check for api in docker compose (resolves #4). Updated node to v14 and other dependencies.
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
db:
|
|
container_name: "xbs-db"
|
|
environment:
|
|
- "MONGO_INITDB_DATABASE=xbrowsersync"
|
|
- "MONGO_INITDB_ROOT_PASSWORD=$XBS_DB_PASSWORD"
|
|
- "MONGO_INITDB_ROOT_USERNAME=$XBS_DB_USERNAME"
|
|
image: "mongo:4.4.4"
|
|
restart: "unless-stopped"
|
|
volumes:
|
|
- "xbs-db-data:/data/db"
|
|
- "./mongoconfig.js:/docker-entrypoint-initdb.d/mongoconfig.js"
|
|
api:
|
|
container_name: "xbs-api"
|
|
depends_on:
|
|
- "db"
|
|
environment:
|
|
- "XBROWSERSYNC_DB_PWD=$XBS_DB_PASSWORD"
|
|
- "XBROWSERSYNC_DB_USER=$XBS_DB_USERNAME"
|
|
healthcheck:
|
|
test: [ "CMD", "node", "/usr/src/api/healthcheck.js" ]
|
|
interval: "1m"
|
|
timeout: "10s"
|
|
retries: "5"
|
|
start_period: "30s"
|
|
image: "xbrowsersync/api:1.1.13"
|
|
restart: "unless-stopped"
|
|
volumes:
|
|
- "./settings.json:/usr/src/api/config/settings.json"
|
|
- "./healthcheck.js:/usr/src/api/healthcheck.js"
|
|
reverse-proxy:
|
|
command: "caddy reverse-proxy --from $XBS_API_HOSTNAME --to api:8080"
|
|
container_name: "xbs-reverse-proxy"
|
|
depends_on:
|
|
- "api"
|
|
image: "caddy:2.3.0-alpine"
|
|
ports:
|
|
- "443:443"
|
|
- "80:80"
|
|
restart: "unless-stopped"
|
|
volumes:
|
|
- "xbs-caddy-config:/config"
|
|
- "xbs-caddy-data:/data"
|
|
|
|
volumes:
|
|
xbs-caddy-config:
|
|
xbs-caddy-data:
|
|
xbs-db-data:
|