Skip to content

Web UI

GitHub TagLicenseGit Repository

Provides an admin web interface.

Settings

Plugin name: webui

SettingDescription
ENABLEDEnable the plugin ("true" | "false")
HTTP_PORTHTTP port on which the webserver should listen (number)
HTTPS_PORTHTTPS port on which the webserver should listen (number)
TLS_CERT_FILETLS certificate file for HTTPS (string)
TLS_KEY_FILETLS key file for HTTPS (string)
ADMIN_USERNAMEAdministrator username (string)
ADMIN_PASSWORDAdministrator password (string)
CORS_ORIGINValue for the Access-Control-Allow-Origin header for API requests optional (string)
HISTORY_LIMITMaximum number of pipelines to be preserved in memory (default: 50) (number)

3rd Party Authentication

If you want authentication to be handled by a 3rd party, you can do so by configuring your Reverse Proxy to provide basic auth to the application. By doing so, the server will set the corresponding session cookie when delivering the page. Please note that the Authorization header sent by the web client must always be forwarded to the /api/* endpoints.

Click here for a basic example using Traefik with Authelia
yaml
http:
  routers:
    reeve-api:
      entryPoints:
        - websecure
      middlewares:
        - authelia@file
      rule: (Host(`ci.example.com`) && PathPrefix(`/api/`))
      service: reeve@file

    reeve:
      entryPoints:
        - websecure
      middlewares:
        - authelia@file
        - reeve-webui-auth@file
      rule: Host(`ci.example.com`)
      service: reeve@file

  services:
    reeve:
      loadBalancer:
        servers:
          - url: http://localhost:9081

http:
  middlewares:
    authelia:
      forwardAuth:
        address: http://authelia:9091/api/authz/forward-auth
        authResponseHeaders:
          - Remote-User
          - Remote-Groups
          - Remote-Name
          - Remote-Email
    reeve-webui-auth:
      headers:
        customRequestHeaders:
          Authorization: Basic dXNlcjpwYXNzd29yZA== # example basic auth header (user:password) - DO NOT USE!!