2022-08-06 07:52:11 -05:00
|
|
|
# Nextcloud configuration.
|
2023-07-23 14:51:48 -07:00
|
|
|
# This is a revised version of the original work here:
|
2022-08-06 07:52:11 -05:00
|
|
|
# https://hub.docker.com/_/nextcloud
|
|
|
|
|
2023-07-21 22:23:46 -07:00
|
|
|
# Changelog:
|
2023-09-01 05:50:29 -07:00
|
|
|
# 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.
|
2024-01-24 11:05:44 +00:00
|
|
|
# 2024-01-23
|
|
|
|
# Experimenting with how small a Nextcloud installation can survive.
|
2023-07-21 22:23:46 -07:00
|
|
|
|
2022-08-06 07:52:11 -05:00
|
|
|
services:
|
2023-09-01 05:50:29 -07:00
|
|
|
|
|
|
|
## MariaDB ##
|
|
|
|
nc-db:
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
container_name: nc-db
|
2023-07-21 22:23:46 -07:00
|
|
|
image: mariadb:10.6
|
2022-08-06 07:52:11 -05:00
|
|
|
restart: always
|
2024-01-30 06:11:32 -07:00
|
|
|
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
2022-08-06 07:52:11 -05:00
|
|
|
volumes:
|
2023-07-23 14:51:48 -07:00
|
|
|
- ../../Volumes/Nextcloud/mariadb:/var/lib/mysql
|
2022-08-06 07:52:11 -05:00
|
|
|
environment:
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
- MYSQL_DATABASE=$MYSQL_DATABASE
|
|
|
|
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
|
|
|
- MYSQL_USER=$MYSQL_USER
|
|
|
|
- MYSQL_PASSWORD=$MYSQL_PASSWORD
|
2023-09-01 05:50:29 -07:00
|
|
|
deploy:
|
|
|
|
mode: global
|
|
|
|
resources:
|
|
|
|
limits:
|
2024-01-24 11:05:44 +00:00
|
|
|
cpus: '0.20'
|
2024-01-30 06:11:32 -07:00
|
|
|
memory: 256M
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
|
2023-09-01 05:50:29 -07:00
|
|
|
## Redis ##
|
|
|
|
nc-redis:
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
container_name: nc-redis
|
|
|
|
image: redis
|
|
|
|
restart: always
|
|
|
|
command: redis-server --requirepass $REDIS_HOST_PASSWORD
|
2023-09-01 05:50:29 -07:00
|
|
|
deploy:
|
|
|
|
mode: global
|
|
|
|
resources:
|
|
|
|
limits:
|
2024-01-24 11:05:44 +00:00
|
|
|
cpus: '0.10'
|
|
|
|
memory: 32M
|
2022-08-06 07:52:11 -05:00
|
|
|
|
2024-01-24 11:05:44 +00:00
|
|
|
### 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
|
2023-09-01 05:50:29 -07:00
|
|
|
|
|
|
|
## Nextcloud ##
|
|
|
|
nc-app:
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
container_name: nc-app
|
2024-04-03 20:21:38 -07:00
|
|
|
image: nextcloud:stable
|
2022-08-06 07:52:11 -05:00
|
|
|
restart: always
|
|
|
|
ports:
|
|
|
|
- 8080:80
|
|
|
|
links:
|
2023-09-01 05:50:29 -07:00
|
|
|
- nc-db
|
|
|
|
- nc-redis
|
2024-01-24 11:05:44 +00:00
|
|
|
## - nc-oo
|
2022-08-06 07:52:11 -05:00
|
|
|
volumes:
|
2023-07-23 14:51:48 -07:00
|
|
|
- ../../Volumes/Nextcloud/nextcloud:/var/www/html
|
2022-08-06 07:52:11 -05:00
|
|
|
environment:
|
2023-09-01 05:50:29 -07:00
|
|
|
- NEXTCLOUD_ADMIN_USER=$NEXTCLOUD_ADMIN_USER
|
|
|
|
- NEXTCLOUD_ADMIN_PASSWORD=$NEXTCLOUD_ADMIN_PASSWORD
|
|
|
|
- PHP_MEMORY_LIMIT=$PHP_MEMORY_LIMIT
|
|
|
|
- PHP_UPLOAD_LIMIT=$PHP_UPLOAD_LIMIT
|
Add DNS Server, Many Other Fixes/Enhancements (#12)
* Add 443 just in case since docker ps is showing it as active.
* Add two new projects.
* Add pre-testing content for DNS.
* Initial untested stab at the GitLab config.
* This project uses build, image name is not needed.
* Cleanup, untested guess at how to handle the variables in the pipe section.
* Filled out all files for DNS. Ready for testing.
* This seems to work, Ubuntu is hoarding port 53 though even though local services are shut off.
* `dnsmasq` container is testing successfully now.
* Don't allow a run unless the config files exist.
* Correct the crontab entry so that $RANDOM works correctly.
* Certs were not being saved by LetsEncrypt for Nginx correctly. Should be working now.
* Do not allow disabled folders into Git.
* Do not allow disabled folders into Git, 2.
* Do not allow disabled folders into Git, 3.
* Do not allow disabled folders into Git, 4.
* Do not allow disabled folders into Git, 5.
* Do not allow disabled folders into Git, 6.
* Don't add logs from anywhere.
* Add ping and dig to Nextcloud container for troubleshooting.
* Fix tabs.
* Make unfinished suffix consistent.
* Clean whitespace.
* Multiple names for a single IP address.
* Add 2nd example domain from hosts file.
* Add caching program Redis for Nextcloud.
* Add REDIS_HOST variable for automatic setup through config/redis.config.php.
* Upgrade to compose version 3.
* Move OnlyOffice to Nextcloud area.
* Change container name.
* Add container_name to all compose services.
* Shorten names for Nextcloud services.
* Comment possible OO fixes while trying to get container to use DNS.
* Remove OnlyOffice setting tests.
* Do not commit .env files, only their examples.
* Move OnlyOffice to be its own configuration again. Add sourcing of DNS settings so that local traffic routes correctly.
* Fix source file, BASH_SROUCE did not work without the shebang. Also fix bug for when it sees `..` and assumes current directory.
* dns.env file did not work out, env_file: element not being read before dns: element. Using folder-specific .env files instead, seems to be loaded before dns: element. Also move other values to the env files for better password privacy.
* Keep commands for cleaning up environment in one file.
* Update examples.
* Fix cd moving the user to the file's directory.
* Add note for user to set up the env file.
* Replace README files by unhiding the example files.
* Still need to specify the variables in the environment: element.
* Add header variable.
* Place host above database.
* Fix "JWS" typo.
* Do not use the HEADER parameter.
* Add vim to fix packages.
* Forget about the manual DNS servers for a minute, ensure host is set up properly first. Ubuntu is happy but Debian is not.
* Try using the host network explicitly.
* Temporarily give up on having Nextcloud server see local OnlyOffice server. Works when they are different machines but need them together.
2023-08-21 22:07:46 +00:00
|
|
|
- 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
|
2023-09-01 05:50:29 -07:00
|
|
|
deploy:
|
|
|
|
mode: global
|
|
|
|
resources:
|
|
|
|
limits:
|
2024-01-30 06:11:32 -07:00
|
|
|
cpus: '0.40'
|
|
|
|
memory: 640M
|