From e2bf047f5757e1d59f5cc93e1c6c05088f6767dd Mon Sep 17 00:00:00 2001 From: Ahson Shaikh Date: Tue, 7 Jul 2026 18:40:55 +0500 Subject: [PATCH] Added Template Authlia --- templates/authelia/assets/logo.png | Bin 0 -> 28446 bytes templates/authelia/assets/screenshot.png | Bin 0 -> 117088 bytes templates/authelia/index.ts | 98 ++++++++++++++++++++++ templates/authelia/meta.yaml | 102 +++++++++++++++++++++++ 4 files changed, 200 insertions(+) create mode 100644 templates/authelia/assets/logo.png create mode 100644 templates/authelia/assets/screenshot.png create mode 100644 templates/authelia/index.ts create mode 100644 templates/authelia/meta.yaml diff --git a/templates/authelia/assets/logo.png b/templates/authelia/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b9592452d31fb6f9c963555a1924824ab2568384 GIT binary patch literal 28446 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 E5A6)z{Qv*} literal 0 HcmV?d00001 diff --git a/templates/authelia/assets/screenshot.png b/templates/authelia/assets/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8e6b5571da4e9ebfe9fff436c03e81514d8cf8 GIT binary patch literal 117088 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 Zm=x!~V8nxGUOa!5I%txvdn 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%0DRy`DH_#a7 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 Rw|KzEQBzBkvLmQ-{{@RAHIe`T literal 0 HcmV?d00001 diff --git a/templates/authelia/index.ts b/templates/authelia/index.ts new file mode 100644 index 000000000..671c05b0c --- /dev/null +++ b/templates/authelia/index.ts @@ -0,0 +1,98 @@ +import { bcryptHash, Output, randomString, Services } from "~templates-utils"; +import { Input } from "./meta"; + +export function generate(input: Input): Output { + const services: Services = []; + const jwtSecret = randomString(32); + const sessionSecret = randomString(32); + const storageEncryptionKey = randomString(32); + + const configYaml = `server: + address: 'tcp://:9091' + +log: + level: 'info' + +totp: + issuer: '{{ env "ROOT_DOMAIN" }}' + +identity_validation: + reset_password: + jwt_secret: '${jwtSecret}' + +authentication_backend: + file: + path: '/config/users_database.yml' + +access_control: + default_policy: 'deny' + rules: + - domain: '*.{{ env "ROOT_DOMAIN" }}' + policy: 'one_factor' + - domain: '{{ env "ROOT_DOMAIN" }}' + policy: 'one_factor' + +session: + secret: '${sessionSecret}' + cookies: + - name: 'authelia_session' + domain: '{{ env "SESSION_DOMAIN" }}' + authelia_url: '{{ env "AUTHELIA_URL" }}' + expiration: '1 hour' + inactivity: '5 minutes' + +regulation: + max_retries: 3 + find_time: '2 minutes' + ban_time: '5 minutes' + +storage: + encryption_key: '${storageEncryptionKey}' + local: + path: '/data/db.sqlite3' + +notifier: + filesystem: + filename: '/data/notification.txt' +`; + + const usersYaml = `users: + admin: + disabled: false + displayname: 'Admin User' + password: '${bcryptHash(input.adminPassword)}' + email: 'admin@localhost' + groups: + - 'admins' +`; + + services.push({ + type: "app", + data: { + serviceName: input.appServiceName, + source: { type: "image", image: input.appServiceImage }, + env: [ + `X_AUTHELIA_CONFIG_FILTERS=template`, + `ROOT_DOMAIN=$(EASYPANEL_HOST)`, + `SESSION_DOMAIN=$(PRIMARY_DOMAIN)`, + `AUTHELIA_URL=https://$(PRIMARY_DOMAIN)`, + ].join("\n"), + domains: [{ host: "$(EASYPANEL_DOMAIN)", port: 9091 }], + mounts: [ + { type: "volume", name: "data", mountPath: "/data" }, + { + type: "file", + content: configYaml, + mountPath: "/config/configuration.yml", + }, + { + type: "file", + content: usersYaml, + mountPath: "/config/users_database.yml", + }, + ], + }, + }); + + return { services }; +} diff --git a/templates/authelia/meta.yaml b/templates/authelia/meta.yaml new file mode 100644 index 000000000..b20aa86a8 --- /dev/null +++ b/templates/authelia/meta.yaml @@ -0,0 +1,102 @@ +name: Authelia +description: + Authelia is an open-source authentication and authorization server providing + two-factor authentication and single sign-on (SSO) for your applications via + a web portal. It acts as a companion to reverse proxies such as Traefik, + Nginx, or Caddy to control whether requests should pass through. Authelia is + also an OpenID Connect 1.0 certified identity provider, enabling modern + authentication flows for applications that support it. Key features include + multi-factor authentication via TOTP, WebAuthn, or Duo; fine-grained access + control rules; session management with configurable timeouts; LDAP and + file-based user backends; and SQLite, PostgreSQL, or MariaDB storage. +instructions: + After deployment, open the Authelia URL you configured. Log in with username + "admin" and the password you set during setup. On first login you will be + prompted to register a TOTP authenticator app. The "Authelia URL" field must + exactly match the full HTTPS URL you use to reach Authelia (e.g. + https://auth.yourdomain.com) — a mismatch causes the "issue retrieving user + state" error. Password reset notifications are written to + /data/notification.txt inside the container; view them via the Easypanel + console if no SMTP is configured. +changeLog: + - date: 2026-07-07 + description: First Release +links: + - label: Website + url: https://www.authelia.com + - label: Documentation + url: https://www.authelia.com/configuration/prologue/introduction/ + - label: GitHub + url: https://github.com/authelia/authelia +contributors: + - name: Ahson Shaikh + url: https://github.com/Ahson-Shaikh +schema: + type: object + required: + - appServiceName + - appServiceImage + - adminPassword + properties: + appServiceName: + type: string + title: App Service Name + default: authelia + appServiceImage: + type: string + title: App Service Image + default: authelia/authelia:4.39.20 + adminPassword: + type: string + title: Admin Password + description: Password for the initial "admin" user account. +benefits: + - title: Multi-Factor Authentication + description: + Add TOTP, WebAuthn (passkeys and hardware keys), and Duo push + notifications on top of any password-based login, without modifying the + protected application. + - title: Single Sign-On + description: + One login session covers all protected apps. Users authenticate once and + are silently passed through to every service on your domain without + re-entering credentials. + - title: OpenID Connect Identity Provider + description: + Act as an OIDC provider for any application that supports it, enabling + centralised identity management and delegated login flows across your + entire infrastructure. +features: + - title: Reverse Proxy Integration + description: + Works natively with Traefik, Nginx, Caddy, HAProxy, and more via forward + authentication headers — no agents or sidecar containers required. + - title: Fine-Grained Access Control + description: + Define rules by domain, path, method, user, group, and network to allow, + bypass, or require one- or two-factor authentication per resource. + - title: File and LDAP User Backends + description: + Manage users with a simple YAML file for small deployments or connect to + an LDAP or Active Directory server for enterprise-scale user management. + - title: SQLite Storage + description: + Stores all persistent state — TOTP secrets, WebAuthn credentials, session + records — in a local SQLite database with no external DB required. + - title: Regulation and Brute-Force Protection + description: + Automatically bans accounts and IPs after configurable failed-attempt + thresholds, protecting against credential-stuffing and brute-force + attacks. +tags: + - Authentication + - Authorization + - 2FA + - MFA + - SSO + - Single Sign-On + - OpenID Connect + - OIDC + - Security + - Identity + - Access Control