mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-03-29 10:10:06 +00:00
68 lines
1.6 KiB
YAML
68 lines
1.6 KiB
YAML
name: SimpleX Chat - smp-server
|
|
|
|
services:
|
|
oneshot:
|
|
image: ubuntu:latest
|
|
environment:
|
|
CADDYCONF: |
|
|
${CADDY_OPTS:-}
|
|
|
|
http://{$$ADDR} {
|
|
redir https://{$$ADDR}{uri} permanent
|
|
}
|
|
|
|
{$$ADDR}:8443 {
|
|
tls {
|
|
key_type rsa4096
|
|
}
|
|
}
|
|
command: sh -c 'if [ ! -f /etc/caddy/Caddyfile ]; then printf "$${CADDYCONF}" > /etc/caddy/Caddyfile; fi'
|
|
volumes:
|
|
- ./caddy_conf:/etc/caddy
|
|
|
|
caddy:
|
|
image: caddy:latest
|
|
depends_on:
|
|
oneshot:
|
|
condition: service_completed_successfully
|
|
cap_add:
|
|
- NET_ADMIN
|
|
environment:
|
|
ADDR: ${ADDR?"Please specify the domain."}
|
|
volumes:
|
|
- ./caddy_conf:/etc/caddy
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
ports:
|
|
- 80:80
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: "test -d /data/caddy/certificates/${CERT_PATH:-acme-v02.api.letsencrypt.org-directory}/${ADDR} || exit 1"
|
|
interval: 1s
|
|
retries: 60
|
|
|
|
smp-server:
|
|
image: ${SIMPLEX_IMAGE:-simplexchat/smp-server:latest}
|
|
depends_on:
|
|
caddy:
|
|
condition: service_healthy
|
|
environment:
|
|
ADDR: ${ADDR?"Please specify the domain."}
|
|
PASS: ${PASS:-}
|
|
volumes:
|
|
- ./smp_configs:/etc/opt/simplex
|
|
- ./smp_state:/var/opt/simplex
|
|
- type: volume
|
|
source: caddy_data
|
|
target: /certificates
|
|
volume:
|
|
subpath: "caddy/certificates/${CERT_PATH:-acme-v02.api.letsencrypt.org-directory}/${ADDR}"
|
|
ports:
|
|
- 443:443
|
|
- 5223:5223
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|