Deze guide beschrijft hoe je beide Privelessen apps (Dashboard en Aantekeningen App) deployt op je eigen server.
https://dash.stephensprivelessen.nl (port 4141)https://stephensprive.app (port 3001)Beide apps draaien in Docker containers met nginx als reverse proxy.
cd /home/stephen/projects
./deploy-all.sh
Dashboard:
cd /home/stephen/projects/privelessen-dashboard
./deploy-docker.sh
Aantekeningen App:
cd /home/stephen/projects/aantekeningen-app
./deploy-docker.sh
.env voor dashboard, .env.local voor aantekeningen)deploy-all.sh)Deploy beide apps in één keer:
./deploy-all.sh # Deploy beide apps
./deploy-all.sh dashboard # Alleen dashboard
./deploy-all.sh aantekeningen # Alleen aantekeningen app
Elke app heeft zijn eigen deployment script:
privelessen-dashboard/deploy-docker.shaantekeningen-app/deploy-docker.sh# Beide containers
docker ps | grep -E 'privelessen-dashboard|aantekeningen-app'
# Individueel
docker ps | grep privelessen-dashboard
docker ps | grep aantekeningen-app
# Dashboard
cd /home/stephen/projects/privelessen-dashboard
docker-compose logs -f
# Aantekeningen App
cd /home/stephen/projects/aantekeningen-app
docker-compose logs -f
# Dashboard
cd /home/stephen/projects/privelessen-dashboard
docker-compose restart
# Aantekeningen App
cd /home/stephen/projects/aantekeningen-app
docker-compose restart
# Dashboard
cd /home/stephen/projects/privelessen-dashboard
docker-compose down
# Aantekeningen App
cd /home/stephen/projects/aantekeningen-app
docker-compose down
privelessen-dashboard/nginx-dashboard.confaantekeningen-app/nginx-aantekeningen.confsudo nginx -t # Test configuratie
sudo systemctl reload nginx # Herlaad nginx
# Error logs
sudo tail -f /var/log/nginx/error.log
# Access logs
sudo tail -f /var/log/nginx/access.log
Deployment scripts proberen automatisch SSL certificaten te installeren met Certbot.
# Dashboard
sudo certbot --nginx -d dash.stephensprivelessen.nl
# Aantekeningen App
sudo certbot --nginx -d stephensprive.app
sudo certbot renew
Beide apps hebben health check endpoints:
# Dashboard
curl http://localhost:4141/health
# Aantekeningen App
curl http://localhost:3001/health
Docker health checks worden automatisch uitgevoerd. Check status:
docker ps --format "table {{.Names}}\t{{.Status}}"
Check logs:
docker-compose logs
Check environment variables:
# Dashboard
cat privelessen-dashboard/.env | grep -v "^#" | grep "="
# Aantekeningen
cat aantekeningen-app/.env.local | grep -v "^#" | grep "="
Check Docker status:
docker info
Check of container draait:
docker ps | grep -E 'privelessen-dashboard|aantekeningen-app'
Check of app luistert:
curl http://localhost:4141/health # Dashboard
curl http://localhost:3001/health # Aantekeningen
Check nginx config:
sudo nginx -t
Check certificaat:
sudo certbot certificates
Herhaal SSL setup:
sudo certbot --nginx -d dash.stephensprivelessen.nl --force-renewal
sudo certbot --nginx -d stephensprive.app --force-renewal
Pull laatste code:
cd /home/stephen/projects/privelessen-dashboard
git pull
cd /home/stephen/projects/aantekeningen-app
git pull
Rebuild en redeploy:
./deploy-all.sh
.env of .env.localdocker-compose restart
Dashboard (PostgreSQL):
# Backup
docker exec postgres-privelessen pg_dump -U stephen privelessen > backup_$(date +%Y%m%d).sql
# Restore
docker exec -i postgres-privelessen psql -U stephen privelessen < backup_YYYYMMDD.sql
Aantekeningen App (Firebase):
# Backup alle .env files
tar -czf env-backup-$(date +%Y%m%d).tar.gz \
privelessen-dashboard/.env \
aantekeningen-app/.env.local
Nginx logs worden automatisch geroteerd door logrotate.
Docker logs kunnen groot worden. Clean oude logs:
# Clean alle stopped containers en oude images
docker system prune -a
# Clean alleen logs (voorzichtig!)
docker system prune --volumes
Check disk usage:
df -h
docker system df
Update Docker images regelmatig:
# Pull nieuwe base images
docker-compose pull
# Rebuild met nieuwe images
docker-compose build --no-cache
docker-compose up -d
Voor problemen:
# Deploy alles
./deploy-all.sh
# Status
docker ps | grep -E 'privelessen|aantekeningen'
# Logs
docker-compose logs -f
# Restart
docker-compose restart
# Stop
docker-compose down
# Nginx reload
sudo systemctl reload nginx
# SSL renew
sudo certbot renew