58 lines
2.3 KiB
Django/Jinja
58 lines
2.3 KiB
Django/Jinja
[Quadlet]
|
|
DefaultDependencies=false
|
|
|
|
[Unit]
|
|
Description=Linkding
|
|
|
|
[Container]
|
|
Image=ghcr.io/sissbruecker/linkding:{{ version['containers']['linkding'] }}
|
|
ContainerName=linkding
|
|
HostName=linkding
|
|
|
|
PublishPort={{ services['linkding']['ports']['http'] }}:9090/tcp
|
|
|
|
# Persistent data
|
|
Volume=%h/data/containers/linkding/data:/etc/linkding/data:rw
|
|
Volume=%h/containers/linkding/ssl:/etc/ssl/linkding:ro
|
|
|
|
# General
|
|
Environment="TZ={{ timezone }}"
|
|
Environment="LD_DISABLE_BACKGROUND_TASKS=False"
|
|
Environment="LD_REQUEST_MAX_CONTENT_LENGTH=268435456"
|
|
|
|
# PostgreSQL
|
|
Environment="LD_DB_ENGINE=postgres"
|
|
Environment="LD_DB_DATABASE=linkding_db"
|
|
Environment="LD_DB_USER=linkding"
|
|
Environment="LD_DB_HOST={{ services['postgresql']['domain']['internal'] }}.{{ domain['internal'] }}"
|
|
Environment="LD_DB_PORT={{ services['postgresql']['ports']['tcp'] }}"
|
|
Environment="PGSSLMODE=verify-full"
|
|
Environment="PGSSLROOTCERT=/etc/ssl/linkding/{{ root_cert_filename }}"
|
|
Environment="PGSSLCERTMODE=disable"
|
|
Secret=LINKDING_DB_PASSWORD,type=env,target=LD_DB_PASSWORD
|
|
|
|
# OIDC
|
|
Environment="LD_ENABLE_OIDC=True"
|
|
Environment="LD_DISABLE_LOGIN_FORM=True"
|
|
Environment="OIDC_OP_AUTHORIZATION_ENDPOINT=https://{{ services['authelia']['domain']['public'] }}.{{ domain['public'] }}/api/oidc/authorization"
|
|
Environment="OIDC_OP_TOKEN_ENDPOINT=https://{{ services['authelia']['domain']['public'] }}.{{ domain['public'] }}/api/oidc/token"
|
|
Environment="OIDC_OP_USER_ENDPOINT=https://{{ services['authelia']['domain']['public'] }}.{{ domain['public'] }}/api/oidc/userinfo"
|
|
Environment="OIDC_OP_JWKS_ENDPOINT=https://{{ services['authelia']['domain']['public'] }}.{{ domain['public'] }}/jwks.json"
|
|
Environment="OIDC_RP_CLIENT_ID=linkding"
|
|
Environment="OIDC_RP_SCOPES=openid email profile"
|
|
Environment="OIDC_USERNAME_CLAIM=preferred_username"
|
|
Environment="OIDC_USE_PKCE=True"
|
|
Environment="OIDC_VERIFY_SSL=True"
|
|
Secret=LINKDING_OIDC_CLIENT_SECRET,type=env,target=OIDC_RP_CLIENT_SECRET
|
|
|
|
# Reverse proxy
|
|
Environment="LD_CSRF_TRUSTED_ORIGINS=https://{{ services['linkding']['domain']['public'] }}.{{ domain['public'] }}"
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/nc -zv {{ services['postgresql']['domain']['internal'] }}.{{ domain['internal'] }} {{ services['postgresql']['ports']['tcp'] }}
|
|
Restart=always
|
|
RestartSec=10s
|
|
TimeoutStopSec=60
|
|
|
|
[Install]
|
|
WantedBy=default.target |