feat: Implement comprehensive service management features
- Added new components for managing services, including creation, editing, and listing. - Introduced stack management functionalities, allowing users to create, edit, and view stacks. - Implemented user management features, enabling user creation, editing, and listing. - Enhanced volume management with create and info functionalities. - Integrated network management capabilities, including listing and viewing networks. - Developed task management features for viewing and listing tasks. - Added support for Docker registry interactions, including authentication and repository management. - Implemented error handling and user feedback mechanisms throughout the application. - Established a robust routing system for navigating between different components and views. - Enhanced the overall user experience with improved UI components and state management.
This commit is contained in:
20
Oracle Homelab/authentik/compose/.env
Executable file
20
Oracle Homelab/authentik/compose/.env
Executable file
@@ -0,0 +1,20 @@
|
||||
PG_PASS=2ho5zCNLKZyFhCWn4ovSVI7BA5jwqo35OtfM07Boz+Svlh98
|
||||
AUTHENTIK_SECRET_KEY=MxyzWVVrV1YP7R4p3QeW4TaF62SnkNLosKwujsZVlTqtjawnOfcZvcUpjnEJQqac28J/QALZXzWQmXWe
|
||||
AUTHENTIK_ERROR_REPORTING__ENABLED=true
|
||||
|
||||
# SMTP Host Emails are sent to
|
||||
AUTHENTIK_EMAIL__HOST=smtp.protonmail.ch
|
||||
AUTHENTIK_EMAIL__PORT=587
|
||||
# Optionally authenticate (don't add quotation marks to your password)
|
||||
AUTHENTIK_EMAIL__USERNAME=no-reply@prestonhunter.space
|
||||
AUTHENTIK_EMAIL__PASSWORD=WM98WVMWCGY9NC2U
|
||||
# Use StartTLS
|
||||
AUTHENTIK_EMAIL__USE_TLS=true
|
||||
# Use SSL
|
||||
AUTHENTIK_EMAIL__USE_SSL=false
|
||||
AUTHENTIK_EMAIL__TIMEOUT=10
|
||||
# Email address authentik will send from, should have a correct @domain
|
||||
AUTHENTIK_EMAIL__FROM=no-reply@prestonhunter.space
|
||||
|
||||
COMPOSE_PORT_HTTP=80
|
||||
COMPOSE_PORT_HTTPS=443
|
||||
119
Oracle Homelab/authentik/compose/compose.yml
Executable file
119
Oracle Homelab/authentik/compose/compose.yml
Executable file
@@ -0,0 +1,119 @@
|
||||
name: authentik
|
||||
services:
|
||||
postgresql:
|
||||
container_name: authentik-postgres
|
||||
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:
|
||||
- /mnt/docker/local/authentik/data/postgres/data:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
|
||||
POSTGRES_USER: ${PG_USER:-authentik}
|
||||
POSTGRES_DB: ${PG_DB:-authentik}
|
||||
env_file:
|
||||
- .env
|
||||
networks:
|
||||
- authentik-backend
|
||||
redis:
|
||||
container_name: authentik-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:
|
||||
- /mnt/docker/local/authentik/data/redis/data:/data
|
||||
networks:
|
||||
- authentik-backend
|
||||
server:
|
||||
container_name: authentik-server
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.4}
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
environment:
|
||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
AUTHENTIK_REDIS__HOST: redis
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
volumes:
|
||||
- /mnt/docker/local/authentik/data/media/data:/media
|
||||
- /mnt/docker/local/authentik/data/templates/data:/templates
|
||||
env_file:
|
||||
- .env
|
||||
#ports:
|
||||
# - "${COMPOSE_PORT_HTTP:-9000}:9000"
|
||||
# - "${COMPOSE_PORT_HTTPS:-9443}:9443"
|
||||
networks:
|
||||
- authentik-backend
|
||||
- npm_default
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
worker:
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2025.6.4}
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
environment:
|
||||
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:?secret key required}
|
||||
AUTHENTIK_REDIS__HOST: redis
|
||||
AUTHENTIK_POSTGRESQL__HOST: postgresql
|
||||
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
|
||||
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
|
||||
# `user: root` and the docker socket volume are optional.
|
||||
# See more for the docker socket integration here:
|
||||
# https://goauthentik.io/docs/outposts/integrations/docker
|
||||
# Removing `user: root` also prevents the worker from fixing the permissions
|
||||
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
|
||||
# (1000:1000 by default)
|
||||
user: root
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /mnt/docker/local/authentik/data/media/data:/media
|
||||
- /mnt/docker/local/authentik/data/certs/data:/certs
|
||||
- /mnt/docker/local/authentik/data/templates/data:/templates
|
||||
env_file:
|
||||
- .env
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- authentik-backend
|
||||
|
||||
radius_outpost:
|
||||
# image: ghcr.io/goauthentik/radius:latest
|
||||
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/radius}:${AUTHENTIK_TAG:-2025.6.4}
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 1812:1812/udp
|
||||
environment:
|
||||
AUTHENTIK_HOST: https://auth.prestonhunter.space
|
||||
AUTHENTIK_INSECURE: "true"
|
||||
AUTHENTIK_TOKEN: HIrjmFIxFFtDHwJU5O1U0zbK7UALFe9d3dAu5eBIxRVeAJE1ufp4ssaz4QUK
|
||||
depends_on:
|
||||
- server
|
||||
networks:
|
||||
- authentik-backend
|
||||
- npm_default
|
||||
|
||||
networks:
|
||||
authentik-backend:
|
||||
external: true
|
||||
npm_default:
|
||||
external: true
|
||||
Reference in New Issue
Block a user