feat(new-scripts): add TREK, SoulSync, UpSnap, Anchor, Slink
- TREK: Self-hosted travel planner (Node.js 22, Express, SQLite) - SoulSync: Music discovery & automation (Python 3.11, Flask) - UpSnap: Wake-on-LAN web app (Go binary, PocketBase) - Anchor: Offline-first note taking (NestJS, Next.js, PostgreSQL) - Slink: Image sharing platform (PHP/Symfony, SvelteKit, Redis, Caddy)
This commit is contained in:
44
json/anchor.json
Normal file
44
json/anchor.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "Anchor",
|
||||
"slug": "anchor",
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2026-04-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://github.com/ZhFahim/anchor#readme",
|
||||
"website": "https://github.com/ZhFahim/anchor",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/anchor.webp",
|
||||
"config_path": "/opt/anchor/.env",
|
||||
"description": "Anchor is an offline-first, self-hosted note-taking application with rich text editing, real-time sync across devices, note sharing, tags, attachments, OIDC authentication, and admin panel.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/anchor.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 10,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "The first user to register becomes the admin.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "OIDC can be configured via environment variables in `/opt/anchor/.env` or the admin panel.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
44
json/slink.json
Normal file
44
json/slink.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "Slink",
|
||||
"slug": "slink",
|
||||
"categories": [
|
||||
11
|
||||
],
|
||||
"date_created": "2026-04-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://slink.pages.dev",
|
||||
"website": "https://github.com/andrii-kryvoviaz/slink",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/slink.webp",
|
||||
"config_path": "/opt/slink/services/api/.env",
|
||||
"description": "Slink is a self-hosted image sharing platform built with Symfony and SvelteKit. It supports multi-file uploads, image compression, URL shortening, collections, tags, comments, SSO/OIDC, dark mode, and S3 storage.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/slink.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 10,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "API runs on Caddy+PHP-FPM (port 8080), client on Node.js (port 3000).",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Mercure real-time notifications are not available in this bare-metal setup.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
44
json/soulsync.json
Normal file
44
json/soulsync.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "SoulSync",
|
||||
"slug": "soulsync",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2026-04-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8008,
|
||||
"documentation": "https://github.com/Nezreka/SoulSync#readme",
|
||||
"website": "https://github.com/Nezreka/SoulSync",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/soulsync.webp",
|
||||
"config_path": "/opt/soulsync/config",
|
||||
"description": "SoulSync is an intelligent music discovery and automation platform. It monitors artists, generates playlists, downloads missing tracks from multiple sources, verifies audio fingerprints, enriches metadata, and syncs with your media server.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/soulsync.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Requires a running slskd instance for Soulseek downloads. Configure in Settings → Downloads.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "Spotify API credentials are optional but recommended for discovery features. Configure at `http://IP:8008` → Settings.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
44
json/trek.json
Normal file
44
json/trek.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "TREK",
|
||||
"slug": "trek",
|
||||
"categories": [
|
||||
0
|
||||
],
|
||||
"date_created": "2026-04-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://github.com/mauriceboe/TREK#readme",
|
||||
"website": "https://github.com/mauriceboe/TREK",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/trek.webp",
|
||||
"config_path": "/opt/trek/server/.env",
|
||||
"description": "TREK is a self-hosted, real-time collaborative travel planner with interactive maps, budgets, packing lists, weather forecasts, PWA support, and multi-user collaboration via WebSocket.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/trek.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "The first user to register becomes the admin.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "ENCRYPTION_KEY is auto-generated during setup. See `/opt/trek/server/.env`.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
44
json/upsnap.json
Normal file
44
json/upsnap.json
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "UpSnap",
|
||||
"slug": "upsnap",
|
||||
"categories": [
|
||||
4
|
||||
],
|
||||
"date_created": "2026-04-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8090,
|
||||
"documentation": "https://github.com/seriousm4x/UpSnap/wiki",
|
||||
"website": "https://github.com/seriousm4x/UpSnap",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/upsnap.webp",
|
||||
"config_path": "",
|
||||
"description": "UpSnap is a simple Wake-on-LAN web app with device dashboard, scheduled wake events via cron, network scanning with nmap, custom shutdown commands, user management, and 35 themes.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/upsnap.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 2,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "The first user to register becomes the admin (visit `http://IP:8090/_/`).",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Do not expose UpSnap to the internet — shutdown commands can execute shell commands. Use a VPN for remote access.",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user