Add authentik to ansible
This commit is contained in:
parent
c533d203a0
commit
7f35b14f94
8 changed files with 70 additions and 68 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
# services already handled by ansible
|
# services already handled by ansible
|
||||||
/acme-dns/
|
/acme-dns/
|
||||||
|
/authentik/
|
||||||
/coder/
|
/coder/
|
||||||
/forgejo/
|
/forgejo/
|
||||||
/forgejo-runner/
|
/forgejo-runner/
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
/woodpecker/
|
/woodpecker/
|
||||||
|
|
||||||
/caddy/config/conf.002.d/acme.serguzim.me.conf
|
/caddy/config/conf.002.d/acme.serguzim.me.conf
|
||||||
|
/caddy/config/conf.002.d/auth.serguzim.me.conf
|
||||||
/caddy/config/conf.002.d/analytics.serguzim.me.conf
|
/caddy/config/conf.002.d/analytics.serguzim.me.conf
|
||||||
/caddy/config/conf.002.d/ci.serguzim.me.conf
|
/caddy/config/conf.002.d/ci.serguzim.me.conf
|
||||||
/caddy/config/conf.002.d/coder.serguzim.me.conf
|
/caddy/config/conf.002.d/coder.serguzim.me.conf
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
hosts: node002
|
hosts: node002
|
||||||
roles:
|
roles:
|
||||||
- acme-dns
|
- acme-dns
|
||||||
|
- authentik
|
||||||
- coder
|
- coder
|
||||||
- faas
|
- faas
|
||||||
- forgejo
|
- forgejo
|
||||||
|
|
7
_ansible/roles/authentik/tasks/main.yml
Normal file
7
_ansible/roles/authentik/tasks/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- name: Deploy {{ svc.name }}
|
||||||
|
tags:
|
||||||
|
- authentik
|
||||||
|
- authentication
|
||||||
|
block:
|
||||||
|
- import_tasks: deploy-common-service.yml
|
60
_ansible/roles/authentik/vars/main.yml
Normal file
60
_ansible/roles/authentik/vars/main.yml
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
svc:
|
||||||
|
domain: "auth.serguzim.me"
|
||||||
|
name: authentik
|
||||||
|
port: 9000
|
||||||
|
image_tag: 2023.8
|
||||||
|
db:
|
||||||
|
host: "{{ postgres.host }}"
|
||||||
|
database: authentik
|
||||||
|
user: "{{ vault_authentik.db.user }}"
|
||||||
|
pass: "{{ vault_authentik.db.pass }}"
|
||||||
|
|
||||||
|
svc_env:
|
||||||
|
AUTHENTIK_SECRET_KEY: "{{ vault_authentik.secret_key }}"
|
||||||
|
|
||||||
|
AUTHENTIK_EMAIL__HOST: "{{ mailer.host }}"
|
||||||
|
AUTHENTIK_EMAIL__PORT: "{{ mailer.port }}"
|
||||||
|
AUTHENTIK_EMAIL__USERNAME: "{{ vault_authentik.mail.user }}"
|
||||||
|
AUTHENTIK_EMAIL__PASSWORD: "{{ vault_authentik.mail.pass }}"
|
||||||
|
AUTHENTIK_EMAIL__USE_TLS: true
|
||||||
|
AUTHENTIK_EMAIL__USE_SSL: false
|
||||||
|
AUTHENTIK_EMAIL__TIMEOUT: 10
|
||||||
|
AUTHENTIK_EMAIL__FROM: auth@serguzim.me
|
||||||
|
|
||||||
|
AUTHENTIK_AVATARS: none
|
||||||
|
|
||||||
|
AUTHENTIK_REDIS__HOST: redis
|
||||||
|
|
||||||
|
AUTHENTIK_POSTGRESQL__HOST: "{{ svc.db.host }}"
|
||||||
|
AUTHENTIK_POSTGRESQL__NAME: "{{ svc.db.database }}"
|
||||||
|
AUTHENTIK_POSTGRESQL__USER: "{{ svc.db.user }}"
|
||||||
|
AUTHENTIK_POSTGRESQL__PASSWORD: "{{ svc.db.pass }}"
|
||||||
|
|
||||||
|
compose:
|
||||||
|
watchtower: false
|
||||||
|
image: "ghcr.io/goauthentik/server:{{ svc.image_tag }}"
|
||||||
|
env: true
|
||||||
|
file:
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
worker:
|
||||||
|
image: "ghcr.io/goauthentik/server:{{ svc.image_tag }}"
|
||||||
|
restart: always
|
||||||
|
command: worker
|
||||||
|
user: root
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
env_file:
|
||||||
|
- service.env
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis:alpine
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
default:
|
|
@ -1,19 +0,0 @@
|
||||||
AUTHENTIK_SECRET_KEY=
|
|
||||||
|
|
||||||
AUTHENTIK_EMAIL__HOST=mail.serguzim.me
|
|
||||||
AUTHENTIK_EMAIL__PORT=587
|
|
||||||
AUTHENTIK_EMAIL__USERNAME=auth@serguzim.me
|
|
||||||
AUTHENTIK_EMAIL__PASSWORD=
|
|
||||||
AUTHENTIK_EMAIL__USE_TLS=true
|
|
||||||
AUTHENTIK_EMAIL__USE_SSL=false
|
|
||||||
AUTHENTIK_EMAIL__TIMEOUT=10
|
|
||||||
AUTHENTIK_EMAIL__FROM=auth@serguzim.me
|
|
||||||
|
|
||||||
AUTHENTIK_AVATARS=none
|
|
||||||
|
|
||||||
AUTHENTIK_REDIS__HOST=redis
|
|
||||||
|
|
||||||
AUTHENTIK_POSTGRESQL__HOST=node002.serguzim.net
|
|
||||||
AUTHENTIK_POSTGRESQL__USER=authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__NAME=authentik
|
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD=
|
|
2
authentik/.gitignore
vendored
2
authentik/.gitignore
vendored
|
@ -1,2 +0,0 @@
|
||||||
backups/
|
|
||||||
certs/
|
|
|
@ -1,43 +0,0 @@
|
||||||
version: '3.2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: ghcr.io/goauthentik/server:2023.8
|
|
||||||
restart: unless-stopped
|
|
||||||
command: server
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
- .secret.env
|
|
||||||
depends_on:
|
|
||||||
- redis
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
apps:
|
|
||||||
aliases:
|
|
||||||
- authentik
|
|
||||||
|
|
||||||
worker:
|
|
||||||
image: ghcr.io/goauthentik/server:2023.8
|
|
||||||
restart: unless-stopped
|
|
||||||
command: worker
|
|
||||||
user: root
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
- .secret.env
|
|
||||||
depends_on:
|
|
||||||
- redis
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
apps:
|
|
||||||
external: true
|
|
|
@ -1,4 +0,0 @@
|
||||||
auth.serguzim.me {
|
|
||||||
import default
|
|
||||||
reverse_proxy authentik:9000
|
|
||||||
}
|
|
Reference in a new issue