Chad
1ef1903f6b
* Fix program for html websites, need to handle errors for non-local sites though. * Add message that the main program is starting since node-modules does not show anything. * Go ahead and give DB a bump. * Fix warning in DB log and NC not having enough power sometimes. * Fix errors in DB log. * This command uses the root account, not nextcloud. * Add example CRON file. * Specify that the host network should be used. * Specify that the host network should be used. * Recommend daily reset of the photos library. * Add another package the container is missing. * Add a backup script for the project directory. * Fix a typo. * Improve example file and add the backup job. * Add an example of pulling the backup file. * Give the zip a temporary filename while being built. * Always get the full path, relative path does not work well when not in `.`. * Remove extra newline. * Prevent doing large uploads on a micro Nextcloud instance. * Change how bz2 gets installed. * More trying to fix the annoying bz2 warning. * Remove "bad" package. * Use a temporary filename during transfer. * Bump CPUs up just a bit more for Nextcloud to avoid sync errors. * Be more explicit with instructions.
Initial Setup Instructions
How to first begin using this subproject.
- Move to the directory of this README.
$ cd $DOCKER_HOME/Config/ReverseProxy
- Add configuration files to
./config/conf.d/
which are named based on the domains and subdomains they point to. - Run the placeholder certificate program.
# ./create_placeholder_certs.sh
- Make any personal changes to
./config/nginx.conf
. - Build the project.
# docker compose build
- Start the project.
# docker compose up -d
- Verify it started correctly, no configuration file errors.
# docker logs reverseproxy-app-1 # docker logs reverseproxy-certbot-1
- Create the real certificates.
# ./create_letsencrypt_certs.sh
- Add a job to crontab for keeping the certs valid.
# crontab -e X Y * * * docker exec reverseproxy-certbot-1 certbot renew
DO NOT
- Edit any configurations or website data inside the container. It is destroyed on each build.
- Instead, modify the files in
./config/
then use the Update Config commands below.
- Instead, modify the files in
- Install any additional software inside of the container. It will not persist a down and up.
- Instead, add what is needed to the
docker-compose.yml
orDockerfile
to be done on each rebuild. - Alternatively write a script such as
../Nextcloud/fixes.ksh
which is run after every upgrade.
- Instead, add what is needed to the
Other Commands
Tasks which will also likely come up while using this subproject.
Stop
If the proxy needs turned off either stop or down may be used.
# docker compose stop
# docker compose down
Upgrade
Upgrading the containers should be as easy as this:
# docker compose down
# docker compose pull
# docker compose build
# docker compose up -d
Update Config
Replace the configuration based on any new, updated, or removed files. This may be possible to do when the system is up, but the best results have come from going down and back up. This is essentially an upgrade but there is no pull.
# docker compose down
# docker compose build
# docker compose up -d
If wanted as a one-line command:
# docker compose down && docker compose build && docker compose up -d
Add New Config
- Modify your
./config/hosts/domain
file and add the resource. - Create the
./config/conf.d/fqdn
file as needed, using the resource. - (Optional) If the system needs a cert added, run the placeholder script.
- Restart the project based on Update Config above.
- (Optional) Now you may run the letsencrypt script for a real certificate.
- (Optional) Run another Update Config to make sure the certs are loaded.
- Done! If set up correctly the site should be live.