Simplify and Optimize Self-Hosted VPN Installation Script #1541

Open
opened 2025-11-20 05:32:31 -05:00 by saavagebueno · 0 comments
Owner

Originally created by @masterbpro on GitHub (Jan 3, 2025).

Is your feature request related to a problem? Please describe.
The installation script for the self-hosted VPN is overly complex and challenging to integrate effectively. Key issues observed include:

  1. Overly intricate logic and redundant code, making maintenance and customization difficult.
  2. The Caddy server occupies default ports 80/443, potentially causing conflicts with other services.
  3. Integration with Zitadel is cumbersome and error-prone, requiring manual interventions and additional configurations.

Describe the solution you'd like

  1. Refactor the script to remove redundant code and simplify logic, ensuring maintainability and ease of use.
  2. Allow customization of Caddy's default ports to avoid conflicts with existing services.
  3. Provide a streamlined and automated integration process with Zitadel to minimize user effort and potential errors.

Describe alternatives you've considered

  • Manually adjusting the script and configurations for our use case.
  • Exploring alternative tools or approaches for self-hosted VPN deployment.
  • Using custom scripts to bypass integration challenges, which increases complexity.

Additional context
Notable issues within the code:

  • Functions such as initEnvironment and init_crdb are bloated with unnecessary steps.
  • Port handling for Caddy is rigid, causing conflicts in multi-service environments.
  • Integration logic for Zitadel (e.g., init_zitadel, create_new_application) is verbose and prone to errors.
Originally created by @masterbpro on GitHub (Jan 3, 2025). **Is your feature request related to a problem? Please describe.** The installation script for the self-hosted VPN is overly complex and challenging to integrate effectively. Key issues observed include: 1. Overly intricate logic and redundant code, making maintenance and customization difficult. 2. The Caddy server occupies default ports 80/443, potentially causing conflicts with other services. 3. Integration with Zitadel is cumbersome and error-prone, requiring manual interventions and additional configurations. --- **Describe the solution you'd like** 1. Refactor the script to remove redundant code and simplify logic, ensuring maintainability and ease of use. 2. Allow customization of Caddy's default ports to avoid conflicts with existing services. 3. Provide a streamlined and automated integration process with Zitadel to minimize user effort and potential errors. --- **Describe alternatives you've considered** - Manually adjusting the script and configurations for our use case. - Exploring alternative tools or approaches for self-hosted VPN deployment. - Using custom scripts to bypass integration challenges, which increases complexity. --- **Additional context** Notable issues within the code: - Functions such as `initEnvironment` and `init_crdb` are bloated with unnecessary steps. - Port handling for Caddy is rigid, causing conflicts in multi-service environments. - Integration logic for Zitadel (e.g., `init_zitadel`, `create_new_application`) is verbose and prone to errors.
saavagebueno added the feature-request label 2025-11-20 05:32:31 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#1541