Files
tessera-ctl/docker-compose.dev.yml
T
schalli f928cd7713 feat(02-04): LdapModule with sync service, config service, scheduler, and controller
- LdapService uses ldapts for DIRECTORY SYNC ONLY (anti-pattern avoidance)
- LdapConfigService creates default field mappings per D-16 (displayName, mail, sAMAccountName)
- Custom field mappings can be added/removed per D-17
- Per-tenant LDAP config per D-18
- syncUsersForTenant deactivates users removed from LDAP per D-15
- LdapSyncScheduler sets tenant context explicitly per Pitfall 2
- Manual sync endpoint POST /ldap/sync per D-14
- Auto-sync cron checks syncIntervalMin per D-14
- Test connection endpoint for LDAP config validation
- OpenLDAP + phpLDAPadmin added to docker-compose.dev.yml
- LDAP search filter sanitization per T-02-16
- bindPassword never returned in API responses per T-02-17
2026-06-19 08:38:07 +02:00

54 lines
1.4 KiB
YAML

services:
web:
volumes:
- ./apps/web/src:/app/apps/web/src
command: ["pnpm", "--filter", "@tessera/web", "dev"]
api:
volumes:
- ./apps/api/src:/app/apps/api/src
- ./apps/api/prisma:/app/apps/api/prisma
environment:
JWT_SECRET: ${JWT_SECRET:-tessera-dev-jwt-secret-change-in-production}
TESSERA_ADMIN_USER: ${TESSERA_ADMIN_USER:-admin}
TESSERA_ADMIN_EMAIL: ${TESSERA_ADMIN_EMAIL:-admin@tessera.local}
TESSERA_ADMIN_PASSWORD: ${TESSERA_ADMIN_PASSWORD:-admin123}
TESSERA_FORCE_CHANGE: ${TESSERA_FORCE_CHANGE:-false}
TESSERA_SMTP_HOST: mailhog
TESSERA_SMTP_PORT: 1025
TESSERA_SMTP_SECURE: "false"
TESSERA_SMTP_USER: ""
TESSERA_SMTP_PASSWORD: ""
TESSERA_SMTP_FROM: "Tessera <tessera@tessera.local>"
TESSERA_APP_URL: http://localhost:3000
command: ["pnpm", "--filter", "@tessera/api", "start:dev"]
mailhog:
image: mailhog/mailhog
ports:
- "1025:1025"
- "8025:8025"
networks:
- backend-net
openldap:
image: osixia/openldap:1.5.0
environment:
LDAP_ORGANISATION: Tessera
LDAP_DOMAIN: tessera.local
LDAP_ADMIN_PASSWORD: admin
ports:
- "389:389"
- "636:636"
networks:
- data-net
phpldapadmin:
image: osixia/phpldapadmin:0.9.0
environment:
PHPLDAPADMIN_LDAP_HOSTS: openldap
ports:
- "6443:443"
networks:
- backend-net