61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
---
|
|
version: "3.8"
|
|
|
|
services:
|
|
app:
|
|
image: git.coopcloud.tech/wiki-cafe/wiki-farm:latest
|
|
command: /bin/sh config/install.sh
|
|
volumes:
|
|
- "fedwiki_friends:/home/node/config"
|
|
- "fedwiki:/home/node/.wiki"
|
|
networks:
|
|
- proxy
|
|
configs:
|
|
- source: install_sh_conf
|
|
target: /home/node/config/install.sh
|
|
- source: config_json_conf
|
|
target: /home/node/config/config.json
|
|
environment:
|
|
- DOMAIN
|
|
- COOKIE_SECRET
|
|
- AUTHOR
|
|
- ADMIN_KEY
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000"
|
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`) || HostRegexp(`{subdomain:\\w+}.${DOMAIN}`)"
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.domains[0].main=${DOMAIN}"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.domains[0].sans=*.${DOMAIN}"
|
|
- "traefik.http.routers.${STACK_NAME}.priority=1"
|
|
- "backupbot.backup=true"
|
|
- "backupbot.backup.path=/home/node/.wiki"
|
|
- "coop-cloud.${STACK_NAME}.version=0.1.0+1.0.13"
|
|
# healthcheck:
|
|
# test: ["CMD", "curl", "-f", "http://localhost"]
|
|
# interval: 30s
|
|
# timeout: 10s
|
|
# retries: 10
|
|
# start_period: 1m
|
|
|
|
volumes:
|
|
fedwiki:
|
|
fedwiki_friends:
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
|
|
configs:
|
|
install_sh_conf:
|
|
name: ${STACK_NAME}_install_sh_${INSTALL_SH_VERSION}
|
|
file: install.sh
|
|
config_json_conf:
|
|
name: ${STACK_NAME}_config_json_${CONFIG_JSON_VERSION}
|
|
file: config.json.tmpl
|
|
template_driver: golang
|