diff --git a/.gitignore b/.gitignore index c0cadd7c..2f8606a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ node_modules package-lock.json meta.json.backup.* - diff --git a/blueprints/scrutiny/docker-compose.yml b/blueprints/scrutiny/docker-compose.yml new file mode 100644 index 00000000..56b27bd2 --- /dev/null +++ b/blueprints/scrutiny/docker-compose.yml @@ -0,0 +1,55 @@ +services: + scrutiny: + restart: unless-stopped + container_name: scrutiny + image: ghcr.io/analogj/scrutiny:master-omnibus + cap_add: + - SYS_RAWIO + ports: + - 8080 # webapp + - 8086 # influxDB admin + volumes: + - /run/udev:/run/udev:ro + - ./config:/opt/scrutiny/config + - ./influxdb:/opt/scrutiny/influxdb + devices: + - "/dev/sda" + - "/dev/sdb" + +# PROXMOX USERS: Proxmox LXCs don't have access to S.M.A.R.T data, while this may be possible on VMs using PCI passthrough, +# there's another way which is to run the scrutiny collector on proxmox host and have it send data to the scrutiny webapp running in an LXC or VM +# so basically you can use the following commented docker-compose (web+db) and run the collector directly on the proxmox host (guide: https://github.com/AnalogJ/scrutiny/blob/master/docs/INSTALL_HUB_SPOKE.md#setting-up-a-spoke-without-docker) + +# services: +# influxdb: +# restart: unless-stopped +# image: influxdb:2.2 +# ports: +# - '8086:8086' +# volumes: +# - './influxdb:/var/lib/influxdb2' +# healthcheck: +# test: ["CMD", "curl", "-f", "http://localhost:8086/health"] +# interval: 5s +# timeout: 10s +# retries: 20 +# +# +# web: +# restart: unless-stopped +# image: 'ghcr.io/analogj/scrutiny:master-web' +# ports: +# - '8080:8080' +# volumes: +# - './config:/opt/scrutiny/config' +# environment: +# SCRUTINY_WEB_INFLUXDB_HOST: 'influxdb' +# depends_on: +# influxdb: +# condition: service_healthy +# healthcheck: +# test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] +# interval: 5s +# timeout: 10s +# retries: 20 +# start_period: 10s diff --git a/blueprints/scrutiny/scrutiny.png b/blueprints/scrutiny/scrutiny.png new file mode 100644 index 00000000..c0812c1b Binary files /dev/null and b/blueprints/scrutiny/scrutiny.png differ diff --git a/blueprints/scrutiny/template.toml b/blueprints/scrutiny/template.toml new file mode 100644 index 00000000..60ff998b --- /dev/null +++ b/blueprints/scrutiny/template.toml @@ -0,0 +1 @@ +[config] \ No newline at end of file diff --git a/blueprints/streamflow/docker-compose.yml b/blueprints/streamflow/docker-compose.yml new file mode 100644 index 00000000..cbfa8b51 --- /dev/null +++ b/blueprints/streamflow/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3.8" +services: + streamflow: + build: + context: https://github.com/bangtutorial/streamflow.git + restart: unless-stopped + environment: + - PORT=7575 + - SESSION_SECRET=${SESSION_SECRET} + - NODE_ENV=production + - TZ=${TIMEZONE} + volumes: + - streamflow-db:/app/db + - streamflow-logs:/app/logs + - streamflow-uploads:/app/public/uploads + ports: + - 7575 + +volumes: + streamflow-db: {} + streamflow-logs: {} + streamflow-uploads: {} diff --git a/blueprints/streamflow/streamflow.png b/blueprints/streamflow/streamflow.png new file mode 100644 index 00000000..ac281760 Binary files /dev/null and b/blueprints/streamflow/streamflow.png differ diff --git a/blueprints/streamflow/template.toml b/blueprints/streamflow/template.toml new file mode 100644 index 00000000..3867afaa --- /dev/null +++ b/blueprints/streamflow/template.toml @@ -0,0 +1,15 @@ +[variables] +main_domain = "${domain}" +session_secret = "${password:64}" + +[config] +[[config.domains]] +serviceName = "streamflow" +port = 7575 +host = "${main_domain}" + +[config.env] +SESSION_SECRET = "${session_secret}" +TIMEZONE = "Asia/Jakarta" + +[[config.mounts]] diff --git a/meta.json b/meta.json index c8c7eccb..7e59e5a0 100644 --- a/meta.json +++ b/meta.json @@ -5464,6 +5464,22 @@ "self-hosted" ] }, + { + "id": "scrutiny", + "name": "Scrutiny", + "version": "latest", + "description": "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds", + "logo": "scrutiny.png", + "links": { + "github": "https://github.com/AnalogJ/scrutiny/", + "website": "", + "docs": "" + }, + "tags": [ + "monitoring", + "NAS" + ] + }, { "id": "scrypted", "name": "Scrypted", @@ -5730,6 +5746,25 @@ "open-source" ] }, + { + "id": "streamflow", + "name": "StreamFlow", + "version": "2.1", + "description": "StreamFlow is a multi-platform live streaming web application that enables simultaneous RTMP streaming to YouTube, Facebook, and other platforms with video gallery, scheduled streaming, and real-time monitoring.", + "logo": "streamflow.png", + "links": { + "github": "https://github.com/bangtutorial/streamflow", + "website": "https://github.com/bangtutorial/streamflow", + "docs": "https://github.com/bangtutorial/streamflow#readme" + }, + "tags": [ + "streaming", + "rtmp", + "video", + "live-streaming", + "media" + ] + }, { "id": "supabase", "name": "SupaBase",