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 = [
|
bundles = [
|
||||||
"docker-engine",
|
"docker-engine",
|
||||||
|
"docker-goauthentik",
|
||||||
"docker-immich",
|
"docker-immich",
|
||||||
"ipmitool",
|
"ipmitool",
|
||||||
"redis",
|
"redis",
|
||||||
|
@ -27,6 +28,9 @@ gateway6 = "2001:67c:b54:1::1"
|
||||||
redirect = "https://www.rottenraptor.com/"
|
redirect = "https://www.rottenraptor.com/"
|
||||||
mode = 302
|
mode = 302
|
||||||
|
|
||||||
|
[metadata.nginx.vhosts.goauthentik]
|
||||||
|
domain = "sso.rotten.city"
|
||||||
|
|
||||||
[metadata.nginx.vhosts.immich]
|
[metadata.nginx.vhosts.immich]
|
||||||
domain = "immich.rotten.city"
|
domain = "immich.rotten.city"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue