Files
garage/compose.yml

55 lines
1.6 KiB
YAML

---
version: "3.8"
services:
app:
image: dxflrs/garage:v2.1.0
configs:
- source: garage_conf
target: /etc/garage.toml
secrets:
- rpc_secret
networks:
- proxy
- internal
deploy:
restart_policy:
condition: on-failure
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3900"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.tcp.routers.${STACK_NAME}-rpc.rule=HostSNI(`*`)"
- "traefik.tcp.routers.${STACK_NAME}-rpc.entrypoints=garage-rpc"
- "traefik.tcp.services.${STACK_NAME}-rpc.loadbalancer.server.port=3901"
- "coop-cloud.${STACK_NAME}.version=0.0.1+2.1.0"
- "backupbot.backup=true"
- "backupbot.backup.pre-hook=/garage meta snapshot --all"
- "backupbot.backup.path=/var/lib/garage/meta/snapshots/,/var/lib/garage/meta/cluster_layout,/var/lib/garage/meta/data_layout,/var/lib/garage/meta/node_key,/var/lib/garage/meta/node_key.pub"
volumes:
- "${LOCAL_FOLDER_META:-meta}:/var/lib/garage/meta"
- "${LOCAL_FOLDER_DATA:-data}:/var/lib/garage/data"
networks:
proxy:
external: true
internal:
configs:
garage_conf:
name: ${STACK_NAME}_garage_conf_${GARAGE_CONF_VERSION}
file: garage.toml.tmpl
template_driver: golang
secrets:
rpc_secret:
name: ${STACK_NAME}_rpc_secret_${SECRET_RPC_SECRET_VERSION}
external: true
volumes:
meta:
data:
conf: