mirror of
https://github.com/h44z/wg-portal
synced 2025-02-26 05:49:14 +00:00
1 line
60 KiB
JSON
1 line
60 KiB
JSON
|
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"documentation/overview/","title":"Overview","text":"<p>WireGuard Portal is a simple, web-based configuration portal for WireGuard server management. The portal uses the WireGuard wgctrl library to manage existing VPN interfaces. This allows for the seamless activation or deactivation of new users without disturbing existing VPN connections.</p> <p>The configuration portal supports using a database (SQLite, MySQL, MsSQL or Postgres), OAuth or LDAP (Active Directory or OpenLDAP) as a user source for authentication and profile data.</p>"},{"location":"documentation/overview/#features","title":"Features","text":"<ul> <li>Self-hosted - the whole application is a single binary</li> <li>Responsive multi-language web UI written in Vue.JS</li> <li>Automatically selects IP from the network pool assigned to the client</li> <li>QR-Code for convenient mobile client configuration</li> <li>Sends email to the client with QR-code and client config</li> <li>Enable / Disable clients seamlessly</li> <li>Generation of wg-quick configuration file (<code>wgX.conf</code>) if required</li> <li>User authentication (database, OAuth, or LDAP)</li> <li>IPv6 ready</li> <li>Docker ready</li> <li>Can be used with existing WireGuard setups</li> <li>Support for multiple WireGuard interfaces</li> <li>Peer Expiry Feature</li> <li>Handles route and DNS settings like wg-quick does</li> <li>Exposes Prometheus metrics for monitoring and alertingt</li> <li>REST API for management and client deployment</li> </ul>"},{"location":"documentation/configuration/examples/","title":"Examples","text":"<p>Below are some sample YAML configurations demonstrating how to override some default values.</p>"},{"location":"documentation/configuration/examples/#basic","title":"Basic","text":"<pre><code>core:\n admin_user: test@example.com\n admin_password: password\n import_existing: false\n create_default_peer: true\n self_provisioning_allowed: true\n\nweb:\n site_title: My WireGuard Server\n site_company_name: My Company\n listening_address: :8080\n external_url: https://my.externa-domain.com\n csrf_secret: super-s3cr3t-csrf\n session_secret: super-s3cr3t-session\n request_logging: true\n\nadvanced:\n log_level: trace\n log_pretty: true\n log_json: false\n config_storage_path: /etc/wireguard\n expiry_check_interval: 5m\n\ndatabase:\n debug: true\n type: sqlite\n dsn: data/sqlite.db\n</code></pre>"},{"location":"documentation/configuration/examples/#ldap-authentication-and-synchronization","title":"LDAP Authentication and Synchronization","text":"<pre><code># ... (basic configuration)\n\nauth:\n ldap:\n # a sample LDAP provider with user sync enabled\n - id: ldap\n provider_name: Active Directory\n display_name: Login with</br>AD\n url: ldap://srv-ad1.company.local:389\n bind_user: ldap_wireguard@company.local\n bind_pass: super-s3cr3t-ldap\n base_dn: DC=COMPANY,DC=LOCAL\n login_filter: (&(objectClass=organizationalPerson)(mail={{login_identifier}})(!userAccountControl:1.2.840.113556.1.4.803:=2))\n sync_interval: 15m\n sync_filter: (&(objectClass=organizationalPerson)(!userAccountControl:1.2.840.113556.1.4.803:=2)(mail=*))\n disable_missing: true\n field_map:\n user_identifier: sAMAccountName\n email: mail\n firstname: givenName\n lastname: sn\n phone: telephoneNumber\n department: department\n memberof: memberOf\n admin_group: CN=WireGuardAdmins,OU=Some-OU,DC=COMPANY,DC=LOCAL\n registration_enabled: true\n log_user_info: true\n</code></pre>"},{"location":"documentation/configuration/examples/#openid-connect-oidc-authentication","title":"OpenID Connect (OIDC) Authentication","text":"<pre><code># ... (basic configuration)\n\nauth:\n oidc:\n # a sample Entra ID provider with environment variable substitution\n - id: azure\n provider_name: azure\n display_name: Login with</br>Entra ID\n registratio
|