Enable backups for real, add healthcheck, fill out README.md

This commit is contained in:
2025-11-16 16:52:09 -05:00
parent 97de355ec5
commit f8b52ca276
3 changed files with 21 additions and 15 deletions

View File

@ -1,5 +1,7 @@
TYPE=akaunting TYPE=akaunting
ENABLE_BACKUPS=true
DOMAIN=akaunting.example.com DOMAIN=akaunting.example.com
COMPOSE_FILE="compose.yml" COMPOSE_FILE="compose.yml"

View File

@ -1,14 +1,14 @@
# akaunting # akaunting
> One line description of the recipe Open-source quickbooks alternative, written in PHP.
<!-- metadata --> <!-- metadata -->
* **Category**: Apps * **Category**: Apps
* **Status**: 0 * **Status**: 0
* **Image**: [`akaunting`](https://hub.docker.com/r/akaunting), 4, upstream * **Image**: [`akaunting`](https://hub.docker.com/r/akaunting), 4, upstream
* **Healthcheck**: No * **Healthcheck**: Yes
* **Backups**: No * **Backups**: Yes
* **Email**: No * **Email**: No
* **Tests**: No * **Tests**: No
* **SSO**: No * **SSO**: No
@ -20,5 +20,9 @@
* `abra app new akaunting --secrets` * `abra app new akaunting --secrets`
* `abra app config <app-name>` * `abra app config <app-name>`
* `abra app deploy <app-name>` * `abra app deploy <app-name>`
* Once the app is up and running, navigate to `https://${DOMAIN}` in your browser
* Select your locale in step 1
* In step 2, use `akaunting` as the database schema name and leave the other fields unchanged (they should have auto-populated based on the environment variables in the deployment)
* In step 3, fill in whatever you desire for company and admin user information
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech). For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).

View File

@ -1,7 +1,7 @@
--- ---
services: services:
app: app:
image: docker.io/akaunting/akaunting:latest image: docker.io/akaunting/akaunting:3.1.19
networks: networks:
- proxy - proxy
- backend - backend
@ -31,12 +31,12 @@ services:
## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore ## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
# - "backupbot.backup=true" # - "backupbot.backup=true"
# - "backupbot.backup.path=/some/path" # - "backupbot.backup.path=/some/path"
# healthcheck: healthcheck:
# test: ["CMD", "curl", "-f", "http://localhost"] test: ["CMD", "curl", "-f", "http://localhost/serviceworker.js"]
# interval: 30s interval: 30s
# timeout: 10s timeout: 10s
# retries: 10 retries: 10
# start_period: 1m start_period: 1m
volumes: volumes:
- akaunting-data:/var/www/html - akaunting-data:/var/www/html
secrets: secrets:
@ -57,6 +57,11 @@ services:
deploy: deploy:
restart_policy: restart_policy:
condition: on-failure condition: on-failure
labels:
backupbot.backup: "${ENABLE_BACKUPS:-true}"
backupbot.backup.pre-hook: "mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/mysql_root_password)\" akaunting | gzip > /var/lib/mysql/dump.sql.gz"
backupbot.backup.volumes.akaunting-db.path: "dump.sql.gz"
backupbot.restore.post-hook: "gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/mysql_root_password)\" akaunting < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql"
environment: environment:
- MYSQL_DATABASE=akaunting - MYSQL_DATABASE=akaunting
- MYSQL_USER=admin - MYSQL_USER=admin
@ -65,11 +70,6 @@ services:
secrets: secrets:
- mysql_password - mysql_password
- mysql_root_password - mysql_root_password
labels:
- "backupbot.backup=true"
- "backupbot.backup.pre-hook=mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/mysql_root_password)\" akaunting | gzip > /var/lib/mysql/dump.sql.gz"
- "backupbot.backup.volumes.akaunting-db.path=dump.sql.gz"
- "backupbot.restore.post-hook=gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/mysql_root_password)\" akaunting < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql"
volumes: volumes:
akaunting-db: akaunting-db: