Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| services:lubelogger [2025/01/26 17:11] – willy | services:lubelogger [2025/01/27 17:31] (current) – [Authentication] willy | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== LubeLogger ====== | ====== LubeLogger ====== | ||
| - | [[https:// | + | [[https:// |
| ===== Installation ===== | ===== Installation ===== | ||
| Line 14: | Line 14: | ||
| Now, create the following **docker-compose.yml** as user // | Now, create the following **docker-compose.yml** as user // | ||
| <file - docker-compose.yml> | <file - docker-compose.yml> | ||
| + | --- | ||
| + | version: " | ||
| + | services: | ||
| + | app: | ||
| + | image: ghcr.io/ | ||
| + | build: . | ||
| + | environment: | ||
| + | - LC_ALL=it_IT.UTF-8 # this will affect how numbers, currencies, and dates are formatted. | ||
| + | - LANG=it_IT.UTF-8 | ||
| + | # - EnableAuth=false | ||
| + | volumes: | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | - / | ||
| + | ports: | ||
| + | - 8485:8080 | ||
| + | networks: | ||
| + | - lubelogger-net | ||
| + | |||
| + | networks: | ||
| + | lubelogger-net: | ||
| </ | </ | ||
| Line 24: | Line 50: | ||
| podman compose pull | podman compose pull | ||
| </ | </ | ||
| + | |||
| ===== Authentication ===== | ===== Authentication ===== | ||
| - | Unfortunately, while it is possible to disable authentication, it will **not** | + | Authentication with LubeLogger took a bit to figure out. First of all, it's pretty unconventional in a few respects: |
| + | * Authentication | ||
| + | | ||
| + | | ||
| + | | ||
| - | Enabling LubeLogget | + | You have different options: |
| + | * disable LubeLogger auth and use your own proxy-based | ||
| + | * enable internal LubeLogger auth, and disable your proxy autnehtication, | ||
| + | * enable | ||
| - | To setup the SSO, you need to setup the following environments in your docker compose: | + | In general enabling LubeLogger authentication is a bit of a mess. First of all, it starts with authentication disabled. As stated [[https:// |
| + | |||
| + | Instead, if you want to enable | ||
| < | < | ||
| MailConfig__EmailServer="" | MailConfig__EmailServer="" | ||
| Line 38: | Line 74: | ||
| MailConfig__Username="" | MailConfig__Username="" | ||
| MailConfig__Password="" | MailConfig__Password="" | ||
| - | OpenIDConfig__Name=Name of the OpenID Connect Provider | + | OpenIDConfig__Name=Authelia |
| - | OpenIDConfig__ClientId=Client Id to Authenticate with the Provider | + | OpenIDConfig__ClientId=lube |
| - | OpenIDConfig__ClientSecret=Client Secret to Authenticate with the Provider | + | OpenIDConfig__ClientSecret=client-secret-string |
| OpenIDConfig__AuthURL=Authorization URL to the Provider' | OpenIDConfig__AuthURL=Authorization URL to the Provider' | ||
| OpenIDConfig__TokenURL=URL to retrieve user JWT from the Provider | OpenIDConfig__TokenURL=URL to retrieve user JWT from the Provider | ||
| - | OpenIDConfig__RedirectURL=https:// | + | OpenIDConfig__RedirectURL=https:// |
| - | OpenIDConfig__Scope=The scope for retrieving the user's email claim(usually it's just 'email') | + | OpenIDConfig__Scope=" |
| OpenIDConfig__ValidateState=true/ | OpenIDConfig__ValidateState=true/ | ||
| OpenIDConfig__UsePKCE=true/ | OpenIDConfig__UsePKCE=true/ | ||
| </ | </ | ||
| - | The examples provided in the above docker compose should | + | My specific Authelia client setting is: |
| + | < | ||
| + | - client_id: ' | ||
| + | client_name: | ||
| + | client_secret: | ||
| + | public: false | ||
| + | authorization_policy: | ||
| + | pre_configured_consent_duration: | ||
| + | scopes: | ||
| + | - openid | ||
| + | |||
| + | - profile | ||
| + | grant_types: | ||
| + | - ' | ||
| + | redirect_uris: | ||
| + | - https:// | ||
| + | userinfo_signed_response_alg: | ||
| + | token_endpoint_auth_method: | ||
| + | </ | ||
| + | |||
| + | I suggest you also setup email notification by creating a dedicated email address for LubeLogger to send out emails or you will **not** | ||
| + | |||
| + | I choose | ||
| - | I suggest you also setup email notification by creating a dedicated email address for LubeLogger to send out emails. | ||
| ===== Reverse Proxy ===== | ===== Reverse Proxy ===== | ||
| Line 65: | Line 122: | ||
| access_log / | access_log / | ||
| error_log / | error_log / | ||
| + | | ||
| + | # The following line enables proxy auth with SSO, uncomment to use LubeLogger auth | ||
| + | include " | ||
| + | |||
| | | ||
| + | # The following two lines enables proxy auth with SSO, uncomment to use LubeLogger auth | ||
| + | include " | ||
| + | include " | ||
| + | | ||
| proxy_pass http:// | proxy_pass http:// | ||
| client_max_body_size | client_max_body_size | ||
| - | proxy_set_header Host $http_host; | + | |
| - | proxy_set_header X-Real-IP | + | # The following lines are all commented to use NGINX SSO authentication and NOT LubeLogger |
| - | proxy_set_header X-Forwarded-For | + | # authentication. IF you want to use LubeLogger authentication, |
| - | proxy_set_header X-Forwarded-Proto $scheme; | + | # |
| + | # | ||
| + | # | ||
| + | # | ||
| proxy_set_header | proxy_set_header | ||
| proxy_set_header | proxy_set_header | ||