trying regular docker-compose
This commit is contained in:
@@ -21,12 +21,12 @@
|
||||
retries = 5;
|
||||
timeout = "5s";
|
||||
};
|
||||
environment = [
|
||||
"POSTGRES_PASSWORD=$${POSTGRES_PASSWORD}"
|
||||
"POSTGRES_USER=$${POSTGRES_USER}"
|
||||
"POSTGRES_DB=$${POSTGRES_DB}"
|
||||
];
|
||||
env_file = "/etc/postgres/postgres.env";
|
||||
environment = {
|
||||
POSTGRES_PASSWORD = "$${POSTGRES_PASSWORD}";
|
||||
POSTGRES_USER = "$${POSTGRES_USER}";
|
||||
POSTGRES_DB = "$${POSTGRES_DB}";
|
||||
};
|
||||
env_file = [ "/etc/postgres/postgres.env" ];
|
||||
networks = [ "backend" ];
|
||||
};
|
||||
|
||||
@@ -69,18 +69,18 @@
|
||||
"traefik.http.routers.authentik.service=authentik"
|
||||
"traefik.http.services.authentik.loadBalancer.server.port=9000"
|
||||
];*/
|
||||
environment = [
|
||||
"AUTHENTIK_REDIS__HOST=redis"
|
||||
"AUTHENTIK_POSTGRESQL__HOST=postgresql"
|
||||
"AUTHENTIK_POSTGRESQL__USER=$${POSTGRES_USER}"
|
||||
"AUTHENTIK_POSTGRESQL__NAME=$${POSTGRES_DB}"
|
||||
"AUTHENTIK_POSTGRESQL__PASSWORD=$${POSTGRES_PASSWORD}"
|
||||
"AUTHENTIK_ERROR_REPORTING__ENABLED=true"
|
||||
"AUTHENTIK_SECRET_KEY=$${AUTHENTIK_SECRET_KEY}"
|
||||
];
|
||||
environment = {
|
||||
AUTHENTIK_REDIS__HOST = "redis";
|
||||
AUTHENTIK_POSTGRESQL__HOST = "postgresql";
|
||||
AUTHENTIK_POSTGRESQL__USER = "$${POSTGRES_USER}";
|
||||
AUTHENTIK_POSTGRESQL__NAME = "$${POSTGRES_DB}";
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD = "$${POSTGRES_PASSWORD}";
|
||||
AUTHENTIK_ERROR_REPORTING__ENABLED = "true";
|
||||
AUTHENTIK_SECRET_KEY = "$${AUTHENTIK_SECRET_KEY}";
|
||||
};
|
||||
depends_on = [ "postgresql" "redis" ];
|
||||
#user = "";
|
||||
env_file = "/etc/authentik/authentik.env";
|
||||
env_file = [ "/etc/authentik/authentik.env" ];
|
||||
networks = [ "backend" "frontend" ];
|
||||
};
|
||||
|
||||
@@ -90,10 +90,11 @@
|
||||
command = "worker";
|
||||
volumes = [
|
||||
"/ssd1/Authentik/data/authentik.env:/root/authentik.env"
|
||||
"/var/run/podman/podman.sock:/var/run/docker.sock"
|
||||
];
|
||||
depends_on = [ "postgresql" "redis" ];
|
||||
user = "root";
|
||||
env_file = "/root/authentik.env";
|
||||
env_file = [ "/root/authentik.env" ];
|
||||
networks = [ "backend" ];
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
{ config, lib, inputs, ... }: {
|
||||
|
||||
options.sysconfig.opts.virtualization.authentik.enable = lib.options.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.arion.nixosModules.arion
|
||||
];
|
||||
|
||||
config = lib.mkIf config.sysconfig.opts.virtualization.authentik.enable {
|
||||
|
||||
sops.templates."authentik.env" = {
|
||||
content = ''
|
||||
POSTGRES_DB=authentik-db
|
||||
POSTGRES_USER=authentik-admin
|
||||
POSTGRES_PASSWORD=${config.sops.placeholder."authentik/pass"}
|
||||
AUTHENTIK_SECRET_KEY=${config.sops.placeholder."authentik/secret_key"}
|
||||
'';
|
||||
|
||||
path = "/ssd1/Authentik/data/authentik.env";
|
||||
};
|
||||
|
||||
virtualisation.arion.backend = "podman-socket";
|
||||
|
||||
virtualisation.arion.projects.authentik = {
|
||||
serviceName = "authentik";
|
||||
|
||||
settings = {
|
||||
imports = [ ./arion-compose.nix ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, inputs, ... }: {
|
||||
{ pkgs, config, lib, inputs, ... }: {
|
||||
|
||||
options.sysconfig.opts.virtualization.authentik.enable = lib.options.mkOption {
|
||||
type = lib.types.bool;
|
||||
@@ -19,15 +19,17 @@
|
||||
AUTHENTIK_SECRET_KEY=${config.sops.placeholder."authentik/secret_key"}
|
||||
'';
|
||||
|
||||
path = "/ssd1/Authentik/data/authentik.env";
|
||||
path = "/home/nathan/Projects/System/system-config/services/containers/authentik/.env";
|
||||
};
|
||||
|
||||
virtualisation.arion.projects.authentik = {
|
||||
serviceName = "authentik";
|
||||
/*systemd.services.launchAuthentik = {
|
||||
|
||||
settings = {
|
||||
imports = [ ./arion-compose.nix ];
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
|
||||
script = ''
|
||||
cd /home/nathan/Projects/System/system-config/services/containers/authentik
|
||||
${pkgs.docker-compose}/bin/docker-compose up -d
|
||||
'';
|
||||
};*/
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
|
||||
services:
|
||||
postgresql:
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||
start_period: 20s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
timeout: 5s
|
||||
volumes:
|
||||
- database:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_DB=${POSTGRES_DB}
|
||||
env_file:
|
||||
- .env
|
||||
redis:
|
||||
image: docker.io/library/redis:alpine
|
||||
command: --save 60 1 --loglevel warning
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||
start_period: 20s
|
||||
interval: 30s
|
||||
retries: 5
|
||||
timeout: 3s
|
||||
volumes:
|
||||
- redis:/data
|
||||
server:
|
||||
image: ghcr.io/goauthentik/server:2024.10.1
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
environment:
|
||||
- AUTHENTIK_REDIS__HOST=redis
|
||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
||||
- AUTHENTIK_POSTGRESQL__USER=${POSTGRES_USER}
|
||||
- AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB}
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD}
|
||||
- AUTHENTIK_ERROR_REPORTING__ENABLED=true
|
||||
- AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
|
||||
volumes:
|
||||
- ./media:/media
|
||||
- ./custom-templates:/templates
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "${COMPOSE_PORT_HTTP:-9000}:9000"
|
||||
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
|
||||
depends_on:
|
||||
- postgresql
|
||||
- redis
|
||||
worker:
|
||||
image: ghcr.io/goauthentik/server:2024.10.1
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
environment:
|
||||
- AUTHENTIK_REDIS__HOST=redis
|
||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
||||
- AUTHENTIK_POSTGRESQL__USER=${POSTGRES_USER}
|
||||
- AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB}
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD}
|
||||
- AUTHENTIK_ERROR_REPORTING__ENABLED=true
|
||||
- AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
|
||||
user: root
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./media:/media
|
||||
- ./certs:/certs
|
||||
- ./custom-templates:/templates
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
- postgresql
|
||||
- redis
|
||||
|
||||
volumes:
|
||||
database:
|
||||
driver: local
|
||||
redis:
|
||||
driver: local
|
||||
Reference in New Issue
Block a user