First Deployment
Prerequisites
Section titled “Prerequisites”- Auberge installed (
cargo install auberge) - A VPS with root access and an SSH key
Step 1: Add your VPS
Section titled “Step 1: Add your VPS”auberge host add my-vps 203.0.113.10Step 2: Generate SSH key (optional)
Section titled “Step 2: Generate SSH key (optional)”auberge ssh keygen --host my-vpsKey is written to ~/.ssh/identities/my-vps/root.
Step 3: Initialize config
Section titled “Step 3: Initialize config”auberge config init --output "$(auberge config path)"auberge config set admin_user_name yournameauberge config set admin_user_email you@example.comauberge config set ssh_port 22022Step 4: Bootstrap VPS
Section titled “Step 4: Bootstrap VPS”auberge ansible bootstrap my-vps --ip 203.0.113.10Bootstrap names the server after your hosts.toml entry (my-vps), creates an admin user, disables root SSH login, and changes the SSH port.
Step 5: Configure remaining keys
Section titled “Step 5: Configure remaining keys”auberge config set domain example.comauberge config set cloudflare_dns_api_token your-tokenauberge config set baikal_admin_password your-passwordauberge config set gokapi_admin_user adminauberge config set gokapi_admin_password your-passwordStep 6: Deploy full stack
Section titled “Step 6: Deploy full stack”auberge deploy --all --host my-vpsRuns hardening, infrastructure (Caddy, DNS), and all applications. Bootstrap is excluded — it was run in Step 4.
Step 7: Verify DNS records
Section titled “Step 7: Verify DNS records”auberge dns statusTo manually re-sync records: auberge dns set-all --host my-vps
Step 8: Verify services
Section titled “Step 8: Verify services”ssh user@my-vps 'systemctl status caddy php*-fpm freshrss'Step 9: Create first backup
Section titled “Step 9: Create first backup”auberge backup create --host my-vpsTroubleshooting
Section titled “Troubleshooting”| Symptom | Fix |
|---|---|
| SSH refused after bootstrap | Allow custom port in VPS provider firewall |
| Services not starting | ssh user@my-vps 'journalctl -u php*-fpm -n 50' |
| DNS records missing | Verify token has Zone:DNS:Edit and Zone:Zone:Read |