auberge 0.1.1

CLI tool for managing self-hosted infrastructure with Ansible
auberge-0.1.1 is not a library.

Auberge

Selfware for managing my self-hosted FOSS stack, built around Ansible automation. No Docker bloat, runs lean on a 1€/month 1GB VPS (IONOS Linux VPS XS).

Installation

cargo install auberge

Quick Start

Add your VPS as a host:

auberge host add my-vps 194.164.53.11
# Prompts for SSH user and port (defaults to current user, port 22)

Deploy the full stack:

auberge ansible run
# 1. Select your VPS host
# 2. Select "auberge" playbook for the complete stack
# 3. Sit back while it configures everything

Available commands:

# Host management
auberge host add <name> <ip>   # Add a VPS host
auberge host list              # List all hosts
auberge host remove <name>     # Remove a host

# Deployment
auberge ansible run            # Interactive playbook execution
auberge ansible bootstrap      # Initial VPS setup (first time only)
auberge ansible check          # Dry-run to preview changes

# Other
auberge dns <subcommand>       # DNS management via Cloudflare
auberge ssh keygen             # Generate SSH keys for hosts

Stack

Infrastructure

Name Description
Caddy Reverse proxy with automatic HTTPS
fail2ban Intrusion prevention system
UFW Uncomplicated firewall

Apps

Category Name Description
Ad-blocker Blocky DNS server with ad/tracking blocking
VPN WireGuard Fast, modern VPN
VPN Tailscale Mesh VPN for secure remote access
Calendar Radicale Lightweight CalDAV/CardDAV server
File sharing WebDAV File sharing and synchronization
Books Calibre Ebook library management
Music Navidrome Music streaming server
News FreshRSS RSS feed aggregator
URL shortener YOURLS URL shortener

Develop

See develop.md for local development setup.

Playbooks

Playbooks are organized in layers:

Playbook Description
bootstrap Initial VPS setup - creates users and secures SSH
hardening Security hardening - firewall, intrusion prevention, kernel
infrastructure Core infrastructure - package management, shell, reverse proxy
apps Self-hosted applications layer
auberge Master playbook - runs all layers (bootstrap → apps)

Run individual layers with tags:

auberge ansible run --tags hardening  # Security layer only
auberge ansible run --tags caddy      # Just the reverse proxy