Pas ASD-PMA aan uw organisatie aan
Het .env bestand bevat alle configuratie voor uw ASD-PMA installatie:
# Domain configuratie
DOMAIN=example.com
SUBDOMAIN_PREFIX=asd
# Database wachtwoorden
POSTGRES_PASSWORD=your-secure-password
MARIADB_ROOT_PASSWORD=your-secure-password
# Service configuratie
ZAMMAD_PORT=8080
REDMINE_PORT=3000
ERPNEXT_PORT=8000
MATTERMOST_PORT=8065
SUPERSET_PORT=8088
N8N_PORT=5678
WIKIJS_PORT=3001
ZAMMAD_ADMIN_EMAIL=admin@example.com
ZAMMAD_ADMIN_PASSWORD=secure-password
ZAMMAD_ORGANIZATION=My Company
REDMINE_DB_PASSWORD=redmine-db-password
REDMINE_SECRET_KEY_BASE=generate-with-openssl-rand-hex-64
ERPNEXT_ADMIN_PASSWORD=admin-password
ERPNEXT_SITE_NAME=site1.local
MATTERMOST_DB_PASSWORD=mattermost-db-password
MATTERMOST_SITE_URL=https://mattermost.example.com
SUPERSET_ADMIN_EMAIL=admin@example.com
SUPERSET_ADMIN_PASSWORD=admin-password
SUPERSET_SECRET_KEY=generate-random-key
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=secure-password
N8N_ENCRYPTION_KEY=generate-random-key
Caddy regelt automatisch SSL certificaten:
# In .env
CADDY_ACME_EMAIL=admin@example.com
CADDY_TLS_MODE=auto
CADDY_TLS_MODE=manual
CADDY_TLS_CERT=/path/to/cert.pem
CADDY_TLS_KEY=/path/to/key.pem
CADDY_TLS_MODE=disabled
Gebruikt door: Zammad, Redmine, Mattermost, Wiki.js, Superset
POSTGRES_USER=postgres
POSTGRES_PASSWORD=secure-password
POSTGRES_HOST=asd-postgres
POSTGRES_PORT=5432
Gebruikt door: ERPNext
MARIADB_ROOT_PASSWORD=secure-password
MARIADB_HOST=asd-mariadb
MARIADB_PORT=3306
Gebruikt door: Zammad, ERPNext (caching)
REDIS_HOST=asd-redis
REDIS_PORT=6379
| Service | Interne Poort | Externe Poort |
|---|---|---|
| Zammad | 8080 | 443 (via Caddy) |
| Redmine | 3000 | 443 (via Caddy) |
| ERPNext | 8000 | 443 (via Caddy) |
| Mattermost | 8065 | 443 (via Caddy) |
| Superset | 8088 | 443 (via Caddy) |
| n8n | 5678 | 443 (via Caddy) |
| Wiki.js | 3001 | 443 (via Caddy) |
Configureer deze DNS records:
zammad.example.com A your-server-ip
redmine.example.com A your-server-ip
erpnext.example.com A your-server-ip
mattermost.example.com A your-server-ip
superset.example.com A your-server-ip
n8n.example.com A your-server-ip
wikijs.example.com A your-server-ip
Of gebruik een wildcard:
*.example.com A your-server-ip
Configureer API tokens voor elke service in n8n:
| Service | Credential Type | Configuratie |
|---|---|---|
| Zammad | Header Auth | Token: Token token=xxx |
| Redmine | Header Auth | X-Redmine-API-Key: xxx |
| ERPNext | Header Auth | Authorization: token api:secret |
| Mattermost | Header Auth | Authorization: Bearer xxx |
# n8n webhook base URL
N8N_WEBHOOK_URL=https://n8n.example.com/webhook
# Mattermost incoming webhook
MATTERMOST_WEBHOOK_URL=https://mattermost.example.com/hooks/xxx
# Algemene SMTP configuratie
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=noreply@example.com
SMTP_PASSWORD=smtp-password
SMTP_FROM=ASD-PMA <noreply@example.com>
ZAMMAD_EMAIL_NOTIFICATION_SENDER=support@example.com
ERPNEXT_MAIL_SERVER=smtp.example.com
ERPNEXT_MAIL_PORT=587
ERPNEXT_MAIL_LOGIN=erpnext@example.com
# Backup schedule (cron format)
BACKUP_SCHEDULE=0 2 * * *
# Backup retention (dagen)
BACKUP_RETENTION=30
# Backup locatie
BACKUP_PATH=/backups
# S3 compatible storage
BACKUP_S3_ENDPOINT=s3.example.com
BACKUP_S3_BUCKET=asd-backups
BACKUP_S3_ACCESS_KEY=xxx
BACKUP_S3_SECRET_KEY=xxx
# In docker-compose.override.yml
services:
asd-zammad:
deploy:
resources:
limits:
memory: 2G
cpus: '1.0'
asd-erpnext:
deploy:
resources:
limits:
memory: 2G
cpus: '1.0'
| Service | Min RAM | Max RAM | CPU |
|---|---|---|---|
| Zammad | 1G | 2G | 1.0 |
| Redmine | 256M | 512M | 0.5 |
| ERPNext | 1G | 2G | 1.0 |
| Mattermost | 512M | 1G | 0.5 |
| Superset | 512M | 1G | 0.5 |
| n8n | 256M | 512M | 0.5 |
| PostgreSQL | 512M | 1G | 0.5 |
| MariaDB | 512M | 1G | 0.5 |
# Algemeen log level
LOG_LEVEL=info
# Per service
ZAMMAD_LOG_LEVEL=info
REDMINE_LOG_LEVEL=info
ERPNEXT_LOG_LEVEL=warning
# Docker logging driver
DOCKER_LOG_DRIVER=json-file
DOCKER_LOG_MAX_SIZE=10m
DOCKER_LOG_MAX_FILE=3