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
|
|
|
#!/bin/bash
|
2023-07-05 18:45:40 -07:00
|
|
|
# Provide any necessary project variables.
|
2023-07-23 14:51:48 -07:00
|
|
|
# Needs run in the current shell environment, such as:
|
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
|
|
|
# source /PATH_TO_PROJECT/source.env
|
2023-07-05 18:36:23 -07:00
|
|
|
|
2023-07-25 22:20:56 +00:00
|
|
|
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
2023-09-15 10:01:25 -07:00
|
|
|
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
2024-01-30 06:11:32 -07:00
|
|
|
|
|
|
|
# Get the absolute path.
|
|
|
|
CURR="`pwd`"
|
|
|
|
cd $DIR
|
|
|
|
DIR="`pwd`"
|
|
|
|
cd "$CURR"
|
2023-07-25 22:20:56 +00:00
|
|
|
|
2023-10-17 04:35:57 -07:00
|
|
|
## Variables ##
|
|
|
|
|
2023-07-25 22:20:56 +00:00
|
|
|
DOCKER_HOME="$DIR"
|
|
|
|
DOCKER_PATH="$DOCKER_HOME/bin"
|
|
|
|
PATH="$DOCKER_PATH:$PATH"
|
|
|
|
|
|
|
|
export DOCKER_HOME DOCKER_PATH PATH
|
2023-09-15 10:01:25 -07:00
|
|
|
|
2023-10-17 04:35:57 -07:00
|
|
|
## Aliases ##
|
|
|
|
|
|
|
|
alias manage="$DOCKER_HOME/bin/manage.sh"
|
|
|
|
|
2024-04-03 20:21:38 -07:00
|
|
|
alias Docker="cd $DOCKER_HOME"
|
|
|
|
alias Config="cd $DOCKER_HOME/Config"
|
|
|
|
alias Volumes="cd $DOCKER_HOME/Volumes"
|
|
|
|
|
2023-10-17 04:35:57 -07:00
|
|
|
## Validations ##
|
|
|
|
|
2023-09-15 10:01:25 -07:00
|
|
|
if [[ -e $DOCKER_HOME/$PROG ]]; then
|
|
|
|
echo "'$DOCKER_HOME/$PROG' has been loaded successfully."
|
|
|
|
else
|
|
|
|
echo "ERROR: Something has gone wrong, could not find '$PROG' from absolute "
|
|
|
|
echo "path, Docker Home '$DOCKER_HOME' is likely wrong."
|
|
|
|
exit 1
|
|
|
|
fi
|