fix duplicate secrets
This commit is contained in:
@@ -0,0 +1,85 @@
|
|||||||
|
name: pflab-id
|
||||||
|
|
||||||
|
########## ===== ANCHORS ===== ##########
|
||||||
|
|
||||||
|
x-authentik-env: &authentik-env
|
||||||
|
AUTHENTIK_POSTGRESQL__HOST: pflab-postgres
|
||||||
|
AUTHENTIK_POSTGRESQL__PORT: 5432
|
||||||
|
AUTHENTIK_POSTGRESQL__NAME: authentik
|
||||||
|
|
||||||
|
AUTHENTIK_ERROR_REPORTING__ENABLED: false
|
||||||
|
AUTHENTIK_LOG_LEVEL: info
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ##########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
pflab_proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
|
||||||
|
pflab_backend:
|
||||||
|
name: pflab_backend
|
||||||
|
|
||||||
|
########## ===== VOLUMES ===== ##########
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
|
||||||
|
authentik_media:
|
||||||
|
name: pflab_authentik_media
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
authentik_templates:
|
||||||
|
name: pflab_authentik_template
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
########## ===== SERVICES ===== ##########
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
##### AUTHENTIK SERVER #####
|
||||||
|
|
||||||
|
pflab-authentik:
|
||||||
|
|
||||||
|
image: ghcr.io/goauthentik/server:2026.5.3
|
||||||
|
container_name: pflab-authentik
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
command: server
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
environment: *authentik-env
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- authentik_media:/media
|
||||||
|
- authentik_templates:/templates
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_proxy
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
##### AUTHENTIK WORKER #####
|
||||||
|
|
||||||
|
pflab-authentik-worker:
|
||||||
|
|
||||||
|
image: ghcr.io/goauthentik/server:2026.5.3
|
||||||
|
container_name: pflab-authentik-worker
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
command: worker
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
environment: *authentik-env
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- authentik_media:/media
|
||||||
|
- authentik_templates:/templates
|
||||||
|
|
||||||
|
# Needed only if you want Authentik-managed outposts
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
pflab-authentik:
|
||||||
|
condition: service_started
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
name: pflab-secrets
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ##########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
pflab_proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
|
||||||
|
pflab_auth:
|
||||||
|
name: pflab_auth
|
||||||
|
|
||||||
|
########## ===== VOLUMES ===== ##########
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
|
||||||
|
vaultwarden_data:
|
||||||
|
name: pflab_vaultwarden
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
########## ===== SERVICES ===== ##########
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
##### VAULTWARDEN
|
||||||
|
pflab-vaultwarden:
|
||||||
|
|
||||||
|
image: vaultwarden/server:latest
|
||||||
|
container_name: pflab-vaultwarden
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
environment:
|
||||||
|
WEBSOCKET_ENABLED: "true"
|
||||||
|
LOG_LEVEL: warn
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- vaultwarden_data:/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_proxy
|
||||||
|
- pflab_auth
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
name: pflab-master-compose
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ###########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
auth:
|
||||||
|
name: pflab_auth
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
backend:
|
||||||
|
name: pflab_backend
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
########## ===== INCLUDES ===== ##########
|
||||||
|
|
||||||
|
include:
|
||||||
|
|
||||||
|
##### REVERSE-PROXY
|
||||||
|
- ./reverse-proxy/pflab-proxy/compose.yaml
|
||||||
|
|
||||||
|
##### AUTH
|
||||||
|
# - ./auth/pflab-id/compose.yaml
|
||||||
|
- ./auth/pflab-secrets/compose.yaml
|
||||||
|
|
||||||
|
##### STORAGE
|
||||||
|
- ./storage/pflab-postgres/compose.yaml
|
||||||
|
- ./storage/pflab-git/compose.yaml
|
||||||
|
## SPACETIME-DB
|
||||||
|
|
||||||
|
##### COMS
|
||||||
|
# - ./coms/pflab-alias/compose.yaml
|
||||||
|
# - ./coms/pflab-coms/compose.yaml
|
||||||
|
|
||||||
|
##### MEDIA
|
||||||
|
## JELLYFIN
|
||||||
|
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
name: simplelogin
|
||||||
|
|
||||||
|
x-simplelogin-image: &simplelogin-image
|
||||||
|
image: simplelogin/app:4.6.5-beta
|
||||||
|
|
||||||
|
x-simplelogin-env: &simplelogin-env
|
||||||
|
URL: https://alias.tinyhome.ndmv.net
|
||||||
|
EMAIL_DOMAIN: tinyhome.ndmv.net
|
||||||
|
SUPPORT_EMAIL: alias@postbox.tinyhome.ndmv.net
|
||||||
|
EMAIL_SERVERS_WITH_PRIORITY: '[(10, "alias.tinyhome.ndmv.net.")]'
|
||||||
|
DISABLE_ALIAS_SUFFIX: "1"
|
||||||
|
DKIM_PRIVATE_KEY_PATH: /dkim.key
|
||||||
|
GNUPGHOME: /sl/pgp
|
||||||
|
LOCAL_FILE_UPLOAD: "1"
|
||||||
|
POSTFIX_SERVER: simplelogin-postfix
|
||||||
|
|
||||||
|
x-simplelogin-volumes: &simplelogin-volumes
|
||||||
|
- simplelogin_gpg:/sl/pgp
|
||||||
|
- simplelogin_upload:/code/static/upload
|
||||||
|
- ./.secrets/dkim-rsa.key:/dkim.key:ro
|
||||||
|
- ./.secrets/dkim.pub.key:/dkim.pub.key:ro
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pflab_proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
|
||||||
|
pflab_backend:
|
||||||
|
name: pflab_backend
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
simplelogin_gpg:
|
||||||
|
name: pflab_simplelogin_gpg
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
simplelogin_upload:
|
||||||
|
name: pflab_simplelogin_uploads
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
simplelogin-migration:
|
||||||
|
<<: *simplelogin-image
|
||||||
|
command: ["alembic", "upgrade", "head"]
|
||||||
|
container_name: pflab-simplelogin-migration
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment: *simplelogin-env
|
||||||
|
|
||||||
|
volumes: *simplelogin-volumes
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
simplelogin-init:
|
||||||
|
<<: *simplelogin-image
|
||||||
|
command: ["python", "init_app.py"]
|
||||||
|
container_name: pflab-simplelogin-init
|
||||||
|
depends_on:
|
||||||
|
simplelogin-migration:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment: *simplelogin-env
|
||||||
|
|
||||||
|
volumes: *simplelogin-volumes
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
simplelogin-postfix:
|
||||||
|
image: simplelogin/postfix:latest
|
||||||
|
container_name: pflab-simplelogin-postfix
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment:
|
||||||
|
ALIASES_DEFAULT_DOMAIN: tinyhome.ndmv.net
|
||||||
|
DB_HOST: pflab-postgres
|
||||||
|
DB_USER: simplelogin
|
||||||
|
DB_NAME: simplelogin
|
||||||
|
EMAIL_HANDLER_HOST: pflab-simplelogin-email
|
||||||
|
LETSENCRYPT_EMAIL: alias@postbox.tinyhome.ndmv.net
|
||||||
|
POSTFIX_FQDN: alias.tinyhome.ndmv.net
|
||||||
|
SIMPLELOGIN_COMPATIBILITY_MODE: v4
|
||||||
|
# If you want the postfix container to use certs managed elsewhere,
|
||||||
|
# mount the files and uncomment these:
|
||||||
|
# TLS_KEY_FILE: /tls/privkey.pem
|
||||||
|
# TLS_CERT_FILE: /tls/fullchain.pem
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "25:25"
|
||||||
|
- "587:587"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
simplelogin:
|
||||||
|
<<: [*simplelogin-image]
|
||||||
|
container_name: pflab-simplelogin
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- simplelogin-postfix
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "curl -fsS http://localhost:7777 >/dev/null || exit 1"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 30s
|
||||||
|
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment: *simplelogin-env
|
||||||
|
|
||||||
|
volumes: *simplelogin-volumes
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_proxy
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
simplelogin-email:
|
||||||
|
<<: [*simplelogin-image]
|
||||||
|
container_name: pflab-simplelogin-email
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
simplelogin-init:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
simplelogin-postfix:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
command: python email_handler.py
|
||||||
|
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment: *simplelogin-env
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:20381:20381"
|
||||||
|
|
||||||
|
volumes: *simplelogin-volumes
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
simplelogin-worker:
|
||||||
|
<<: [*simplelogin-image]
|
||||||
|
container_name: pflab-simplelogin-worker
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
simplelogin-init:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
simplelogin-email:
|
||||||
|
condition: service_started
|
||||||
|
|
||||||
|
command: python job_runner.py
|
||||||
|
|
||||||
|
env_file:
|
||||||
|
- ./.secrets/.env
|
||||||
|
environment: *simplelogin-env
|
||||||
|
|
||||||
|
volumes: *simplelogin-volumes
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_backend
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
name: pflab-proxy
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ##########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
edge_proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
pflab_proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
|
||||||
|
pflab_auth:
|
||||||
|
name: pflab_auth
|
||||||
|
|
||||||
|
########## ===== VOLUMES ===== ##########
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
|
||||||
|
npm_data:
|
||||||
|
name: pflab_npm_data
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
npm_letsencrypt:
|
||||||
|
name: pflab_npm_letsencrypt
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
npm_app:
|
||||||
|
name: pflab_npm_app
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
########## ===== SERVICES ===== ##########
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
##### PROXY
|
||||||
|
pflab-nginx:
|
||||||
|
|
||||||
|
image: jc21/nginx-proxy-manager:latest
|
||||||
|
container_name: pflab-nginx
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
environment:
|
||||||
|
DISABLE_IPV6: "true"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- npm_data:/data
|
||||||
|
- npm_letsencrypt:/etc/letsencrypt
|
||||||
|
- npm_app:/app
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pflab_proxy:
|
||||||
|
pflab_auth:
|
||||||
|
edge_proxy:
|
||||||
|
ipv4_address: 10.60.0.11
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
name: pflab-git
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ##########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
pflab_proxy:
|
||||||
|
name: pflab_proxy
|
||||||
|
|
||||||
|
pflab_backend:
|
||||||
|
name: pflab_backend
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
########## ===== VOLUMES ===== ##########
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
|
||||||
|
gitea_data:
|
||||||
|
name: pflab_gitea
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
########## ===== SERVICES ===== ##########
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
##### == GITEA == #####
|
||||||
|
|
||||||
|
pflab-gitea:
|
||||||
|
|
||||||
|
image: docker.gitea.com/gitea:latest
|
||||||
|
container_name: pflab-gitea
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
environment:
|
||||||
|
USER_UID: "1000"
|
||||||
|
USER_GID: "1000"
|
||||||
|
GITEA__database__DB_TYPE: postgres
|
||||||
|
GITEA__database__HOST: pflab-postgres:5432
|
||||||
|
GITEA__database__NAME: gitea
|
||||||
|
GITEA__server__SSH_PORT: "2223"
|
||||||
|
GITEA__server__SSH_LISTEN_PORT: "22"
|
||||||
|
GITEA__server__HTTP_PORT: "3000"
|
||||||
|
GITEA__mailer__ENABLED: "false"
|
||||||
|
GITEA__mailer__PROTOCOL: "smtp"
|
||||||
|
ports:
|
||||||
|
- "2223:22"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- gitea_data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- pflab_proxy
|
||||||
|
- pflab_backend
|
||||||
|
|
||||||
|
#####
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
name: pflab-postgres
|
||||||
|
|
||||||
|
########## ===== NETWORKS ===== ##########
|
||||||
|
|
||||||
|
networks:
|
||||||
|
|
||||||
|
pflab_backend:
|
||||||
|
name: pflab_backend
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
########## ===== VOLUMES ===== ##########
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
|
||||||
|
postgres_data:
|
||||||
|
name: pflab_postgres
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
########## ===== SERVICES ===== ##########
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
pflab-postgres:
|
||||||
|
image: postgres:17-alpine
|
||||||
|
container_name: pflab-postgres
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
env_file: [.secrets/.env]
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
pflab_backend:
|
||||||
|
aliases:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
#####
|
||||||
Reference in New Issue
Block a user