Skip to main content
Snipe-IT configuration is managed through environment variables in the .env file located in the root directory of your installation.

Basic Application Settings

These settings control the core behavior of your Snipe-IT instance.

Required Settings

.env
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:your-generated-key-here
APP_URL=https://snipeit.yourcompany.com
APP_TIMEZONE='UTC'
APP_LOCALE='en-US'
APP_ENV
string
default:"production"
Application environment. Use production for live sites, local for development.
APP_DEBUG
boolean
default:"false"
Enable debug mode. Never enable this in production as it exposes sensitive information.
APP_KEY
string
required
Encryption key for securing sessions and encrypted data. Generate using php artisan key:generate.
APP_URL
string
required
The full URL where your Snipe-IT installation is accessible (e.g., https://assets.company.com).
APP_TIMEZONE
string
default:"UTC"
Default timezone for the application. Use PHP timezone identifiers like America/New_York.
APP_LOCALE
string
default:"en-US"
Default locale for the application interface.
MAX_RESULTS
integer
default:"500"
Maximum number of results to display per page in listings.

Performance Settings

.env
CACHE_DRIVER=file
QUEUE_DRIVER=sync
CACHE_PREFIX=snipeit
SESSION_DRIVER=file
SESSION_LIFETIME=12000
For production environments with multiple web servers, consider using Redis or Memcached for CACHE_DRIVER and SESSION_DRIVER.

Database Configuration

Snipe-IT uses MySQL/MariaDB for data storage.

Basic Database Settings

.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=snipeit
DB_USERNAME=snipeit_user
DB_PASSWORD=your-secure-password
DB_PREFIX=
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
DB_CONNECTION
string
default:"mysql"
Database driver. Currently only mysql is supported.
DB_SOCKET
string
default:"null"
Use a Unix socket instead of TCP. Set to socket path or leave as null to use TCP.
DB_DUMP_PATH
string
default:"/usr/bin"
Path to the mysqldump binary for database backups.

SSL Database Connections

For secure connections to cloud databases (AWS RDS, Azure Database, Google Cloud SQL):
.env
DB_SSL=true
DB_SSL_IS_PAAS=true
DB_SSL_CA_PATH=/path/to/ca-cert.pem
DB_SSL
boolean
default:"false"
Enable SSL/TLS encryption for database connections.
DB_SSL_IS_PAAS
boolean
default:"false"
Set to true for cloud databases. Set to false for self-hosted databases with client certificates.
DB_SSL_CA_PATH
string
Path to the CA certificate bundle. For AWS RDS, download from: https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
DB_SSL_KEY_PATH
string
Path to client SSL key (required when DB_SSL_IS_PAAS=false).
DB_SSL_CERT_PATH
string
Path to client SSL certificate (required when DB_SSL_IS_PAAS=false).
DB_SSL_VERIFY_SERVER
boolean
Verify server certificate. Set to false for self-signed certificates (not recommended for production).

Mail Configuration

Snipe-IT sends email notifications for checkouts, check-ins, and other events.

SMTP Settings

.env
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=[email protected]
MAIL_PASSWORD=your-app-password
MAIL_FROM_ADDR=[email protected]
MAIL_FROM_NAME='Asset Management'
MAIL_REPLYTO_ADDR=[email protected]
MAIL_REPLYTO_NAME='IT Support'
MAIL_TLS_VERIFY_PEER=true
MAIL_MAILER
string
default:"smtp"
Mail driver. Use smtp for most configurations.
MAIL_HOST
string
required
SMTP server hostname. Examples:
  • Gmail: smtp.gmail.com
  • Office 365: smtp.office365.com
  • AWS SES: email-smtp.us-west-2.amazonaws.com
MAIL_PORT
integer
default:"587"
SMTP port. Use 587 for TLS, 465 for SSL, or 25 for unencrypted (not recommended).
MAIL_TLS_VERIFY_PEER
boolean
default:"true"
Verify TLS certificates. Set to false only for development or trusted internal servers.
MAIL_AUTO_EMBED_METHOD
string
default:"attachment"
How to embed images in emails. Options: attachment, base64.
The MAIL_ENCRYPTION setting is deprecated. Modern Symfony Mailer automatically uses TLS when available. If you need to force unencrypted connections due to certificate errors, use MAIL_TLS_VERIFY_PEER=false.

Testing Mail Configuration

Test your email settings from Admin > Settings > Alerts using the “Send Test Email” button.

File Storage

Configure where uploaded files (logos, images, documents) are stored.

Local Storage

.env
PRIVATE_FILESYSTEM_DISK=local
PUBLIC_FILESYSTEM_DISK=local_public

Amazon S3 Storage

For cloud storage, configure separate S3 buckets for public and private files:
.env
# Private files (licenses, encrypted documents)
PRIVATE_FILESYSTEM_DISK=s3_private
PRIVATE_AWS_ACCESS_KEY_ID=your-access-key
PRIVATE_AWS_SECRET_ACCESS_KEY=your-secret-key
PRIVATE_AWS_DEFAULT_REGION=us-west-2
PRIVATE_AWS_BUCKET=snipeit-private

# Public files (logos, public images)
PUBLIC_FILESYSTEM_DISK=s3_public
PUBLIC_AWS_ACCESS_KEY_ID=your-access-key
PUBLIC_AWS_SECRET_ACCESS_KEY=your-secret-key
PUBLIC_AWS_DEFAULT_REGION=us-west-2
PUBLIC_AWS_BUCKET=snipeit-public
S3-compatible storage providers (MinIO, DigitalOcean Spaces, Wasabi) can be configured using the *_AWS_ENDPOINT and *_AWS_PATH_STYLE variables.

Security Settings

See the Security page for detailed security configuration including:
  • CSRF protection
  • Content Security Policy
  • Trusted proxies
  • Login throttling
  • Session security

Advanced Settings

Image Processing

.env
IMAGE_LIB=gd
IMAGE_LIB
string
default:"gd"
Image processing library. Options: gd or imagick (if installed).

Logging

.env
LOG_CHANNEL=single
LOG_MAX_DAYS=10
LOG_DEPRECATIONS=false
LOG_CHANNEL
string
default:"single"
Log storage method. Options: single, daily, slack, syslog, errorlog.

Performance Limits

.env
LDAP_TIME_LIM=600
BACKUP_TIME_LIMIT=600
IMPORT_TIME_LIMIT=600
IMPORT_MEMORY_LIMIT=500M
REPORT_TIME_LIMIT=12000
API_THROTTLE_PER_MINUTE=120
These settings control execution time and memory limits for long-running operations.

API Settings

.env
API_TOKEN_EXPIRATION_YEARS=15
API_THROTTLE_PER_MINUTE=120
API_TOKEN_EXPIRATION_YEARS
integer
default:"15"
How many years before API tokens expire.
API_THROTTLE_PER_MINUTE
integer
default:"120"
Maximum API requests per minute per IP address.

Applying Configuration Changes

After modifying your .env file:
  1. Clear the configuration cache:
    php artisan config:clear
    
  2. Restart your web server/PHP-FPM:
    sudo systemctl restart php8.1-fpm
    sudo systemctl restart nginx
    
Always backup your .env file before making changes. Some settings (like APP_KEY) cannot be changed after initial setup without losing access to encrypted data.

Next Steps

Security Settings

Configure authentication, 2FA, and security headers

Backups

Set up automated database and file backups

Categories

Organize your assets with categories

Companies

Enable multi-tenant company support

Build docs developers (and LLMs) love