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.
This commit is contained in:
@ -4,34 +4,48 @@
|
||||
|
||||
# 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/)
|
||||
|
||||
version: '2'
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
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_ROOT_PASSWORD=ChangeMe
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nc
|
||||
- MYSQL_PASSWORD=changeme
|
||||
- MYSQL_DATABASE=$MYSQL_DATABASE
|
||||
- MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
||||
- MYSQL_USER=$MYSQL_USER
|
||||
- MYSQL_PASSWORD=$MYSQL_PASSWORD
|
||||
|
||||
redis:
|
||||
container_name: nc-redis
|
||||
image: redis
|
||||
restart: always
|
||||
command: redis-server --requirepass $REDIS_HOST_PASSWORD
|
||||
|
||||
app:
|
||||
container_name: nc-app
|
||||
image: nextcloud
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:80
|
||||
links:
|
||||
- db
|
||||
- redis
|
||||
volumes:
|
||||
- ../../Volumes/Nextcloud/nextcloud:/var/www/html
|
||||
environment:
|
||||
- MYSQL_DATABASE=nextcloud
|
||||
- MYSQL_USER=nc
|
||||
- MYSQL_PASSWORD=changeme
|
||||
- MYSQL_HOST=db
|
||||
- PHP_UPLOAD_LIMIT=5G
|
||||
- MYSQL_HOST=$MYSQL_HOST
|
||||
- MYSQL_DATABASE=$MYSQL_DATABASE
|
||||
- MYSQL_USER=$MYSQL_USER
|
||||
- MYSQL_PASSWORD=$MYSQL_PASSWORD
|
||||
- PHP_UPLOAD_LIMIT=$PHP_UPLOAD_LIMIT
|
||||
- REDIS_HOST=$REDIS_HOST
|
||||
- REDIS_HOST_PASSWORD=$REDIS_HOST_PASSWORD
|
||||
#dns:
|
||||
# - $DNS
|
||||
|
29
Config/Nextcloud/env.example
Normal file
29
Config/Nextcloud/env.example
Normal file
@ -0,0 +1,29 @@
|
||||
# Example environment file for Nextcloud stack, should be copied as `.env`.
|
||||
|
||||
## Nextcloud ##
|
||||
|
||||
PHP_UPLOAD_LIMIT=5G
|
||||
|
||||
## MySQL ##
|
||||
|
||||
MYSQL_HOST=db
|
||||
MYSQL_DATABASE=nextcloud
|
||||
MYSQL_ROOT_PASSWORD=ChangeMe
|
||||
MYSQL_USER=nc
|
||||
MYSQL_PASSWORD=changeme
|
||||
|
||||
## REDIS ##
|
||||
|
||||
REDIS_HOST=redis
|
||||
REDIS_HOST_PASSWORD=someredispassword
|
||||
|
||||
## Other ##
|
||||
|
||||
# This has not helped, not sure why containers are not uing hosts's DNS, or why
|
||||
# the requests are failing. Needs further research/testing but works on Ubuntu
|
||||
# laptop, just not Debian VM. VM can use the DNS server properly though.
|
||||
### # If you have both Nextcloud and OnlyOffice on the same internal network you
|
||||
### # will likely want to set this to an internal DNS server. Some routers will
|
||||
### # drop traffic if an internal IP tries to communicate with the WAN IP, causing
|
||||
### # the curl to OnlyOffice's /healthcheck to fail. Do the same in both configs.
|
||||
### DNS=10.110.1.53
|
@ -2,30 +2,29 @@
|
||||
# 2022-09-25 Hyperling
|
||||
# Put fixes in a file so they do not need remembered.
|
||||
|
||||
docker exec -it nextcloud-app-1 apt update -y
|
||||
docker exec -it nextcloud-app-1 apt install -y sudo libmagickcore-6.q16-6-extra htop
|
||||
docker exec -it nc-app apt update -y
|
||||
docker exec -it nc-app apt install -y sudo libmagickcore-6.q16-6-extra htop iputils-ping dnsutils vim
|
||||
|
||||
# 2022-10-30 More additions after moving to Nextcloud version 25.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ db:add-missing-columns
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ db:add-missing-indices
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ db:add-missing-primary-keys
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ db:convert-filecache-bigint
|
||||
docker exec -it nextcloud-app-1 chown -Rc www-data:www-data .
|
||||
docker exec -itu www-data nc-app ./occ db:add-missing-columns
|
||||
docker exec -itu www-data nc-app ./occ db:add-missing-indices
|
||||
docker exec -itu www-data nc-app ./occ db:add-missing-primary-keys
|
||||
docker exec -itu www-data nc-app ./occ db:convert-filecache-bigint
|
||||
docker exec -it nc-app chown -Rc www-data:www-data .
|
||||
|
||||
# 2023-02-12 Just for good measure.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ app:update --all
|
||||
docker exec -itu www-data nc-app ./occ app:update --all
|
||||
|
||||
# 2023-07-02
|
||||
# 2023-07-02
|
||||
# This maybe used to exist, but make sure that Files app is correct.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ files:scan --all
|
||||
docker exec -itu www-data nc-app ./occ files:scan --all
|
||||
# This one takes a while.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ files:scan-app-data
|
||||
docker exec -itu www-data nc-app ./occ files:scan-app-data
|
||||
# Extras? Have used the commands in the past and may help in the future.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ maintenance:theme:update
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ maintenance:repair
|
||||
docker exec -itu www-data nc-app ./occ maintenance:theme:update
|
||||
docker exec -itu www-data nc-app ./occ maintenance:repair
|
||||
# May alsp be useful but do not have much experience with them.
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ versions:cleanup
|
||||
docker exec -itu www-data nextcloud-app-1 ./occ files:cleanup
|
||||
docker exec -itu www-data nc-app ./occ versions:cleanup
|
||||
docker exec -itu www-data nc-app ./occ files:cleanup
|
||||
|
||||
exit 0
|
||||
|
||||
|
Reference in New Issue
Block a user