Execute the following in the ./secrets directory of the traefik mount, replacing values with those acquired from Cloudflare and the ACME provider:
echo 'the-kid' > ACME_EAB_KID
echo 'the-hmac' > ACME_EAB_HMAC
echo 'the-token' > CF_DNS_API_TOKENExecute the following in the ./secrets directory of the lldap config mount, replacing admin-user-password with the desired password:
echo $(LC_ALL=C tr -dc 'A-Za-z0-9!#%&'\''()*+,-./:;<=>?@[\]^_{|}~' </dev/urandom | head -c 32) > LLDAP_JWT_SECRET
echo $(LC_ALL=C tr -dc 'A-Za-z0-9!#%&'\''()*+,-./:;<=>?@[\]^_{|}~' </dev/urandom | head -c 32) > LLDAP_KEY_SEED
echo 'admin-user-password' > LLDAP_LDAP_USER_PASSExecute the following in the ./secrets directory of the authelia config mount, replacing bind-user-password with the desired password:
openssl rand -hex 64 > JWT_SECRET
openssl rand -hex 64 > OIDC_HMAC_SECRET
openssl rand -hex 64 > SESSION_SECRET
openssl rand -hex 64 > STORAGE_ENCRYPTION_KEY
openssl genrsa -out oidc.jwks.rsa.2048.pem 2048
echo 'bind-user-password' > LDAP_PASSWORDCreate the ./config/oidc_clients.yml file in the authelia config mount, and populate it with the desired OIDC client configuration.
- To generate OIDC client IDs, follow this guide from Authelia, but use length 32 instead of 64 if using the openssl command due to character length restrictions.
- To generate OIDC client secrets, follow this guide from Authelia.
- Define a user named "authelia" with the same password as used for the
LDAP_PASSWORDsecret - If necessary, define a user named "portainer" and log into Portainer to generate an API Key for usage as the Homepage key
- Define any desired users to use to log in to other services