amnezia-client
amnezia-client copied to clipboard
Enhance Amnezia server setup: Docker Compose for better devops support
Describe the bug Hey there! So, the current Amnezia server setup is great for newbies, but it's a real headache for power users and DevOps folks. It's a pain to backup, move to another VPS, or set up manually. This makes it tough to use cool stuff like Infrastructure as Code (IaC) and other DevOps tricks.
Current Behavior
- Service container's are configured via runtime Docker exec commands (configure_container.sh)
- The container doesn't save its state in the image or volumes
- Backing up and porting is messy and complex
- Manual setup almost impossible
Expected behavior Docker Compose architecture that:
- Allows easy backup and restoration of the entire VPN setup
- Lets you easily move between different VPS providers
- Enables manual setup and customization for advanced users
Proposed Solution Transition to a Docker Compose based architecture:
- Define services, networks, and volumes in a docker compose
- Store configuration (state) in volumes
- Use environment variables for settings
Benefits
- Backing up and restoring becomes way easier
- Simplification of current setup scripts
- Replaces current iptables approach to more simple docker compose networking
- Better support for DevOps/IaC approach
- Power users got more flexibility (e.g. custom domains)
Additional context I'd be glad to help out with this if you want! 😎
Server (please complete the following information):
- OS: Various (e.g., Ubuntu 22.04, Debian 11, etc.)
Desktop (please complete the following information):
- OS: Not applicable (server-side issue)
- Version: Current Amnezia server version
Smartphone (please complete the following information):
- Not applicable