esmero / archipelago-deployment-live

A Cloud / Local production ready Archipelago Deployment using Docker / Kubernetes
GNU General Public License v3.0
3 stars 13 forks source link

Issue 112: NGINX bot blocker #113

Closed aksm closed 12 months ago

aksm commented 1 year ago

Resolves #112.

Steps for basic deployment (to be documented more thoroughly):

  1. Uncomment variables starting MSMTP_ and NGXBLOCKER_ (start with both disabled, but fill in other appropriate variables.
  2. docker-compose down && docker-compose pull && docker compose up -d.
  3. Run install and setup scripts:
    1. docker exec -ti esmero-web bash -c "/usr/local/sbin/install-ngxblocker"
    2. Check output to make sure changes look ok.
    3. docker exec -ti esmero-web bash -c "/usr/local/sbin/install-ngxblocker -x"
    4. docker exec -ti esmero-web bash -c "/usr/local/sbin/setup-ngxblocker -v /etc/nginx/templates -e .copy"
    5. Check output to make sure changes look ok.
    6. docker exec -ti esmero-web bash -c "/usr/local/sbin/setup-ngxblocker -v /etc/nginx/templates -e .copy -x"
    7. Enable variables (if MSMTP_EMAIL is blank, email sending will be skipped):
      NGXBLOCKER_CRON_START=true
      NGXBLOCKER_ENABLE=true
    8. docker compose down && docker compose up -d
    9. docker exec -ti esmero-web bash -c "/docker-entrypoint.d/20-envsubst-on-templates.sh"
    10. docker exec -ti esmero-web bash -c "nginx -t"
    11. If output from above is:
      nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
      nginx: configuration file /etc/nginx/nginx.conf test is successful

      Run the following: docker exec -ti esmero-web bash -c "nginx -s reload"

      1. See Testing section ("Step 10") here: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker