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:
2025-12-20 19:13:09 -05:00
parent b0f3230631
commit 090796be3c
285 changed files with 29872 additions and 0 deletions

View 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

View 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