Installation Methods
Snipe-IT can be installed using several methods. Choose the one that best fits your environment:Docker
Manual Installation
Shared Hosting
Cloud Platforms
System Requirements
Before installing, ensure your system meets these requirements:PHP Requirements
php-curl- cURL supportphp-fileinfo- File informationphp-gdorphp-imagick- Image processingphp-iconv- Character encoding conversionphp-json- JSON supportphp-mbstring- Multibyte string supportphp-mysqlorphp-pgsql- Database driverphp-pdo- PDO database supportphp-xml- XML supportphp-zip- ZIP archive supportphp-bcmath- Precision math
php-ldap- LDAP/Active Directory integrationphp-redis- Redis caching supportphp-memcached- Memcached support
Database Requirements
Snipe-IT supports the following databases:- MySQL 5.7 or later
- MariaDB 10.2 or later
- PostgreSQL 9.6 or later (experimental)
Web Server
- Apache 2.4+ with
mod_rewriteenabled - Nginx 1.18+ with PHP-FPM
System Resources
Minimum Requirements:- 1 CPU core
- 2GB RAM
- 5GB disk space
- 2+ CPU cores
- 4GB+ RAM
- 20GB+ disk space (depending on uploads)
Docker Installation
Using Docker Compose (Recommended)
Install Docker
Create Project Structure
Create docker-compose.yml
Configure Environment Variables
.env configuration file. Below are the key settings:Start the Application
Generate Application Key
Complete Web Setup
http://your-server-ip and complete the setup wizard.Using Pre-built Docker Image
Run Snipe-IT with a single command:Manual Installation
Ubuntu 24.04 / Debian 12
Update System
Install PHP 8.3 and Extensions
Install MySQL/MariaDB
Install Apache
Install Composer
Download Snipe-IT
Install Dependencies
Configure Permissions
Configure Environment
Generate Application Key
Configure Apache Virtual Host
/etc/apache2/sites-available/snipe-it.conf:Complete Web Setup
http://your-server-ip and complete the setup wizard.CentOS/RHEL 9
Enable EPEL and Remi Repositories
Install PHP and Extensions
Install and Configure MariaDB
Install Apache
Follow Ubuntu Steps 5-11
Shared Hosting Installation
For shared hosting environments (cPanel, Plesk, etc.):Create Database
- A MySQL database
- A database user with all privileges
Upload Files
Configure .env File
.env.example to .env and update database credentials.Install Dependencies
Set Document Root
public directory.Cloud Platforms
AWS EC2
Snipe-IT can run on AWS EC2 instances:- Launch an Ubuntu 24.04 EC2 instance (t3.small or larger)
- Configure security groups to allow HTTP/HTTPS
- Follow the Ubuntu manual installation steps
- Use RDS for MySQL (recommended for production)
- Use S3 for file storage (configure in
.env)
DigitalOcean
- Create a Droplet with Ubuntu 24.04
- Follow the Ubuntu installation steps
- Use DigitalOcean Managed Databases for MySQL
- Use Spaces for object storage
Azure
- Create an Ubuntu VM
- Configure Network Security Group for HTTP/HTTPS
- Follow Ubuntu installation steps
- Use Azure Database for MySQL
- Use Azure Blob Storage for uploads
Environment Variables Reference
Here are the most important environment variables from/home/daytona/workspace/source/.env.example:1-240:
Application Settings
Database Settings
Mail Settings
Post-Installation Configuration
Set Up Scheduled Tasks
Snipe-IT requires a cron job for scheduled tasks (notifications, backups, etc.):Configure File Permissions
Ensure proper permissions for uploads and cache:Enable SSL/HTTPS
For production environments, always use HTTPS:Troubleshooting Common Issues
500 Internal Server Error
500 Internal Server Error
- Incorrect file permissions
- Missing .env file
- Invalid APP_KEY
Database Connection Failed
Database Connection Failed
- Database server is running
- Credentials in
.envare correct - Database user has proper privileges
- Firewall allows database connection
Blank Page After Login
Blank Page After Login
- Cache issues
- Session configuration
Upload Errors
Upload Errors
- Directory permissions
- PHP upload limits
php.ini:Email Not Sending
Email Not Sending
- SMTP credentials are correct
- Firewall allows outbound SMTP
- Mail server requires TLS
Performance Optimization
Enable Caching
For production environments, use Redis or Memcached:Optimize Composer Autoloader
Configure OPcache
Add tophp.ini:
Next Steps
User Management
Asset Categories
API Access
LDAP/SAML
Backups
Customization
Getting Help
If you encounter issues:- Common Issues Guide - Known problems and solutions
- Discord Community - Live help from community
- GitHub Issues - Search existing issues
- Official Documentation - Complete documentation
