* Enable MariaDB binary log
This resolves a warning in the database server log:
[Warning] You need to use --log-bin to make --binlog-format work.
Pros:
* support for point-in-time recovery
* necessary for replication
Cons:
* slows down database operations ("slightly", per the manual)
* takes up disk space (mitigated by `--expire-logs-days=2`)
See also:
* <https://mariadb.com/kb/en/binary-log/>
* <https://mariadb.com/kb/en/full-list-of-mariadb-options-system-and-status-variables/>
Alternatives:
1. Do not add `--log-bin`. Remove `--binlog-format` instead. This causes the least amount of change for existing installations.
Signed-off-by: Adam Monsen <haircut@gmail.com>
* remove --expire-logs-days=2 mariadb flag
This better aligns with recommendations in the Nextcloud documentation.
Also: the flag isn't necessary. There are already set times for cleanup: The MySQL and MariaDB documentation both state that binary logs will be purged on startup and flush/rotation.
Signed-off-by: Adam Monsen <haircut@gmail.com>
---------
Signed-off-by: Adam Monsen <haircut@gmail.com>
58 lines
1001 B
YAML
58 lines
1001 B
YAML
version: '3'
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.5
|
|
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
|
restart: always
|
|
volumes:
|
|
- db:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
|
env_file:
|
|
- db.env
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
restart: always
|
|
|
|
app:
|
|
image: nextcloud:fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
environment:
|
|
- MYSQL_HOST=db
|
|
- REDIS_HOST=redis
|
|
env_file:
|
|
- db.env
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
web:
|
|
build: ./web
|
|
restart: always
|
|
ports:
|
|
- 127.0.0.1:8080:80
|
|
volumes:
|
|
- nextcloud:/var/www/html:ro
|
|
depends_on:
|
|
- app
|
|
|
|
cron:
|
|
image: nextcloud:fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
entrypoint: /cron.sh
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
volumes:
|
|
db:
|
|
nextcloud:
|