Overview
Before deploying PhotoFlow to production, review this checklist to ensure a secure, reliable, and performant installation. This guide covers critical areas that differ from development setups.Security
Authentication and Access
Secure Database Access
Restrict PostgreSQL access:Edit Disable remote access if not needed:
pg_hba.conf:Firewall Configuration
Only expose necessary ports:
If using Docker, ensure container ports are bound to 127.0.0.1 for localhost-only access, or configure firewall rules for the Docker network.
HTTPS Setup (Recommended)
For internet-facing deployments, use HTTPS:Option 1: Reverse Proxy (nginx)Option 2: Coolify
Automatic HTTPS with Let’s Encrypt (see Coolify Deployment)
Network Security
For offline/internal networks:
- Isolate PhotoFlow network from guest WiFi
- Use VLANs to separate business networks
- Disable WPS on routers
- Use WPA3 or WPA2 encryption
- Use a VPN for remote access
- Implement rate limiting
- Add authentication middleware
- Use Web Application Firewall (WAF)
Data Protection
Backup Strategy
Off-Site Backups
Store backups in multiple locations:
- Local server - Fast recovery
- Network storage - NAS or file server
- Cloud storage - S3, Backblaze, etc. (encrypted)
- External drive - Physical backup
Data Retention
- Active tasks: Keep indefinitely
- Finished tasks: Archive after 1 year or per business needs
- Comments: Keep with associated tasks
- Logs: Rotate and keep 90 days
Performance
Server Configuration
Resource Allocation
Minimum requirements by team size:
Monitor usage:
| Team Size | CPU | RAM | Disk |
|---|---|---|---|
| 1-5 users | 2 cores | 2 GB | 20 GB |
| 5-10 users | 4 cores | 4 GB | 50 GB |
| 10-20 users | 8 cores | 8 GB | 100 GB |
Application Performance
- Enable production mode:
NODE_ENV=production - Use built version:
npm run build && npm run preview - Enable compression: Add gzip to reverse proxy
- CDN for static assets: If internet-facing
Monitoring and Logging
Log Management
Health Monitoring
Set up monitoring for:Uptime
- Service availability
- Response times
- Error rates
Resources
- CPU usage
- Memory usage
- Disk space
Database
- Connection count
- Query performance
- Replication lag
Application
- Error logs
- Socket.io connections
- Active users
Reliability
High Availability
Disaster Recovery Plan
Document and test:- Backup locations - Where backups are stored
- Restoration steps - Step-by-step recovery process
- Contact information - Who to call for help
- RTO/RPO targets - Recovery time/point objectives
Compliance and Documentation
Document Your Setup
Maintain documentation for:- Architecture diagram - Network topology
- Configurations - All .env values (sanitized)
- Procedures - Deployment, backup, recovery
- Contacts - Admin, support, vendor info
- Credentials - Securely store (password manager)
- Change log - Track configuration changes
Regular Reviews
Monthly
- Review logs for errors
- Check disk space usage
- Verify backups are running
- Update dependencies
Pre-Launch Checklist
Before going live, verify:Security
- Changed all default passwords
- Configured firewall rules
- Set proper file permissions
- HTTPS enabled (if internet-facing)
- Database access restricted
Backups
- Automated backups configured
- Off-site backup location set up
- Tested restoration process
- Backup monitoring in place
Performance
- Adequate server resources
- Database optimized and indexed
- Production mode enabled
- Caching configured (if applicable)
Monitoring
- Log rotation configured
- Health checks set up
- Alerting configured
- Monitoring dashboard accessible
Reliability
- Services restart automatically
- Start on boot enabled
- Disaster recovery plan documented
- Tested failover procedures
Maintenance Schedule
Recommended ongoing maintenance:| Task | Frequency | Estimated Time |
|---|---|---|
| Review logs | Daily | 5 min |
| Check backups | Daily | 2 min |
| Monitor resources | Weekly | 10 min |
| Update dependencies | Monthly | 30 min |
| Test restoration | Quarterly | 1 hour |
| Security audit | Quarterly | 2 hours |
| Full DR drill | Annually | 4 hours |
Getting Help
If you need assistance:GitHub Issues
Report bugs or request features:
PhotoFlow Issues
Email Support
Contact the maintainer:
[email protected]
Community
Discuss with other users (if forum exists)
Professional Support
Consider hiring consultants for:
- Custom modifications
- Enterprise deployment
- Training
Next Steps
Network Setup
Configure multi-PC access securely
Database Setup
Advanced database configuration and maintenance
Docker Deployment
Containerized production deployment
Coolify Deployment
Managed deployment platform