bunkerweb/examples/nextcloud/docker-compose.yml

87 lines
3 KiB
YAML
Raw Normal View History

version: "3"
2020-10-25 17:30:34 +00:00
services:
2022-06-03 15:24:14 +00:00
mybunker:
2022-08-24 13:14:26 +00:00
image: bunkerity/bunkerweb:1.4.3
2020-10-25 17:30:34 +00:00
ports:
2020-10-26 21:46:15 +00:00
- 80:8080
- 443:8443
2022-06-03 15:24:14 +00:00
# ⚠️ read this if you use local folders for volumes ⚠️
# bunkerweb runs as an unprivileged user with UID/GID 101
# don't forget to edit the permissions of the files and folders accordingly
2022-06-03 15:24:14 +00:00
# example if you need to create a directory : mkdir folder && chown root:101 folder && chmod 770 folder
# another example for existing folder : chown -R root:101 folder && chmod -R 770 folder
# more info at https://docs.bunkerweb.io
2020-10-25 17:30:34 +00:00
volumes:
- bw_data:/data
2020-10-25 17:30:34 +00:00
environment:
2022-06-03 15:24:14 +00:00
- SERVER_NAME=www.example.com # replace with your domain
2020-10-25 17:30:34 +00:00
- AUTO_LETS_ENCRYPT=yes
- DISABLE_DEFAULT_SERVER=yes
- MAX_CLIENT_SIZE=10G
2020-11-13 16:57:39 +00:00
- USE_CLIENT_CACHE=yes
2022-06-03 15:24:14 +00:00
- SERVE_FILES=no
2021-04-26 15:00:23 +00:00
- ALLOWED_METHODS=GET|POST|HEAD|COPY|DELETE|LOCK|MKCOL|MOVE|PROPFIND|PROPPATCH|PUT|UNLOCK|OPTIONS
2020-11-06 21:24:34 +00:00
- X_FRAME_OPTIONS=SAMEORIGIN
- USE_GZIP=yes
- BAD_BEHAVIOR_STATUS_CODES=400 401 403 405 444
2022-06-03 15:24:14 +00:00
- USE_REVERSE_PROXY=yes
- REVERSE_PROXY_URL=/
- REVERSE_PROXY_HOST=http://mync
- LIMIT_REQ_URL_1=/apps
- LIMIT_REQ_RATE_1=5r/s
- LIMIT_REQ_URL_2=/apps/text/session/sync
- LIMIT_REQ_RATE_2=8r/s
- LIMIT_REQ_URL_3=/core/preview
- LIMIT_REQ_RATE_3=5r/s
- |
CUSTOM_CONF_MODSEC_CRS_nextcloud=
SecAction \
"id:900130,\
phase:1,\
nolog,\
pass,\
t:none,\
setvar:tx.crs_exclusions_nextcloud=1"
# WebDAV
SecAction \
"id:900200,\
phase:1,\
nolog,\
pass,\
t:none,\
setvar:'tx.allowed_methods=GET POST HEAD COPY DELETE LOCK MKCOL MOVE PROPFIND PROPPATCH PUT UNLOCK OPTIONS'"
- |
CUSTOM_CONF_MODSEC_nextcloud=
SecRule REQUEST_FILENAME "@rx ^/remote.php/dav/files/" "id:1000,ctl:ruleRemoveByTag=attack-protocol,ctl:ruleRemoveByTag=attack-generic,nolog"
2020-10-25 17:30:34 +00:00
mync:
2022-08-25 07:12:13 +00:00
image: nextcloud:24-apache
2020-10-25 17:30:34 +00:00
volumes:
- ./nc-files:/var/www/html
environment:
- MYSQL_HOST=mydb
- MYSQL_DATABASE=nc
- MYSQL_USER=user
- MYSQL_PASSWORD=db-user-pwd # replace with a stronger password (must match MYSQL_PASSWORD)
- NEXTCLOUD_ADMIN_USER=admin # replace with the admin username
- NEXTCLOUD_ADMIN_PASSWORD=changeme # replace with a stronger password
2022-06-03 15:24:14 +00:00
- NEXTCLOUD_TRUSTED_DOMAINS=www.example.com # replace with your domain(s)
- TRUSTED_PROXIES=192.168.0.0/16 172.16.0.0/12 10.0.0.0/8
- APACHE_DISABLE_REWRITE_IP=1
2020-10-25 17:30:34 +00:00
mydb:
2022-08-25 07:12:13 +00:00
image: mariadb:10.9
2020-10-25 17:30:34 +00:00
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- ./db-data:/var/lib/mysql
environment:
2022-06-03 15:24:14 +00:00
- MYSQL_ROOT_PASSWORD=db-root-pwd # replace with a stronger password
2020-10-25 17:30:34 +00:00
- MYSQL_DATABASE=nc
- MYSQL_USER=user
- MYSQL_PASSWORD=db-user-pwd # replace with a stronger password (must match MYSQL_PASSWORD)
volumes:
bw_data: