mirror of
https://github.com/wizarrrr/wizarr.git
synced 2026-04-18 21:18:33 -04:00
Security: - Fix XSS in HTMX responses by replacing f-string HTML with Jinja partials - Fix TLS verify_cert not being applied (add Tls config to ldap3 Server) - Fix password_hash NOT NULL conflict for LDAP-only admin accounts - Fix should_create_ldap_user defaulting to True for existing invitations Correctness: - Fix DN reconstruction fragility using escape_rdn for special characters - Fix connection leaks with try/finally in all LDAPClient methods - Fix sync interval logic (check FLASK_ENV not WIZARR_ENABLE_SCHEDULER) - Only register LDAP sync job when LDAP is actually configured - Make find_user_dn and service_connection public API methods Cleanup: - Squash 5 incremental LDAP migrations into single 20251226_add_ldap_support - Remove duplicate imports/queries in auth routes - Replace f-string logging with %s formatting - Extract inline HTML to Jinja template partials
83 lines
2.2 KiB
YAML
83 lines
2.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Jellyfin test server - Fresh container, configured via API
|
|
jellyfin-test:
|
|
image: jellyfin/jellyfin:latest
|
|
container_name: wizarr-jellyfin-test
|
|
ports:
|
|
- "8096:8096"
|
|
environment:
|
|
- JELLYFIN_PublishedServerUrl=http://localhost:8096
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8096/System/Info/Public"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
|
|
# Plex test server - Fresh container, configured via API
|
|
plex-test:
|
|
image: plexinc/pms-docker:latest
|
|
container_name: wizarr-plex-test
|
|
ports:
|
|
- "32400:32400"
|
|
environment:
|
|
- PLEX_UID=1000
|
|
- PLEX_GID=1000
|
|
- TZ=UTC
|
|
# Will be claimed via API using test account
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:32400/identity"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 120s
|
|
|
|
# Emby test server - Fresh container, configured via API
|
|
emby-test:
|
|
image: emby/embyserver:latest
|
|
container_name: wizarr-emby-test
|
|
ports:
|
|
- "8097:8096"
|
|
environment:
|
|
- UID=1000
|
|
- GID=1000
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8096/emby/System/Info/Public"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
|
|
# AudiobookShelf test server - Fresh container, configured via API
|
|
audiobookshelf-test:
|
|
image: ghcr.io/advplyr/audiobookshelf:latest
|
|
container_name: wizarr-abs-test
|
|
ports:
|
|
- "13378:80"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:80/healthcheck"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
# LLDAP test server - Lightweight LDAP for testing authentication
|
|
lldap-test:
|
|
image: lldap/lldap:stable
|
|
container_name: wizarr-lldap-test
|
|
ports:
|
|
- "3890:3890" # LDAP port
|
|
- "17170:17170" # Web UI
|
|
environment:
|
|
- LLDAP_JWT_SECRET=test_jwt_secret_change_in_production
|
|
- LLDAP_LDAP_USER_PASS=test_admin_password
|
|
- LLDAP_LDAP_BASE_DN=dc=wizarr,dc=test
|
|
healthcheck:
|
|
test: ["CMD", "sh", "-c", "nc -z localhost 3890"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|