rottenraptor-server: add docker-goauthentik
This commit is contained in:
parent
f04149b4a7
commit
d2a7063282
2 changed files with 93 additions and 0 deletions
89
bundles/docker-goauthentik/metadata.py
Normal file
89
bundles/docker-goauthentik/metadata.py
Normal file
|
@ -0,0 +1,89 @@
|
|||
assert node.has_bundle('docker-engine')
|
||||
|
||||
defaults = {
|
||||
'docker-engine': {
|
||||
'containers': {
|
||||
'goauthentik-server': {
|
||||
'image': 'ghcr.io/goauthentik/server:latest',
|
||||
'command': 'server',
|
||||
'environment': {
|
||||
'AUTHENTIK_POSTGRESQL__HOST': 'goauthentik-postgresql',
|
||||
'AUTHENTIK_POSTGRESQL__NAME': 'goauthentik',
|
||||
'AUTHENTIK_POSTGRESQL__PASSWORD': repo.vault.password_for(f'{node.name} postgresql goauthentik'),
|
||||
'AUTHENTIK_POSTGRESQL__USER': 'goauthentik',
|
||||
'AUTHENTIK_REDIS__HOST': 'goauthentik-redis',
|
||||
'AUTHENTIK_SECRET_KEY': repo.vault.password_for(f'{node.name} goauthentik secret key'),
|
||||
},
|
||||
'volumes': {
|
||||
'media': '/media',
|
||||
'templates': '/templates',
|
||||
},
|
||||
'ports': {
|
||||
'9000': '9000',
|
||||
'9443': '9443',
|
||||
},
|
||||
'needs': {
|
||||
'svc_systemd:docker-goauthentik-postgresql',
|
||||
'svc_systemd:docker-goauthentik-redis',
|
||||
},
|
||||
'requires': {
|
||||
'docker-goauthentik-postgresql.service',
|
||||
'docker-goauthentik-redis.service',
|
||||
},
|
||||
},
|
||||
'goauthentik-worker': {
|
||||
'image': 'ghcr.io/goauthentik/server:latest',
|
||||
'command': 'worker',
|
||||
'user': 'docker-goauthentik-server',
|
||||
'environment': {
|
||||
'AUTHENTIK_POSTGRESQL__HOST': 'goauthentik-postgresql',
|
||||
'AUTHENTIK_POSTGRESQL__NAME': 'goauthentik',
|
||||
'AUTHENTIK_POSTGRESQL__PASSWORD': repo.vault.password_for(f'{node.name} postgresql goauthentik'),
|
||||
'AUTHENTIK_POSTGRESQL__USER': 'goauthentik',
|
||||
'AUTHENTIK_REDIS__HOST': 'goauthentik-redis',
|
||||
'AUTHENTIK_SECRET_KEY': repo.vault.password_for(f'{node.name} goauthentik secret key'),
|
||||
},
|
||||
'volumes': {
|
||||
'/var/opt/docker-engine/goauthentik-server/media': '/media',
|
||||
'/var/opt/docker-engine/goauthentik-server/certs': '/certs',
|
||||
'/var/opt/docker-engine/doauthentik-server/templates': '/templates',
|
||||
},
|
||||
'needs': {
|
||||
'svc_systemd:docker-goauthentik-postgresql',
|
||||
'svc_systemd:docker-goauthentik-redis',
|
||||
},
|
||||
'requires': {
|
||||
'docker-goauthentik-postgresql.service',
|
||||
'docker-goauthentik-redis.service',
|
||||
},
|
||||
},
|
||||
'goauthentik-postgresql': {
|
||||
'image': 'docker.io/library/postgres:16-alpine',
|
||||
'environment': {
|
||||
'POSTGRES_PASSWORD': repo.vault.password_for(f'{node.name} postgresql goauthentik'),
|
||||
'POSTGRES_USER': 'goauthentik',
|
||||
'POSTGRES_DB': 'goauthentik',
|
||||
},
|
||||
'volumes': {
|
||||
'database': '/var/lib/postgresql/data',
|
||||
},
|
||||
},
|
||||
'goauthentik-redis': {
|
||||
'image': 'docker.io/library/redis:alpine',
|
||||
},
|
||||
},
|
||||
},
|
||||
'nginx': {
|
||||
'vhosts': {
|
||||
'goauthentik': {
|
||||
'locations': {
|
||||
'/': {
|
||||
'target': 'http://127.0.0.1:9000/',
|
||||
'websockets': True,
|
||||
'max_body_size': '5000m',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -5,6 +5,7 @@ groups = [
|
|||
]
|
||||
bundles = [
|
||||
"docker-engine",
|
||||
"docker-goauthentik",
|
||||
"docker-immich",
|
||||
"ipmitool",
|
||||
"redis",
|
||||
|
@ -27,6 +28,9 @@ gateway6 = "2001:67c:b54:1::1"
|
|||
redirect = "https://www.rottenraptor.com/"
|
||||
mode = 302
|
||||
|
||||
[metadata.nginx.vhosts.goauthentik]
|
||||
domain = "sso.rotten.city"
|
||||
|
||||
[metadata.nginx.vhosts.immich]
|
||||
domain = "immich.rotten.city"
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue