53 lines
2.4 KiB
YAML
53 lines
2.4 KiB
YAML
---
|
|
services:
|
|
app:
|
|
image: docker.io/actualbudget/actual-server:latest
|
|
ports:
|
|
# This line makes Actual available at port 5006 of the device you run the server on,
|
|
# i.e. http://localhost:5006. You can change the first number to change the port, if you want.
|
|
- '5006:5006'
|
|
volumes:
|
|
# Change './actual-data' below to the path to the folder you want Actual to store its data in on your server.
|
|
# '/data' is the path Actual will look for its files in by default, so leave that as-is.
|
|
- actual-data:/data
|
|
healthcheck:
|
|
# Enable health check for the instance
|
|
test: ['CMD-SHELL', 'node src/scripts/health-check.js']
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 20s
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=5006"
|
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
## Edit the following line if you are using one, but not both, "Redirect" sections below
|
|
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirectscheme,${STACK_NAME}-redirecthostname"
|
|
## Redirect from EXTRA_DOMAINS to DOMAIN
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirecthostname.redirectregex.regex=^http[s]?://([^/]*)/(.*)"
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirecthostname.redirectregex.replacement=https://${DOMAIN}/$${2}"
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirecthostname.redirectregex.permanent=true"
|
|
## Redirect HTTP to HTTPS
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.scheme=https"
|
|
- "traefik.http.middlewares.${STACK_NAME}-redirectscheme.redirectscheme.permanent=true"
|
|
## When you're ready for release, run "abra recipe sync <name>" to set this
|
|
- "coop-cloud.${STACK_NAME}.version=0.2.0+latest"
|
|
## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
|
|
- "backupbot.backup=true"
|
|
- "backupbot.backup.path=/some/path"
|
|
|
|
volumes:
|
|
actual-data:
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|