
Snipe-IT
A free open source IT asset/license management system
#inventory #Live Demo #Screenshots
Getting Started
- Create a folder and move to it
mkdir snipe-it && cd snipe-it
- Create a
.env
file and add the following content:.env# -------------------------------------------- # REQUIRED: DOCKER SPECIFIC SETTINGS # -------------------------------------------- APP_VERSION= APP_PORT=9092 # -------------------------------------------- # REQUIRED: BASIC APP SETTINGS # -------------------------------------------- APP_ENV=production APP_DEBUG=false # Please regenerate the APP_KEY value by calling `docker compose run --rm app php artisan key:generate --show`. Copy paste the value here APP_KEY=base64:3ilviXqB9u6DX1NRcyWGJ+sjySF+H18CPDGb3+IVwMQ= APP_URL=http://localhost:9092 # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ identifier APP_TIMEZONE='UTC' APP_LOCALE=en-US MAX_RESULTS=500 # -------------------------------------------- # REQUIRED: UPLOADED FILE STORAGE SETTINGS # -------------------------------------------- PRIVATE_FILESYSTEM_DISK=local PUBLIC_FILESYSTEM_DISK=local_public # -------------------------------------------- # REQUIRED: DATABASE SETTINGS # -------------------------------------------- DB_CONNECTION=mysql DB_HOST=db DB_PORT='3306' DB_DATABASE=snipeit DB_USERNAME=snipeit DB_PASSWORD=changeme1234 MYSQL_ROOT_PASSWORD=changeme1234 DB_PREFIX=null DB_DUMP_PATH='/usr/bin' DB_CHARSET=utf8mb4 DB_COLLATION=utf8mb4_unicode_ci # -------------------------------------------- # REQUIRED: OUTGOING MAIL SERVER SETTINGS # -------------------------------------------- MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_TLS_VERIFY_PEER=true [email protected] MAIL_FROM_NAME='Snipe-IT' [email protected] MAIL_REPLYTO_NAME='Snipe-IT' MAIL_AUTO_EMBED_METHOD='attachment' # -------------------------------------------- # REQUIRED: DATA PROTECTION # -------------------------------------------- ALLOW_BACKUP_DELETE=false ALLOW_DATA_PURGE=false # -------------------------------------------- # REQUIRED: IMAGE LIBRARY # This should be gd or imagick # -------------------------------------------- IMAGE_LIB=gd
- Create a
docker-compose.yml
file and add the following content:docker-compose.ymlservices: app: image: snipe/snipe-it:${APP_VERSION:-latest} restart: unless-stopped volumes: - storage:/var/lib/snipeit ports: - "${APP_PORT:-8000}:80" depends_on: db: condition: service_healthy restart: true env_file: - .env db: image: mariadb:11.5.2 restart: unless-stopped volumes: - db_data:/var/lib/mysql environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} healthcheck: # https://mariadb.com/kb/en/using-healthcheck-sh/#compose-file-example test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 5s timeout: 1s retries: 5 mailhog: image: mailhog/mailhog restart: always ports: - "8025:8025" volumes: db_data: storage:
- Start the service using docker compose.
docker compose up -d
- Wait a minute for the containers to start up, then visit http://localhost:9092 to access the Snipe-IT.
Note: For email confirmation during signup, check MailHog at http://localhost:8025.