Initial import

This commit is contained in:
Admin
2026-07-11 17:08:37 +00:00
commit 03e5f3452b
303 changed files with 43365 additions and 0 deletions
+163
View File
@@ -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:
thlab_proxy:
name: thlab_proxy
thlab_backend:
name: thlab_backend
volumes:
simplelogin_gpg:
name: thlab_simplelogin_gpg
driver: local
simplelogin_upload:
name: thlab_simplelogin_uploads
driver: local
services:
simplelogin-migration:
<<: *simplelogin-image
command: ["alembic", "upgrade", "head"]
container_name: thlab-simplelogin-migration
env_file:
- ./.secrets/.env
environment: *simplelogin-env
volumes: *simplelogin-volumes
networks:
- thlab_backend
simplelogin-init:
<<: *simplelogin-image
command: ["python", "init_app.py"]
container_name: thlab-simplelogin-init
depends_on:
simplelogin-migration:
condition: service_completed_successfully
env_file:
- ./.secrets/.env
environment: *simplelogin-env
volumes: *simplelogin-volumes
networks:
- thlab_backend
simplelogin-postfix:
image: simplelogin/postfix:latest
container_name: thlab-simplelogin-postfix
restart: unless-stopped
env_file:
- ./.secrets/.env
environment:
ALIASES_DEFAULT_DOMAIN: tinyhome.ndmv.net
DB_HOST: thlab-postgres
DB_USER: simplelogin
DB_NAME: simplelogin
EMAIL_HANDLER_HOST: thlab-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:
- thlab_backend
simplelogin:
<<: [*simplelogin-image]
container_name: thlab-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:
- thlab_proxy
- thlab_backend
simplelogin-email:
<<: [*simplelogin-image]
container_name: thlab-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:
- thlab_backend
simplelogin-worker:
<<: [*simplelogin-image]
container_name: thlab-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:
- thlab_backend
+15
View File
@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQC7mLecRqtTzsTTLqooj3gIFnKo7sUBXFI+khykVO6DxX8L4TeF
6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5kRFJisT7OID20rownsboDJnL
dIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9aphCtIo4eJiS1LVGhEXQIDAQAB
AoGAA83gA1JHjSaHRUUP/EyUgY16+8QDyLhHjq9F12tFfvSVU/dYOeXxlpLVauyP
wJ4w7jqNDcq10jROX0nva6PIJchHsMll0qPNV7LYxs205uDkkp7Bo4KAWrW5sagw
DULem1LjNWtRaiO8KGKArLmvHvW29sXsULJf9YtEUKVDb10CQQDedgMp/+Zb+0rs
DgMebdf34UYY4aIrPoVI6WrKQAcXVhOROvduzE0a9xT70CpmGZz92L2Mm9AZQt0c
Y/4jI4ALAkEA1+EYbqfSNSXcLk7OPePUjM453t2sDWcgk/hqzmYsinCDk6GPRZpA
0Tv9Qy9ygY7F/BSOwf5N1jqsMFQzp4aGNwJBAKql+n1gWPRcSzfS89+GwXHb9Cqo
Av+LQTESJSIqhYYIOJBinGX5AHjb6tPT9oJFyaEMfzL6X2LRYM4jglKwK8sCQQCC
jfzKnu9/eOAJmVsdDrWyWd2hrImqqV2IX0mofR4esyC/nYsZ2smsQA1QHlevhnqx
knUrWPIVxvHvYFzEyZRNAkEAl99yuYIuaUSv1xdTdGI1OKXpAAgCfl5O3GkFej8v
5dBIM7t7OgIJvsOHB8PPzIXQ0hhH3xZnmOLiuOipIj/OtA==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7mLecRqtTzsTTLqooj3gIFnKo
7sUBXFI+khykVO6DxX8L4TeF6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5
kRFJisT7OID20rownsboDJnLdIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9ap
hCtIo4eJiS1LVGhEXQIDAQAB
-----END PUBLIC KEY-----