Docker-based authentication infrastructure with Authelia, LLDAP, Redis, and signup portal.
# Generate secrets
./generate-secrets.sh --all
# Start services
docker-compose up -d| Service | URL | Description |
|---|---|---|
| Authelia | http://localhost:9091 | Authentication portal |
| Signup | http://localhost:8081 | User registration |
| LLDAP | http://localhost:17170 | LDAP admin |
| Redis | localhost:6379 | Session storage |
All service configuration is in .env file:
- Authelia secrets
- Redis password
- LLDAP settings
- Signup service params
Store sensitive data in secrets/ directory:
session_secret- Authelia sessionjwt_secret- Password reset tokensstorage_key- Database encryptionlldap_admin_password- LDAP adminlldap_jwt_secret- LLDAP JWTredis_password- Redis auth
Generate secrets:
./generate-secrets.sh# Rebuild signup service
docker-compose build signup
docker-compose up -d signupdocker-compose logs -f authelia
docker-compose logs -f signup
docker-compose logs -f lldapGenerate Redis TLS certs:
./generate-certs.shLocation: signup/backend/
main.go- HTTP server with LDAP integration- Uses LDAP Password Modify Extended Operation (RFC 3062) for secure password handling
Build locally:
cd signup && docker build -t signup-service .Push to Docker Hub:
./signup/scripts/push.sh [version] # Default: latestLocation: signup/frontend/
index.html- Landing page (Sign Up / Sign In buttons)signup.html- Registration formsuccess.html- Registration success pagestyle.css- Styling (includes dark mode)script.js- Form submission logic
| Method | Path | Description |
|---|---|---|
| POST | /api/signup | Create new user |
| GET | /health | Health check |
- Add reverse proxy (Traefik/Nginx) with HTTPS
- Configure firewall to limit exposed ports
- Enable Redis TLS (requires Authelia update for full support)
- Set up backups for
config/,lldap/,redis/