[GH-ISSUE #3148] Simplify and Optimize Self-Hosted VPN Installation Script #6516

Closed
opened 2026-08-05 01:08:45 -04:00 by saavagebueno · 1 comment
Owner

Originally created by @masterbpro on GitHub (Jan 3, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/3148

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). Original GitHub issue: https://github.com/netbirdio/netbird/issues/3148 **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 2026-08-05 01:08:45 -04:00
Author
Owner

@PizzaLovingNerd commented on GitHub (May 28, 2026):

Hello, we are closing this issue as stale as this issue had a year of inactivity and much work has been done to improve the setup script. If you have any other ideas, please open a new GitHub Discussion rather than an issue. Thanks!

<!-- gh-comment-id:4561166877 --> @PizzaLovingNerd commented on GitHub (May 28, 2026): Hello, we are closing this issue as stale as this issue had a year of inactivity and much work has been done to improve the setup script. If you have any other ideas, please open a new [GitHub Discussion](https://github.com/netbirdio/netbird/discussions) rather than an issue. Thanks!
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#6516