{"repo":"lucko/infra","free":true,"listed":false,"github":"https://github.com/lucko/infra","clone":"git clone https://github.com/lucko/infra.git","description":"Config for the self-hosted infrastructure and services used by my open source projects","language":"HTML","stars":23,"topics":[],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"infra This repository contains most of the configuration files for the self-hosted infrastructure and services used by my open source projects. Background My aims are/were: minimise the time and effort required to maintain self-hosted services minimise the time I might have to spend to rebuild these systems if something bad happens minimise cost The current setup is quite simple: A single Linux (Debian) server configured using Ansible Applications run in Docker containers, managed with Docker Compose nginx-proxy container listens on :443, handles TLS termination, and proxies HTTP requests onto individial application containers Users connect via Cloudflare (caches and handles certificates), admins connect via a Tailscale VPN Build from scratch In the worst case (server dies), everything can be rebuilt relatively quickly with the following steps: 1. Provision a new Linux server (virtual machine) running Debian/Ubuntu 2. Clone this repository locally and run the ansible/site.yml Ansible playbook to setup the host machine The playbook will setup users, install some basic packages (including Docker), and configure automatic package security updates The playbook also installs and configures Tailscale, and configures ufw to only allow SSH access using the VPN 3. Clone this repository onto the host machine and start bringing up the Docker Compose projects in docker/ Start with nginx , then move onto other directories Some containers reference environment variables which need to be de","default_branch":null,"files":null,"tree":[],"storefront":"/r/lucko","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lucko/infra/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}