Snipe-IT is an open-source application for tracking IT assets, including hardware, software licenses, and accessories.
Setting Up the Docker Environment
Install Docker and Docker Compose on your host system.
Configuring Environment Variables
Create a directory for configuration files and generate an environment file.
mkdir -p /opt/snipe-it/config
nano /opt/snipe-it/config/snipe_env
Generate an application key for the environment file.
docker run --rm snipe/snipe-it:latest php artisan key:generate --show
Populate the environment file with necessary parameters.
# Database Configuration
DB_HOST=mysql-db
DB_DATABASE=snipeit_db
DB_USERNAME=snipe_user
DB_PASSWORD=secure_password
# Email Server Settings
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=user@domain.com
MAIL_PASSWORD=app_specific_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=admin@domain.com
MAIL_FROM_NAME="Asset Management"
# Application Settings
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:generatedKeyFromPreviousStep
APP_URL=http://your_server_ip
APP_TIMEZONE=UTC
APP_LOCALE=en
# File Upload Limit
PHP_UPLOAD_LIMIT=50
Launching the Database Container
Start a MySQL container with persistent storage.
docker run -d \
--name snipe-mysql \
-p 3306:3306 \
--env-file=/opt/snipe-it/config/snipe_env \
-v snipe_mysql_data:/var/lib/mysql \
mysql:5.7
Deploying the Snipe-IT Application Container
Run the Snipe-IT container, linking it to the database.
docker run -d \
--name snipe-app \
-p 8080:80 \
--link snipe-mysql:db \
--env-file=/opt/snipe-it/config/snipe_env \
-v snipe_uploads:/var/lib/snipeit \
snipe/snipe-it:latest
To modify configurations, access the container's shell.
docker exec -it snipe-app /bin/bash
Finalizing Setup
Navigate to http://your_server_ip:8080 in a web browser to complete the initial setup via the installation wizard.