Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4613ccb53 | ||
|
|
1350a98aac | ||
|
|
4e32bed8a6 |
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
mail_host: mail.johnnynator.de
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
zitadel_domain: auth.cosmosim.dev
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
63613964316265656364663039376361383531303836336337623534643938353932363232383339
|
||||||
|
6434626239646435323934633235303735346663356461380a656637356330393661383638636535
|
||||||
|
34633838303366396431373863393531383465623362643161613461646433303737633939646261
|
||||||
|
3234646165616532650a313465366666653561643865323664323233333634616463636364326166
|
||||||
|
64626162623932373734333839333538353130663036346233623666323834666139626331383032
|
||||||
|
62303836656364366364663730386363306139623366633466643432393132343564316236666366
|
||||||
|
32396531336562366333316634363237623561393361363535333338386639373530383562636166
|
||||||
|
63313131343665343866353466356531646333313930663738353262633963616265373230636133
|
||||||
|
63333066373064366132653664376639343939663335316662646633353730333763333236323932
|
||||||
|
38373333383132316633376663336530323038646538663464303238626538633336386536333732
|
||||||
|
64613532336466383739656166653335626630376663373535643162383130336132373239323465
|
||||||
|
36656336323331383332333361333935646363373034316265613264396132383331353437303464
|
||||||
|
32323136653737656135653064363465666464396264393831313436396663313136316133343530
|
||||||
|
65653762323364373038356663623235326439346434303935643762636266663538333363653863
|
||||||
|
61386166366462333665326266393966366263663035633232383034386634303161616335383732
|
||||||
|
32633536646438303936
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
mailhost_is_local: true
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
[prod]
|
[prod]
|
||||||
cosmosim.dev
|
cosmosim.dev
|
||||||
|
|
||||||
|
[authentik]
|
||||||
|
cosmosim.dev
|
||||||
|
|
||||||
[gitea]
|
[gitea]
|
||||||
cosmosim.dev
|
cosmosim.dev
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
authentik_db_name: authentik
|
||||||
|
authentik_db_user: authentik
|
||||||
|
|
||||||
|
authentik_tag: 2026.8.3
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
- name: Restart authentik-server
|
||||||
|
runit:
|
||||||
|
name: authentik-server
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: Restart authentik-worker
|
||||||
|
runit:
|
||||||
|
name: authentik-worker
|
||||||
|
state: restarted
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
---
|
||||||
|
- name: Install dependencies for authentik
|
||||||
|
xbps:
|
||||||
|
pkg:
|
||||||
|
- podman
|
||||||
|
- python3-dnspython
|
||||||
|
- python3-psycopg2
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: add dns entry
|
||||||
|
community.general.nsupdate:
|
||||||
|
key_name: "ansible"
|
||||||
|
key_secret: "{{ dns_tsig_key }}"
|
||||||
|
key_algorithm: "hmac-sha512"
|
||||||
|
server: "127.0.0.1"
|
||||||
|
zone: "cosmosim.dev"
|
||||||
|
record: "{{ zitadel_domain }}."
|
||||||
|
type: "CNAME"
|
||||||
|
value: "{{ inventory_hostname }}."
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Create authentik user
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: authentik
|
||||||
|
state: present
|
||||||
|
createhome: true
|
||||||
|
|
||||||
|
- name: Create postgres role
|
||||||
|
community.postgresql.postgresql_user:
|
||||||
|
name: "{{ authentik_db_user }}"
|
||||||
|
state: present
|
||||||
|
password: "{{ authentik_db_pass }}"
|
||||||
|
become: true
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: Create postgres database
|
||||||
|
community.postgresql.postgresql_db:
|
||||||
|
name: "{{ authentik_db_name }}"
|
||||||
|
owner: "{{ authentik_db_user }}"
|
||||||
|
state: present
|
||||||
|
become: true
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: Create podman network
|
||||||
|
containers.podman.podman_network:
|
||||||
|
name: authentik
|
||||||
|
become: true
|
||||||
|
become_user: authentik
|
||||||
|
|
||||||
|
- name: Create runtime directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/authentik/{{ item }}
|
||||||
|
owner: authentik
|
||||||
|
group: authentik
|
||||||
|
mode: "0775"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- data
|
||||||
|
- certs
|
||||||
|
- custom-templates
|
||||||
|
|
||||||
|
- name: Upload configuration
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: templates/conf.j2
|
||||||
|
dest: /etc/authentik.env
|
||||||
|
owner: root
|
||||||
|
group: authentik
|
||||||
|
mode: "0640"
|
||||||
|
notify:
|
||||||
|
- Restart authentik-server
|
||||||
|
- Restart authentik-worker
|
||||||
|
|
||||||
|
- name: Install Service (1/3)
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/sv/{{item}}
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
with_items:
|
||||||
|
- authentik-server
|
||||||
|
- authentik-server/log
|
||||||
|
- authentik-worker
|
||||||
|
- authentik-worker/log
|
||||||
|
|
||||||
|
- name: Install Service (2/3)
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: authentik.run.j2
|
||||||
|
dest: /etc/sv/authentik-{{ item }}/run
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
notify:
|
||||||
|
- Restart authentik-server
|
||||||
|
- Restart authentik-worker
|
||||||
|
with_items:
|
||||||
|
- worker
|
||||||
|
- server
|
||||||
|
|
||||||
|
- name: Install Service (3/3)
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "log.run.j2"
|
||||||
|
dest: "/etc/sv/{{ item }}/log/run"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
with_items:
|
||||||
|
- authentik-server
|
||||||
|
- authentik-worker
|
||||||
|
|
||||||
|
- name: Enable services
|
||||||
|
runit:
|
||||||
|
name: "{{ item }}"
|
||||||
|
enabled: true
|
||||||
|
with_items:
|
||||||
|
- authentik-server
|
||||||
|
- authentik-worker
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec 2>&1
|
||||||
|
export HOME=/home/authentik
|
||||||
|
|
||||||
|
exec chpst -u authentik:authentik -C $HOME \
|
||||||
|
podman run -it --rm --sig-proxy \
|
||||||
|
--name=authentik-{{ item }} \
|
||||||
|
--env-file=/etc/authentik.env \
|
||||||
|
{% if item == "server" %}
|
||||||
|
-p 9000:9000 \
|
||||||
|
{% endif %}
|
||||||
|
{% if mailhost_is_local is defined and mailhost_is_local %}
|
||||||
|
--add-host={{ mail_host }}:host-gateway \
|
||||||
|
{% endif %}
|
||||||
|
--network=authentik \
|
||||||
|
-v ./data:/data \
|
||||||
|
-v ./certs:/certs \
|
||||||
|
-v ./custom-templates:/templates \
|
||||||
|
--mount type=bind,src=/tmp/.s.PGSQL.5432,target=/tmp/.s.PGSQL.5432 \
|
||||||
|
ghcr.io/goauthentik/server:{{ authentik_tag }} {{ item }}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
AUTHENTIK_POSTGRESQL__HOST=/tmp
|
||||||
|
AUTHENTIK_POSTGRESQL__NAME={{ authentik_db_name }}
|
||||||
|
AUTHENTIK_POSTGRESQL__PASSWORD={{ authentik_db_pass }}
|
||||||
|
AUTHENTIK_POSTGRESQL__USER={{ authentik_db_user }}
|
||||||
|
AUTHENTIK_SECRET_KEY={{ authentik_secret_key }}
|
||||||
|
|
||||||
|
# SMTP server
|
||||||
|
AUTHENTIK_EMAIL__HOST={{ mail_host }}
|
||||||
|
AUTHENTIK_EMAIL__PORT=465
|
||||||
|
# Optionally authenticate (don't add quotation marks to your password)
|
||||||
|
AUTHENTIK_EMAIL__USERNAME=auth@cosmosim.dev
|
||||||
|
AUTHENTIK_EMAIL__PASSWORD={{ authentik_mail_pass }}
|
||||||
|
# STARTTLS / explicit TLS, usually on port 587
|
||||||
|
AUTHENTIK_EMAIL__USE_TLS=false
|
||||||
|
# Implicit TLS/SSL on the SMTP connection (`USE_SSL` is the variable name), usually on port 465
|
||||||
|
AUTHENTIK_EMAIL__USE_SSL=true
|
||||||
|
AUTHENTIK_EMAIL__TIMEOUT=10
|
||||||
|
# Sender email address; verify that the domain is valid.
|
||||||
|
AUTHENTIK_EMAIL__FROM=auth@cosmosim.dev
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec vlogger -t {{ item }}
|
||||||
@@ -17,11 +17,15 @@ HOST = /tmp/
|
|||||||
NAME = gitea
|
NAME = gitea
|
||||||
USER = _gitea
|
USER = _gitea
|
||||||
PASSWD =
|
PASSWD =
|
||||||
|
[admin]
|
||||||
|
EXTERNAL_USER_DISABLE_FEATURES = manage_mfa
|
||||||
[security]
|
[security]
|
||||||
INSTALL_LOCK = true
|
INSTALL_LOCK = true
|
||||||
SECRET_KEY = {{ gitea_secret_key }}
|
SECRET_KEY = {{ gitea_secret_key }}
|
||||||
INTERNAL_TOKEN = {{ gitea_internal_token }}
|
INTERNAL_TOKEN = {{ gitea_internal_token }}
|
||||||
[camo]
|
[camo]
|
||||||
|
[oauth2_client]
|
||||||
|
ENABLE_AUTO_REGISTRATION = true
|
||||||
[oauth2]
|
[oauth2]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
JWT_SECRET = {{ gitea_jwt_secret }}
|
JWT_SECRET = {{ gitea_jwt_secret }}
|
||||||
@@ -32,14 +36,14 @@ LEVEL = Info
|
|||||||
[mailer]
|
[mailer]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
PROTOCOL = smtps
|
PROTOCOL = smtps
|
||||||
SMTP_ADDR = mail.johnnynator.de
|
SMTP_ADDR = {{ mail_host }}
|
||||||
SMTP_PORT = 465
|
SMTP_PORT = 465
|
||||||
FROM = "Gitea <{{gitea_mail }}>"
|
FROM = "Gitea <{{gitea_mail }}>"
|
||||||
USER = {{ gitea_mail }}
|
USER = {{ gitea_mail }}
|
||||||
PASSWD = {{ gitea_mail_password }}
|
PASSWD = {{ gitea_mail_password }}
|
||||||
[email.incoming]
|
[email.incoming]
|
||||||
ENABLED = true
|
ENABLED = true
|
||||||
HOST = mail.johnnynator.de
|
HOST = {{ mail_host }}
|
||||||
PORT = 993
|
PORT = 993
|
||||||
USERNAME = {{ gitea_mail }}
|
USERNAME = {{ gitea_mail }}
|
||||||
PASSWORD = {{ gitea_mail_password }}
|
PASSWORD = {{ gitea_mail_password }}
|
||||||
@@ -49,6 +53,8 @@ REPLY_TO_ADDRESS = git+%{token}@cosmosim.dev
|
|||||||
COOKIE_SECURE = true
|
COOKIE_SECURE = true
|
||||||
[git]
|
[git]
|
||||||
[service]
|
[service]
|
||||||
|
ENABLE_PASSWORD_SIGNIN_FORM = false
|
||||||
|
ENABLE_PASSKEY_AUTHENTICATION = false
|
||||||
REGISTER_EMAIL_CONFIRM = true
|
REGISTER_EMAIL_CONFIRM = true
|
||||||
ENABLE_NOTIFY_MAIL = true
|
ENABLE_NOTIFY_MAIL = true
|
||||||
DISABLE_REGISTRATION = true
|
DISABLE_REGISTRATION = true
|
||||||
|
|||||||
Reference in New Issue
Block a user