diff --git a/blueprints/snipe-it/docker-compose.yml b/blueprints/snipe-it/docker-compose.yml new file mode 100644 index 00000000..be3140b7 --- /dev/null +++ b/blueprints/snipe-it/docker-compose.yml @@ -0,0 +1,68 @@ +version: "3.8" + +services: + snipe-it: + image: snipe/snipe-it:v8.5.0 + restart: unless-stopped + expose: + - 80 + volumes: + - snipe-it-storage:/var/lib/snipeit + environment: + - APP_ENV=production + - APP_DEBUG=false + - APP_KEY=${APP_KEY} + - APP_URL=${APP_URL} + - APP_TIMEZONE=${APP_TIMEZONE} + - APP_LOCALE=${APP_LOCALE} + - APP_TRUSTED_PROXIES=${APP_TRUSTED_PROXIES} + - APP_FORCE_TLS=${APP_FORCE_TLS} + - SECURE_COOKIES=${SECURE_COOKIES} + - PRIVATE_FILESYSTEM_DISK=local + - PUBLIC_FILESYSTEM_DISK=local_public + - DB_CONNECTION=mysql + - DB_HOST=snipe-it-db + - DB_PORT=3306 + - DB_DATABASE=${DB_DATABASE} + - DB_USERNAME=${DB_USERNAME} + - DB_PASSWORD=${DB_PASSWORD} + - DB_PREFIX=null + - DB_DUMP_PATH=/usr/bin + - DB_DUMP_SKIP_SSL=true + - DB_CHARSET=utf8mb4 + - DB_COLLATION=utf8mb4_unicode_ci + - MAIL_MAILER=log + - MAIL_FROM_ADDR=${MAIL_FROM_ADDR} + - MAIL_FROM_NAME=Snipe-IT + - MAIL_REPLYTO_ADDR=${MAIL_FROM_ADDR} + - MAIL_REPLYTO_NAME=Snipe-IT + - ALLOW_BACKUP_DELETE=false + - ALLOW_DATA_PURGE=false + - IMAGE_LIB=gd + - LOG_CHANNEL=stderr + - CACHE_DRIVER=file + - SESSION_DRIVER=file + - QUEUE_DRIVER=sync + depends_on: + snipe-it-db: + condition: service_healthy + + snipe-it-db: + image: mariadb:11.4.7 + restart: unless-stopped + volumes: + - snipe-it-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: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 5s + timeout: 2s + retries: 10 + +volumes: + snipe-it-storage: + snipe-it-db-data: diff --git a/blueprints/snipe-it/snipe-it.png b/blueprints/snipe-it/snipe-it.png new file mode 100644 index 00000000..423a5b74 Binary files /dev/null and b/blueprints/snipe-it/snipe-it.png differ diff --git a/blueprints/snipe-it/template.toml b/blueprints/snipe-it/template.toml new file mode 100644 index 00000000..aca258a5 --- /dev/null +++ b/blueprints/snipe-it/template.toml @@ -0,0 +1,25 @@ +[variables] +main_domain = "${domain}" +app_key = "${base64:32}" +db_password = "${password:24}" +mysql_root_password = "${password:24}" + +[config] +[[config.domains]] +serviceName = "snipe-it" +port = 80 +host = "${main_domain}" + +[config.env] +APP_KEY = "base64:${app_key}" +APP_URL = "https://${main_domain}" +APP_TIMEZONE = "UTC" +APP_LOCALE = "en-US" +APP_TRUSTED_PROXIES = "172.0.0.0/8" +APP_FORCE_TLS = "true" +SECURE_COOKIES = "true" +DB_DATABASE = "snipeit" +DB_USERNAME = "snipeit" +DB_PASSWORD = "${db_password}" +MYSQL_ROOT_PASSWORD = "${mysql_root_password}" +MAIL_FROM_ADDR = "snipe-it@${main_domain}" diff --git a/meta.json b/meta.json index c16a0404..5dae84df 100644 --- a/meta.json +++ b/meta.json @@ -6108,6 +6108,24 @@ "authentication" ] }, + { + "id": "snipe-it", + "name": "Snipe-IT", + "version": "v8.5.0", + "description": "Snipe-IT is an open-source asset management system for tracking hardware, software licenses, accessories, and consumables.", + "logo": "snipe-it.png", + "links": { + "github": "https://github.com/grokability/snipe-it", + "website": "https://snipeitapp.com/", + "docs": "https://snipe-it.readme.io/docs" + }, + "tags": [ + "asset-management", + "inventory", + "business", + "self-hosted" + ] + }, { "id": "soketi", "name": "Soketi",