Ansible-based deployment for OpenReception with Docker Compose and Caddy reverse proxy.
- Ansible - Automation tool for deployment
- Python with
uvpackage manager - Python dependency management - Remote server - RHEL-based Linux (Rocky Linux, AlmaLinux, CentOS Stream)
git clone <repo-url>
cd open-reception-setup# Install Python dependencies
uv sync
# Install Ansible roles and collections
uv run ansible-galaxy install -r requirements.ymlEdit the following files to customize for your environment:
- Admin SSH keys: Add/remove your team's public keys in
user_setup_admins - SMTP settings: Configure email settings for the application
Generate secure values for secrets:
# Generate a 64-character password
pwgen 64 1
# Generate a 22-character salt
pwgen 22 1Then encrypt the vault file:
uv run ansible-vault encrypt group_vars/all/vault.ymlAdd your app services as needed.
Update the reverse proxy target to match your app's container and port.
Add your application's environment variables.
Edit hosts.yml to add your target servers:
---
app:
hosts:
your-server.example.com:# Deploy the application
uv run ansible-playbook deploy-app.yml# Update images and restart
uv run ansible-playbook deploy-app.yml# Edit vault file
uv run ansible-vault edit group_vars/all/vault.yml
# Re-encrypt vault
uv run ansible-vault rekey group_vars/all/vault.yml