version: "3.9" services: sms-webhook: image: sms-webhook build: context: . deploy: resources: limits: memory: 256M logging: driver: "json-file" options: max-size: "100m" networks: - smsnet restart: unless-stopped depends_on: - redis volumes: - pb-vault:/sms-webhook/pb_data - ./config.toml:/opt/smswebhook/config.toml cap_drop: - ALL dns: - 9.9.9.9 environment: - SERVER_DEPLOYMENT_TYPE=deployment entrypoint: ["/sms-webhook/sms-webhook"] command: ["serve", "--http=0.0.0.0:8090"] redis: image: redis:7.2.3-alpine3.18 deploy: resources: limits: memory: 128M logging: driver: "json-file" options: max-size: "100m" networks: - smsnet restart: unless-stopped ports: - "127.0.0.1:6379:6379" environment: - ALLOW_EMPTY_PASSWORD=yes volumes: - sms-vault:/data/ nginx: deploy: resources: limits: memory: 128M logging: driver: "json-file" options: max-size: "100m" image: nginx:stable ports: - "8090:443" networks: - smsnet restart: unless-stopped cap_drop: - ALL cap_add: - CHOWN - DAC_OVERRIDE - SETGID - SETUID - NET_BIND_SERVICE volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - /etc/letsencrypt/live/sms.terminaldweller.com/fullchain.pem:/etc/letsencrypt/live/sms.terminaldweller.com/fullchain.pem:ro - /etc/letsencrypt/live/sms.terminaldweller.com/privkey.pem:/etc/letsencrypt/live/sms.terminaldweller.com/privkey.pem:ro networks: smsnet: driver: bridge volumes: sms-vault: pb-vault: