27 lines
1.6 KiB
Markdown
27 lines
1.6 KiB
Markdown
# Ansible playbook for Opnxng deployment
|
|
|
|
An Ansible playbook to deploy Docker services to our servers and another to back up important data.
|
|
|
|
`ansible-playbook -i "production" "deploy.yaml"`
|
|
|
|
`ansible-playbook -i "production" "back-up.yaml"`
|
|
|
|
## Services
|
|
|
|
The services are hosted on one Vultr and four Oracle servers. A [variables file](vars/services.yaml) defines the services to be deployed or already deployed.
|
|
|
|
They are deployed with [Compose files](templates/compose) and load balanced according to the [Caddyfile](templates/conf/Caddyfile.j2).
|
|
|
|
## Configurations
|
|
|
|
Our caddy server blocks IP ranges that have been involved in mass spams. The [block range file](https://github.com/ProjectSegfault/ansible/blob/master/privfrontends/blocked-ranges.yaml) is created by [ProjectSegfault](https://projectsegfau.lt/). Thanks to their team.
|
|
|
|
Our SearXNG instance uses a custom [settings.yml](templates/conf/settings.yml.j2). It is updated by hand with reference to [Pussthecat.org's configuration](https://github.com/PussTheCat-org/PussTheCat.org-Configs/tree/master/Services/SearXNG). Thanks to [TheFrenchGhosty](https://github.com/PussTheCat-org).
|
|
|
|
Data of our Privatebin, Etherpad, and Gitea instances are backed up periodically.
|
|
|
|
Passwords and other sensitive data are kept locally as encrypted variables in [secrets.yaml](vars/secrets.example.yaml). We host an Authelia and Firefox stack that is restricted to specific users only. Their related files are also kept locally.
|
|
|
|
## Contact
|
|
Please contact us via [email](mailto:opnxng@tuta.io) if you discover any vulnerability or area for improvement in our infrastructure. We would truly appreciate it.
|