3.3 KiB
3.3 KiB
Stiftung Application - Synology NAS Deployment
Overview
This guide will help you deploy the Stiftung application on a Synology NAS using Docker.
Prerequisites
- Synology NAS with DSM 7.0+ (recommended)
- Docker package installed from Synology Package Center
- At least 4GB RAM available
- At least 10GB free disk space
- SSH access enabled (optional but recommended)
Quick Start
- Copy the entire
deploy-synologyfolder to your Synology NAS - SSH into your NAS or use File Station
- Navigate to the deployment folder
- Run:
docker-compose up -d - Access the application at:
http://YOUR_NAS_IP:8081
Detailed Steps
Step 1: Install Docker Package
- Open Package Center on your Synology NAS
- Search for "Docker"
- Install the Docker package
- Wait for installation to complete
Step 2: Copy Deployment Files
- Copy the
deploy-synologyfolder to your NAS- Use File Station to upload via web interface
- Or use SMB/AFP to mount and copy via network
- Or use SSH/SCP for command line transfer
Step 3: Configure Environment
- Edit
docker-compose.ymlif needed (ports, volumes) - Edit
.envfile with your specific settings - Ensure backup directories exist and have proper permissions
Step 4: Deploy
- SSH into your NAS:
ssh admin@YOUR_NAS_IP - Navigate to deployment folder:
cd /volume1/docker/stiftung - Start the application:
docker-compose up -d - Check status:
docker-compose ps
Step 5: Verify Deployment
- Check container logs:
docker-compose logs web - Test web access:
http://YOUR_NAS_IP:8081 - Verify database connection
- Test backup functionality
Configuration Files
Environment Variables (.env)
DATABASE_URL: PostgreSQL connection stringPAPERLESS_URL: Paperless-ngx API URLGRAMPSWEB_URL: Gramps Web API URLSECRET_KEY: Django secret keyDEBUG: Set to False for production
Ports
- 8081: Main web application
- 5432: PostgreSQL database (internal)
- 6379: Redis (internal)
- 5000: Gramps Web (internal)
Volumes
./data/db: PostgreSQL data./data/redis: Redis data./data/uploads: File uploads./data/backups: Backup files./data/gramps: Gramps data
Maintenance
Backup
- Application creates automatic backups
- Manual backup:
docker-compose exec web python manage.py backup - Restore:
docker-compose exec web python manage.py restore backup_file.tar.gz
Updates
- Stop containers:
docker-compose down - Pull new images:
docker-compose pull - Start containers:
docker-compose up -d
Logs
- View logs:
docker-compose logs -f [service_name] - Rotate logs: Configure log rotation in DSM
Troubleshooting
Common Issues
- Port conflicts: Change ports in docker-compose.yml
- Permission errors: Check folder permissions (755 for directories, 644 for files)
- Database connection: Verify PostgreSQL container is running
- Memory issues: Increase NAS memory or reduce container memory limits
Support
- Check container logs:
docker-compose logs [service_name] - Verify container status:
docker-compose ps - Check resource usage in DSM Resource Monitor
Security Notes
- Change default passwords
- Use HTTPS in production (reverse proxy with Let's Encrypt)
- Regular security updates
- Firewall configuration
- Backup encryption