{"repo":"notclickable-jordan/rainhold","free":true,"listed":false,"github":"https://github.com/notclickable-jordan/rainhold","clone":"git clone https://github.com/notclickable-jordan/rainhold.git","description":"Seattle self-hosted server configuration","language":"Jinja","stars":36,"topics":[],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"Overview Complete guide to set up a secure, automated server environment. - Virtualize multiple servers through Proxmox - Automatic server setup using Ansible - Manage users using OAuth with LDAP and passkey logins - Host public sites through Cloudflare - Serve private sites through custom DNS via Tailscale and NextDNS Guide Follow these steps to set up your server environment. 1. Set variables like your server name, first username, and application secrets 1. Install a Proxmox hypervisor and configure it for Tailscale and SSL 1. Create a Linux VM in Proxmox and configure it for Ansible 1. Use Ansible to configure the Linux VM and its Docker containers 1. Set up Cloudflare tunnels and DNS for public sites 1. Shield private sites with Tailscale and NextDNS Further documentation - Pocket ID provides automatic login to sites using OAuth and LLDAP - Network share instructions for backups and file sharing - Gitea needs a runner registration token - Caddy uses a custom image for Cloudflare DNS - Ports lists all ports numbers used in this setup Services used - Ansible - Caddy Cloudflare DNS - Calibre - Cloudflare - Debian - Docker - Dozzle - Gitea - Grafana - Jellyfin - Lemmy - LLDAP - Loki - Mastodon - FreshRSS - NextDNS - Pocket ID - Prometheus - Proxmox - Starbase 80 - Tailscale - Tinyauth","default_branch":null,"files":null,"tree":[],"storefront":"/r/notclickable-jordan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/notclickable-jordan/rainhold/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."}