mirror of
https://github.com/nextcloud/docker.git
synced 2025-02-03 01:58:27 +01:00
d1d0d89ba7
* 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>
105 lines
2.1 KiB
YAML
105 lines
2.1 KiB
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:apache
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
environment:
|
|
- VIRTUAL_HOST=
|
|
- LETSENCRYPT_HOST=
|
|
- LETSENCRYPT_EMAIL=
|
|
- MYSQL_HOST=db
|
|
- REDIS_HOST=redis
|
|
env_file:
|
|
- db.env
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
networks:
|
|
- proxy-tier
|
|
- default
|
|
|
|
cron:
|
|
image: nextcloud:apache
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
entrypoint: /cron.sh
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
proxy:
|
|
build: ./proxy
|
|
restart: always
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
labels:
|
|
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
|
volumes:
|
|
- certs:/etc/nginx/certs:ro
|
|
- vhost.d:/etc/nginx/vhost.d
|
|
- html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
networks:
|
|
- proxy-tier
|
|
|
|
letsencrypt-companion:
|
|
image: nginxproxy/acme-companion
|
|
restart: always
|
|
volumes:
|
|
- certs:/etc/nginx/certs
|
|
- acme:/etc/acme.sh
|
|
- vhost.d:/etc/nginx/vhost.d
|
|
- html:/usr/share/nginx/html
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
networks:
|
|
- proxy-tier
|
|
depends_on:
|
|
- proxy
|
|
|
|
# self signed
|
|
# omgwtfssl:
|
|
# image: paulczar/omgwtfssl
|
|
# restart: "no"
|
|
# volumes:
|
|
# - certs:/certs
|
|
# environment:
|
|
# - SSL_SUBJECT=servhostname.local
|
|
# - CA_SUBJECT=my@example.com
|
|
# - SSL_KEY=/certs/servhostname.local.key
|
|
# - SSL_CSR=/certs/servhostname.local.csr
|
|
# - SSL_CERT=/certs/servhostname.local.crt
|
|
# networks:
|
|
# - proxy-tier
|
|
|
|
volumes:
|
|
db:
|
|
nextcloud:
|
|
certs:
|
|
acme:
|
|
vhost.d:
|
|
html:
|
|
|
|
networks:
|
|
proxy-tier:
|