Deployment¶
Printernizer offers multiple deployment options to fit different use cases, from local development to production environments.
Deployment Methods¶
Python Standalone¶
Best for: Development, testing, local installation
Setup time: 5 minutes
Direct Python installation for maximum flexibility and control. Perfect for developers and users who want to run Printernizer without containers.
View Python Deployment Guide →
Docker Standalone¶
Best for: Production servers, NAS systems, isolated environments
Setup time: 5 minutes
Containerized deployment with Docker Compose for easy management and portability.
View Docker Deployment Guide →
Home Assistant Add-on¶
Best for: Home Assistant users, 24/7 operation, smart home integration
Setup time: 10 minutes
Seamless integration with Home Assistant for centralized management alongside your smart home.
Raspberry Pi¶
Best for: Dedicated hardware, edge deployment
Setup time: 10 minutes
Automated setup script for quick deployment on Raspberry Pi devices.
Python Standalone¶
Quick Start¶
# 1. Create virtual environment (recommended)
python -m venv venv
# Windows:
venv\\Scripts\\activate
# Linux/Mac:
source venv/bin/activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Configure environment (optional)
cp .env.example .env
# Edit .env with your settings
# 4. Start the application
# Windows:
run.bat
# Linux/Mac:
./run.sh
# Access the application
# Web Interface: http://localhost:8000
# API Documentation: http://localhost:8000/docs
Requirements¶
- Python 3.8 or higher
- 100MB disk space
- Network access to printers
Configuration¶
Create a .env file or set environment variables:
# Server Configuration
HOST=0.0.0.0
PORT=8000
# Database
DATABASE_PATH=./data/printernizer.db
# Logging
LOG_LEVEL=INFO
See Settings Reference for all options.
Production Considerations¶
Security¶
- Use HTTPS in production (configure reverse proxy)
- Implement firewall rules
- Keep dependencies updated
Performance¶
- Allocate adequate resources (2GB RAM recommended)
- Use SSD for database storage
- Monitor system resources
Backup¶
- Regular database backups
- Configuration file backups
- File downloads backup (if storing locally)
Monitoring¶
- Health check endpoint:
/api/v1/health - Prometheus metrics:
/metrics - Structured logging
Migration¶
From Development to Production¶
- Export database
- Copy configuration files
- Set up production environment
- Import database
- Verify connections
Between Deployment Methods¶
All deployment methods use the same database schema and configuration format, making migrations straightforward.
Troubleshooting¶
Common deployment issues:
- Can't connect to printers → Check network configuration
- Database errors → Verify file permissions
- Port conflicts → Change PORT in .env
- Performance issues → Increase resource allocation
See Troubleshooting for more help.
Advanced Topics¶
- Production Deployment - Best practices for production
- Docker Guide - Advanced Docker configuration
- Raspberry Pi - Pi-specific optimizations
Need Help?¶
- Check the User Guide
- Review Architecture
- Visit GitHub Issues