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 |