Chad
fc7a5dc57d
* Make the backup puller a full-fledged script after all. * Finish the main portion. * Remove version tag to avoid log errors on Docker 26.0, Compose 2.25.0. * Try moving to a smaller, faster, more stable image. * Move Nextcloud to the stable tag. * Add shortcut aliases. * Rename container website to www. * Do not install the latest of the PHP or Node programs if a version already exists in the container. * We need git!! * Try only git and the PHP interpretor. * Remove comments. * Install express at the image layer, not during runtime. * Let the app install express after all. * Remove warning about apt CLI. * Try to cache the express download/install. * Fix caching of Node packages.
106 lines
2.7 KiB
YAML
106 lines
2.7 KiB
YAML
# Nextcloud configuration.
|
|
# This is a revised version of the original work here:
|
|
# https://hub.docker.com/_/nextcloud
|
|
|
|
# Changelog:
|
|
# 2023-07-16
|
|
# Change from mariadb:10.5 to 10.6.
|
|
# 2023-08-20
|
|
# Add Redis. (https://markontech.com/docker/setup-nextcloud-with-redis-using-docker/)
|
|
# 2023-08-21
|
|
# Got NC to work with OO after specifying the Advanced parameters!
|
|
# 2023-08-26
|
|
# Try combining OnlyOffice to here again. It has been on its own since
|
|
# 2023-07-25 but isn't being used for anything else. OO is slow to respond
|
|
# and upgrades can no longer be done separately but this keeps it all easier
|
|
# to maintain and may allow the internal address to be based on container
|
|
# name instead of the docker hosts's IP.
|
|
|
|
services:
|
|
|
|
## MariaDB ##
|
|
nc-db:
|
|
container_name: nc-db
|
|
image: mariadb:10.6
|
|
restart: always
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
volumes:
|
|
- ../../Volumes/Nextcloud/mariadb:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_DATABASE=$MYSQL_DATABASE
|
|
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
|
- MYSQL_USER=$MYSQL_USER
|
|
- MYSQL_PASSWORD=$MYSQL_PASSWORD
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
cpus: '0.50'
|
|
memory: 1G
|
|
reservations:
|
|
cpus: '0.25'
|
|
memory: 256M
|
|
|
|
## Redis ##
|
|
nc-redis:
|
|
container_name: nc-redis
|
|
image: redis
|
|
restart: always
|
|
command: redis-server --requirepass $REDIS_HOST_PASSWORD
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
cpus: '0.25'
|
|
memory: 128M
|
|
|
|
## OnlyOffice ##
|
|
nc-oo:
|
|
container_name: nc-oo
|
|
image: onlyoffice/documentserver
|
|
restart: always
|
|
ports:
|
|
- 8081:80
|
|
environment:
|
|
- JWT_SECRET=$JWT_SECRET
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
cpus: '0.75'
|
|
memory: 1G
|
|
|
|
## Nextcloud ##
|
|
nc-app:
|
|
container_name: nc-app
|
|
image: nextcloud:stable
|
|
restart: always
|
|
ports:
|
|
- 8080:80
|
|
links:
|
|
- nc-db
|
|
- nc-redis
|
|
- nc-oo
|
|
volumes:
|
|
- ../../Volumes/Nextcloud/nextcloud:/var/www/html
|
|
environment:
|
|
- NEXTCLOUD_ADMIN_USER=$NEXTCLOUD_ADMIN_USER
|
|
- NEXTCLOUD_ADMIN_PASSWORD=$NEXTCLOUD_ADMIN_PASSWORD
|
|
- PHP_MEMORY_LIMIT=$PHP_MEMORY_LIMIT
|
|
- PHP_UPLOAD_LIMIT=$PHP_UPLOAD_LIMIT
|
|
- MYSQL_HOST=$MYSQL_HOST
|
|
- MYSQL_DATABASE=$MYSQL_DATABASE
|
|
- MYSQL_USER=$MYSQL_USER
|
|
- MYSQL_PASSWORD=$MYSQL_PASSWORD
|
|
- REDIS_HOST=$REDIS_HOST
|
|
- REDIS_HOST_PASSWORD=$REDIS_HOST_PASSWORD
|
|
deploy:
|
|
mode: global
|
|
resources:
|
|
limits:
|
|
cpus: '2.00'
|
|
# No memory limit.
|
|
reservations:
|
|
cpus: '0.50'
|
|
memory: 512M
|