trying regular docker-compose
This commit is contained in:
@@ -1,109 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
project.name = "authentik";
|
||||
|
||||
services = let
|
||||
authentik_img = "ghcr.io/goauthentik/server:2024.2.2";
|
||||
in {
|
||||
|
||||
postgresql.service = {
|
||||
image = "docker.io/library/postgres:12-alpine";
|
||||
restart = "unless-stopped";
|
||||
#command = "";
|
||||
volumes = [
|
||||
"/ssd1/Authentik/data/postgres:/var/lib/postgresql/data"
|
||||
"/ssd1/Authentik/data/postgres.env:/etc/postgres/postgres.env"
|
||||
];
|
||||
healthcheck = {
|
||||
test = [ "CMD-SHELL" "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ];
|
||||
start_period = "20s";
|
||||
interval = "30s";
|
||||
retries = 5;
|
||||
timeout = "5s";
|
||||
};
|
||||
environment = [
|
||||
"POSTGRES_PASSWORD=$${POSTGRES_PASSWORD}"
|
||||
"POSTGRES_USER=$${POSTGRES_USER}"
|
||||
"POSTGRES_DB=$${POSTGRES_DB}"
|
||||
];
|
||||
env_file = "/etc/postgres/postgres.env";
|
||||
networks = [ "backend" ];
|
||||
};
|
||||
|
||||
redis.service = {
|
||||
image = "docker.io/library/redis:alpine";
|
||||
restart = "unless-stopped";
|
||||
command = "--save 60 1 --loglevel warning";
|
||||
volumes = [
|
||||
"/ssd1/Authentik/data/redis:/data"
|
||||
];
|
||||
healthcheck = {
|
||||
test = [ "CMD-SHELL" "redis-cli ping | grep PONG" ];
|
||||
start_period = "20s";
|
||||
interval = "30s";
|
||||
retries = 5;
|
||||
timeout = "3s";
|
||||
};
|
||||
#user = "authentik";
|
||||
#env_file = "";
|
||||
networks = [ "backend" ];
|
||||
};
|
||||
|
||||
server.service = {
|
||||
image = authentik_img;
|
||||
restart = "unless-stopped";
|
||||
command = "server";
|
||||
volumes = [
|
||||
"/ssd1/Authentik/data/authentik.env:/etc/authentik/authentik.env"
|
||||
];
|
||||
ports = [
|
||||
"9000:9000"
|
||||
"9443:9443"
|
||||
];
|
||||
/*labels = [
|
||||
"traefik.enable=true"
|
||||
"traefik.http.routers.authentik.rule=Host(`auth.blunkall.us`)"
|
||||
"traefik.http.routers.authentik.entrypoints=websecure"
|
||||
"traefik.http.routers.authentik.tls=true"
|
||||
"traefik.http.routers.authentik.certResolver=cloudflare"
|
||||
"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}"
|
||||
];
|
||||
depends_on = [ "postgresql" "redis" ];
|
||||
#user = "";
|
||||
env_file = "/etc/authentik/authentik.env";
|
||||
networks = [ "backend" "frontend" ];
|
||||
};
|
||||
|
||||
worker.service = {
|
||||
image = authentik_img;
|
||||
restart = "unless-stopped";
|
||||
command = "worker";
|
||||
volumes = [
|
||||
"/ssd1/Authentik/data/authentik.env:/root/authentik.env"
|
||||
];
|
||||
depends_on = [ "postgresql" "redis" ];
|
||||
user = "root";
|
||||
env_file = "/root/authentik.env";
|
||||
networks = [ "backend" ];
|
||||
};
|
||||
};
|
||||
|
||||
networks = {
|
||||
backend = {
|
||||
name = "backend";
|
||||
};
|
||||
frontend = {
|
||||
name = "frontend";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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