Collection of ansible playbooks to set up my homelab
roles | ||
.editorconfig | ||
all.yml | ||
archivebox.yml | ||
authentik.yml | ||
backups.yml | ||
comfycamp.yml | ||
common.yml | ||
coturn.yml | ||
docker.yml | ||
forgejo.yml | ||
freshrss.yml | ||
haproxy.yml | ||
immich.yml | ||
inventory.ini | ||
jellyfin.yml | ||
mail.yml | ||
Makefile | ||
mastodon.yml | ||
minecraft.yml | ||
monitoring.yml | ||
nextcloud.yml | ||
ollama.yml | ||
peertube.yml | ||
phoenix.yml | ||
postgresql.yml | ||
prosody.yml | ||
README.md | ||
requirements.yml | ||
synapse.yml | ||
tls.yml | ||
tor.yml | ||
vaulted_vars.yml | ||
vaultwarden.yml | ||
wireguard.yml |
Home server configuration
This repository contains Ansible playbooks and roles used to configure comfycamp.space.
The roles in this repository are designed to be abstract and generic, while the playbooks provide specific parameters for my server environment.
Usage
You can run the desired playbook using the following command:
make playbook.yml
Servers
I'm using 2 virtual servers:
- Networking VM
This VM runs wireguard VPN, it allows me to access proxmox interface from anywhere.
- Webserver VM
This VM has encrypted storage and runs all other services except wireguard.
Services
Name | Description | Website |
---|---|---|
Authentik | SSO provider | goauthentik.io |
Forgejo | Git hosting | forgejo.org |
FreshRSS | RSS reader | www.freshrss.org |
Immich | Photo and video storage | immich.app |
Jellyfin | Media server | jellyfin.org |
Maddy | Email server | maddy.email |
Mastodon | Social network | joinmastodon.org |
Nextcloud | File storage, task manager | nextcloud.com |
Peertube | Video hosting | joinpeertube.org |
Prosody | XMPP server | prosody.im |
Synapse | Matrix server | element-hq.github.io |