Prerequisites
Before starting, ensure you have:- A Hetzner Cloud server (recommended: 4GB RAM, 2 CPU cores minimum)
- A domain name pointing to your server’s IP address
- SSH access to your server
- Basic familiarity with Linux command line
Configure Environment Variables
Create a secure environment configuration:Add the following content to the
.env file (replace the values with your own):Set Up Reverse Proxy with SSL
We’ll use Nginx as a reverse proxy with Let’s Encrypt SSL certificates:Add this Nginx configuration (replace
yourdomain.com with your actual domain):Test the Deployment
Verify your deployment is working:Now you can:
- Visit your application: Go to
https://yourdomain.comin your browser - Create your admin account: Click “Create your account” on the login page
- Set up your first family: Follow the onboarding process
Set Up Automated Backups
Create a backup script to protect your data:Add this backup script:Add this line to crontab:
Maintenance Commands
Here are the essential commands for maintaining your deployment:Update the application
View logs
Restart services
Check system resources
Restore from backup
Security Features
Your deployment includes several security measures:- Firewall: Only ports 22 (SSH), 80 (HTTP), and 443 (HTTPS) are open
- Fail2ban: Protects against brute force attacks on SSH
- SSL/TLS: Automatic HTTPS with Let’s Encrypt certificates
- Environment variables: Sensitive data stored securely in
.envfile - Non-root containers: Application runs as non-root user
- Regular updates: Keep your system and Docker images updated
Troubleshooting
Common Issues and Solutions
Application won't start
Application won't start
Database connection issues
Database connection issues
SSL certificate issues
SSL certificate issues
Out of disk space
Out of disk space
Application is slow
Application is slow
Performance Optimization
For better performance on Hetzner Cloud:- Use SSD storage: Hetzner Cloud provides NVMe SSD storage by default
- Choose appropriate server size:
- Minimum: CX21 (2 vCPU, 4GB RAM)
- Recommended: CX31 (2 vCPU, 8GB RAM) for multiple users
- Enable swap (if needed):
Backup Strategy
Your backup strategy includes:- Daily automated backups of database and application data
- 7-day retention of backup files
- Separate backup directory at
/opt/sure/backups - Logging of backup operations
Next Steps
After successful deployment:- Create your admin account at
https://yourdomain.com - Set up your first family in the application
- Configure bank connections (if using Plaid integration)
- Set up additional users as needed
- Monitor your deployment using the health check logs
Support
If you encounter issues:- Check the troubleshooting section above
- Review the application logs:
docker compose logs -f - Check system resources:
htopanddf -h - Open a discussion in our GitHub repository
Security Reminders
- Keep your server updated:
apt update && apt upgrade - Monitor your logs regularly:
/var/log/sure-backup.logand/var/log/sure-health.log - Use strong passwords for all accounts
- Consider setting up SSH key authentication instead of password authentication
- Regularly review your firewall rules:
ufw status - Monitor your SSL certificate expiration:
certbot certificates