Chad cf0d028a58
Nextcloud Purge Script, Hyperling.com Static Media Volume, Memory Tweaks (#19)
* Fix memory; was accidentally done in `docker-compose.yml`.

* Fix bad path.

* Prevent DB from crashing during `fixes.sh`.

* Bump the DB up a little more.

* Add photos directory.

* Log files as they copy.

* Increase certbot by a little, was maxing near 15MB after an image update.

* Add a HUGE space saver to the cleanup crew.

* Add the beginnings of a purge script. Helps try to bring down the DB size.

* Enhance output.

* Further enhance output.

* Fix loading of ENV.

* Enhance output. Purge file previews.

* Fix extra newline.

* Add sourcing of main ENV, use RM instead of MV to reduce steps.

* Fix rm command.

* Ensure maintenance mode is off when starting.

* Add volume rather than duplicating all media.

* Ignore media.

* Check space before as well.
2024-01-25 02:49:00 +00:00
..
2023-10-17 04:35:57 -07:00

Initial Setup Instructions

How to first begin using this subproject.

  1. Move to the directory of this README.
    $ cd $DOCKER_HOME/Config/ReverseProxy
    
  2. Add configuration files to ./config/conf.d/ which are named based on the domains and subdomains they point to.
  3. Run the placeholder certificate program.
    # ./create_placeholder_certs.sh
    
  4. Make any personal changes to ./config/nginx.conf.
  5. Build the project.
    # docker compose build
    
  6. Start the project.
    # docker compose up -d
    
  7. Verify it started correctly, no configuration file errors.
    # docker logs reverseproxy-app-1
    # docker logs reverseproxy-certbot-1
    
  8. Create the real certificates.
    # ./create_letsencrypt_certs.sh
    
  9. 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.
  • 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 or Dockerfile to be done on each rebuild.
    • Alternatively write a script such as ../Nextcloud/fixes.ksh which is run after every upgrade.

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

  1. Modify your ./config/hosts/domain file and add the resource.
  2. Create the ./config/conf.d/fqdn file as needed, using the resource.
  3. (Optional) If the system needs a cert added, run the placeholder script.
  4. Restart the project based on Update Config above.
  5. (Optional) Now you may run the letsencrypt script for a real certificate.
  6. (Optional) Run another Update Config to make sure the certs are loaded.
  7. Done! If set up correctly the site should be live.