{ "2fauth": { "default_ports": [ 80 ], "file_path": "/root/.2fauth", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/2fauth.webp", "repo": "Bubka/2FAuth", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://2fauth.app/" }, "actualbudget": { "default_ports": [ 5006 ], "file_path": "/root/.actualbudget", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/actual-budget.webp", "repo": "actualbudget/actual", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://actualbudget.org/" }, "adguard": { "binary_path": "/opt/AdGuardHome/AdGuardHome", "default_ports": [ 80 ], "file_fallbacks": [ { "path": "/root/.adguardhome", "regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "source": "helper_marker" } ], "github_source": "releases", "installed_via": "binary", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/adguard-home.webp", "repo": "AdguardTeam/AdGuardHome", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://adguard.com/en/adguard-home/overview.html" }, "adventurelog": { "default_ports": [ 3000 ], "file_path": "/root/.adventurelog", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/adventurelog.webp", "repo": "seanmorley15/adventurelog", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://adventurelog.app/" }, "affine": { "default_ports": [ 3010 ], "file_path": "/root/.affine_app", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/affine.webp", "repo": "toeverything/AFFiNE", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://affine.pro/" }, "agentdvr": { "default_ports": [ 8090 ], "file_path": "/root/.agentdvr", "file_regex": "Agent_[^/]+_([0-9]+(?:_[0-9]+){3})\\.zip", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/agent-dvr.webp", "repo": "ispysoftware/agent-install-scripts", "tag_regex": "v?(\\d+(?:\\.\\d+){3})", "website": "https://www.ispyconnect.com/" }, "airtrail": { "default_ports": [ 3000 ], "file_path": "/root/.airtrail", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/airtrail.webp", "repo": "johanohly/AirTrail", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://airtrail.johan.ohly.dk/" }, "alpine-cinny": { "default_ports": [ 8080 ], "file_path": "/root/.cinny", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cinny.in/assets/cinny.svg", "repo": "cinnyapp/cinny", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://cinny.in/" }, "alpine-ironclaw": { "file_path": "/root/.ironclaw-bin", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "repo": "nearai/ironclaw", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" }, "anchor": { "default_ports": [ 3000 ], "file_path": "/root/.anchor", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/anchor-notes.webp", "repo": "ZhFahim/anchor", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/ZhFahim/anchor" }, "anytype-server": { "default_ports": [ 33010 ], "file_path": "/root/.anytype", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/anytype.webp", "repo": "grishy/any-sync-bundle", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://anytype.io/" }, "apprise-api": { "default_ports": [ 8000 ], "file_path": "/root/.apprise", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/apprise.webp", "repo": "caronc/apprise-api", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://appriseit.com/api/" }, "audiobookshelf": { "default_ports": [ 13378 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/audiobookshelf.webp", "package": "audiobookshelf", "repo": "advplyr/audiobookshelf", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.audiobookshelf.org/" }, "aurral": { "default_ports": [ 3001 ], "file_path": "/root/.aurral", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/aurral.webp", "repo": "lklynet/aurral", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://aurral.org" }, "authelia": { "default_ports": [ 443 ], "file_path": "/root/.authelia", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/authelia.webp", "repo": "authelia/authelia", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.authelia.com/" }, "authentik": { "default_ports": [ 9443 ], "file_path": "/root/.authentik", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/authentik.webp", "repo": "goauthentik/authentik", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://goauthentik.io/" }, "autobrr": { "default_ports": [ 7474 ], "file_path": "/root/.autobrr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/autobrr.webp", "repo": "autobrr/autobrr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://autobrr.com/" }, "babybuddy": { "default_ports": [ 80 ], "file_path": "/root/.babybuddy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/baby-buddy.webp", "repo": "babybuddy/babybuddy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/babybuddy/babybuddy" }, "backrest": { "default_ports": [ 9898 ], "file_path": "/root/.backrest", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/backrest.webp", "repo": "garethgeorge/backrest", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://garethgeorge.github.io/backrest" }, "baikal": { "default_ports": [ 80 ], "file_path": "/root/.baikal", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/baikal.webp", "repo": "sabre-io/Baikal", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sabre.io/baikal/" }, "bambuddy": { "default_ports": [ 8000 ], "file_path": "/root/.bambuddy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bambuddy.webp", "repo": "maziggy/bambuddy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/maziggy/bambuddy" }, "bar-assistant": { "default_ports": [ 80 ], "file_path": "/root/.bar-assistant", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bar-assistant.webp", "repo": "karlomikus/bar-assistant", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://barassistant.app/" }, "baserow": { "default_ports": [ 3000 ], "file_path": "/root/.baserow", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/baserow.webp", "repo": "baserow/baserow", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://baserow.io/" }, "bazarr": { "default_ports": [ 6767 ], "file_path": "/root/.bazarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bazarr.webp", "repo": "morpheus65535/bazarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.bazarr.media/" }, "beaverhabits": { "default_ports": [ 8080 ], "file_path": "/root/.beaverhabits", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/beaver-habit-tracker.webp", "repo": "daya0576/beaverhabits", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://beaverhabits.com" }, "bentopdf": { "default_ports": [ 8443 ], "file_path": "/root/.bentopdf", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bentopdf.webp", "repo": "alam00000/bentopdf", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.bentopdf.com" }, "beszel": { "default_ports": [ 8090 ], "file_path": "/root/.beszel", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/beszel.webp", "repo": "henrygd/beszel", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://beszel.dev/" }, "bichon": { "default_ports": [ 15630 ], "file_path": "/root/.bichon", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bichon.webp", "repo": "rustmailer/bichon", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/rustmailer/bichon" }, "birdnet-go": { "default_ports": [ 8080 ], "file_path": "/root/.birdnet", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/birdnet-analyzer.webp", "repo": "tphakala/birdnet-go", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/tphakala/birdnet-go" }, "bitmagnet": { "default_ports": [ 3333 ], "file_path": "/root/.bitmagnet", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bitmagnet.webp", "repo": "bitmagnet-io/bitmagnet", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://bitmagnet.io/" }, "blocky": { "default_ports": [ 4000 ], "file_path": "/root/.blocky", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/blocky.webp", "repo": "0xERR0R/blocky", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://0xerr0r.github.io/blocky/" }, "bookorbit": { "default_ports": [ 3000 ], "file_path": "/root/.bookorbit", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bookorbit.webp", "repo": "bookorbit/bookorbit", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://bookorbit.app/" }, "bookstack": { "default_ports": [ 80 ], "file_path": "/root/.bookstack", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bookstack.webp", "repo": "BookStackApp/BookStack", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.bookstackapp.com/" }, "budget-board": { "default_ports": [ 80 ], "file_path": "/root/.budget-board", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/budget-board.webp", "repo": "teelur/budget-board", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://budgetboard.net" }, "byparr": { "default_ports": [ 8191 ], "file_path": "/root/.byparr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/byparr.webp", "repo": "ThePhaseless/Byparr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/ThePhaseless/Byparr" }, "bytestash": { "default_ports": [ 3000 ], "file_path": "/root/.bytestash", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bytestash.webp", "repo": "jordan-dalby/ByteStash", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/jordan-dalby/ByteStash" }, "caddy": { "default_ports": [ 80 ], "file_path": "/root/.xcaddy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/caddy.webp", "repo": "caddyserver/xcaddy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://caddyserver.com/" }, "calibre-web": { "default_ports": [ 8083 ], "file_path": "/root/.calibre-web", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/calibre-web.webp", "repo": "janeczku/calibre-web", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/janeczku/calibre-web" }, "certimate": { "default_ports": [ 8090 ], "file_path": "/root/.certimate", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/certimate.webp", "repo": "certimate-go/certimate", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docs.certimate.me/en-US/" }, "chatwoot": { "default_ports": [ 3000 ], "file_path": "/root/.chatwoot", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/chatwoot.webp", "repo": "chatwoot/chatwoot", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.chatwoot.com/" }, "checkmate": { "default_ports": [ 5173 ], "file_path": "/root/.checkmate", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/checkmate.webp", "repo": "bluewave-labs/Checkmate", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/bluewave-labs/Checkmate" }, "cliproxyapi": { "default_ports": [ 8317 ], "file_path": "/root/.cliproxyapi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openai.webp", "repo": "router-for-me/CLIProxyAPI", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/router-for-me/CLIProxyAPI" }, "cloudflare-ddns": { "file_path": "/root/.cloudflare-ddns", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cloudflare.webp", "repo": "favonia/cloudflare-ddns", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/favonia/cloudflare-ddns" }, "cloudflared": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cloudflare.webp", "package": "cloudflared", "repo": "cloudflare/cloudflared", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.cloudflare.com/" }, "cloudreve": { "default_ports": [ 5212 ], "file_path": "/root/.cloudreve", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cloudreve.webp", "repo": "cloudreve/cloudreve", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://cloudreve.org/" }, "cockpit": { "default_ports": [ 9090 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cockpit.webp", "package": "cockpit", "repo": "cockpit-project/cockpit", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://cockpit-project.org/" }, "commafeed": { "default_ports": [ 8082 ], "file_path": "/root/.commafeed", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/commafeed.webp", "repo": "Athou/commafeed", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.commafeed.com/" }, "configarr": { "default_ports": [ 8989 ], "file_path": "/root/.configarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/configarr.webp", "repo": "raydak-labs/configarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://configarr.raydak.de/" }, "convertx": { "default_ports": [ 3000 ], "file_path": "/root/.convertx", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/convertx.webp", "repo": "C4illin/ConvertX", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/C4illin/ConvertX" }, "cookcli": { "default_ports": [ 9080 ], "file_path": "/root/.cook", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cooklang.webp", "repo": "cooklang/cookcli", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://cooklang.org" }, "coredns": { "file_path": "/root/.coredns", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/coredns.webp", "repo": "coredns/coredns", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://coredns.io/" }, "cronicle": { "default_ports": [ 3012 ], "file_path": "/root/.cronicle", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cronicle.webp", "repo": "jhuckaby/Cronicle", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/jhuckaby/Cronicle" }, "cryptpad": { "default_ports": [ 3000 ], "file_path": "/root/.cryptpad", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cryptpad.webp", "repo": "cryptpad/cryptpad", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://cryptpad.org/" }, "cyberchef": { "default_ports": [ 80 ], "file_path": "/root/.cyberchef", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cyberchef.webp", "repo": "gchq/CyberChef", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gchq.github.io/CyberChef" }, "dagu": { "default_ports": [ 8080 ], "file_path": "/root/.dagu", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dagu.webp", "repo": "dagucloud/dagu", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://dagu.sh/" }, "dashy": { "default_ports": [ 4000 ], "file_path": "/root/.dashy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dashy.webp", "repo": "Lissy93/dashy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://dashy.to/" }, "databasus": { "default_ports": [ 80 ], "file_path": "/root/.databasus", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/databasus.webp", "repo": "databasus/databasus", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/databasus/databasus" }, "dawarich": { "default_ports": [ 3000 ], "file_path": "/root/.dawarich", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dawarich.webp", "repo": "Freika/dawarich", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://dawarich.app/" }, "ddclient": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ddclient.webp", "package": "ddclient", "repo": "ddclient/ddclient", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ddclient.net/" }, "ddns-updater": { "default_ports": [ 8000 ], "file_path": "/root/.ddns-updater", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ddns-updater.webp", "repo": "qdm12/ddns-updater", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/qdm12/ddns-updater" }, "degoog": { "default_ports": [ 4444 ], "file_path": "/root/.degoog", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://raw.githubusercontent.com/fccview/degoog/main/src/public/images/degoog-logo.png", "repo": "fccview/degoog", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/fccview/degoog" }, "directus": { "default_ports": [ 8055 ], "file_path": "/root/.directus", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/directus.webp", "repo": "directus/directus", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://directus.com/" }, "discopanel": { "default_ports": [ 8080 ], "file_path": "/root/.discopanel", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/discopanel.webp", "repo": "nickheyer/discopanel", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://discopanel.app/" }, "dispatcharr": { "default_ports": [ 9191 ], "file_path": "/root/.dispatcharr", "file_regex": "(\\d+\\.\\d+\\.\\d+)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dispatcharr.webp", "repo": "Dispatcharr/Dispatcharr", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://github.com/Dispatcharr/Dispatcharr" }, "docker": { "binary_args": [ "--version" ], "binary_path": "/usr/bin/docker", "github_source": "releases", "installed_via": "binary", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docker.webp", "repo": "moby/moby", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://www.docker.com/" }, "docmost": { "default_ports": [ 3000 ], "file_fallbacks": [ { "path": "/root/.docmost", "regex": "v?(\\d+\\.\\d+\\.\\d+)" } ], "file_path": "/opt/docmost/package.json", "file_regex": "\"version\"\\s*:\\s*\"(\\d+\\.\\d+\\.\\d+)\"", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docmost.webp", "repo": "docmost/docmost", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://docmost.com/" }, "docspell": { "default_ports": [ 7880 ], "file_path": "/root/.docspell-joex", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docspell.webp", "repo": "eikek/docspell", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docspell.org/" }, "docuseal": { "default_ports": [ 3000 ], "file_path": "/root/.docuseal", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docuseal.webp", "repo": "docusealco/docuseal", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.docuseal.com/" }, "domain-locker": { "default_ports": [ 3000 ], "file_path": "/root/.domain-locker", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/domain-locker.webp", "repo": "Lissy93/domain-locker", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Lissy93/domain-locker" }, "domain-monitor": { "default_ports": [ 80 ], "file_path": "/root/.domain-monitor", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/domain-monitor.png", "repo": "Hosteroid/domain-monitor", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Hosteroid/domain-monitor" }, "donetick": { "default_ports": [ 2021 ], "file_path": "/root/.donetick", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/donetick.webp", "repo": "donetick/donetick", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://donetick.com" }, "drawio": { "default_ports": [ 8080 ], "file_path": "/root/.drawio", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/draw-io.webp", "repo": "jgraph/drawio", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.drawio.com/" }, "droppedneedle": { "default_ports": [ 8688 ], "file_path": "/root/.droppedneedle", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/droppedneedle.webp", "repo": "DroppedNeedle/DroppedNeedle", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/droppedneedle/droppedneedle" }, "duplicati": { "default_ports": [ 8200 ], "file_path": "/root/.duplicati", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/duplicati.webp", "repo": "duplicati/duplicati", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://duplicati.com/" }, "dynacat": { "default_ports": [ 8080 ], "file_path": "/root/.dynacat", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dynacat.webp", "repo": "Panonim/dynacat", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Panonim/dynacat" }, "ebusd": { "file_path": "/root/.ebusd", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ebusd.webp", "repo": "john30/ebusd", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/john30/ebusd" }, "emby": { "default_ports": [ 8096 ], "file_path": "/root/.emby", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/emby.webp", "repo": "MediaBrowser/Emby.Releases", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://emby.media/" }, "ersatztv": { "default_ports": [ 8409 ], "file_path": "/root/.ersatztv", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ersatztv.webp", "repo": "ErsatzTV/ErsatzTV", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ersatztv.org/" }, "espconnect": { "default_ports": [ 443 ], "file_path": "/root/.espconnect", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://avatars.githubusercontent.com/u/127616157?s=200&v=4", "repo": "thelastoutpostworkshop/ESPConnect", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/thelastoutpostworkshop/ESPConnect" }, "etherpad": { "default_ports": [ 9001 ], "file_path": "/root/.etherpad-lite", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/etherpad.webp", "repo": "ether/etherpad", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://etherpad.org" }, "evcc": { "default_ports": [ 7070 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/evcc.webp", "package": "evcc", "repo": "evcc-io/evcc", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://evcc.io/en/" }, "excalidash": { "default_ports": [ 6767 ], "file_path": "/root/.excalidash", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/excalidraw.webp", "repo": "ZimengXiong/ExcaliDash", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/ZimengXiong/ExcaliDash" }, "excalidraw": { "default_ports": [ 3000 ], "file_path": "/root/.excalidraw", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/excalidraw.webp", "repo": "excalidraw/excalidraw", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://excalidraw.com/" }, "ezbookkeeping": { "default_ports": [ 443 ], "file_path": "/root/.ezbookkeeping", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ezbookkeeping.webp", "repo": "mayswind/ezbookkeeping", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ezbookkeeping.mayswind.net" }, "feishin": { "default_ports": [ 9180 ], "file_path": "/root/.feishin", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/feishin.webp", "repo": "jeffvli/feishin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://feishin.vercel.app" }, "firecrawl": { "default_ports": [ 3002 ], "file_path": "/root/.firecrawl", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://raw.githubusercontent.com/firecrawl/firecrawl/main/img/firecrawl_logo.png", "repo": "firecrawl/firecrawl", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.firecrawl.dev/" }, "firefly": { "default_ports": [ 80 ], "file_path": "/root/.firefly", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/firefly-iii.webp", "repo": "firefly-iii/firefly-iii", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://firefly-iii.org/" }, "fireshare": { "default_ports": [ 80 ], "file_path": "/root/.fireshare", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fireshare.webp", "repo": "ShaneIsrael/fireshare", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://fireshare.net/" }, "fladder": { "default_ports": [ 80 ], "file_path": "/root/.fladder", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fladder.webp", "repo": "DonutWare/Fladder", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/DonutWare/Fladder" }, "flame": { "default_ports": [ 5005 ], "file_path": "/root/.flame", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/flame.webp", "repo": "pawelmalak/flame", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/pawelmalak/flame" }, "flaresolverr": { "default_ports": [ 8191 ], "file_path": "/root/.flaresolverr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/flaresolverr.webp", "repo": "FlareSolverr/FlareSolverr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/FlareSolverr/FlareSolverr" }, "flatnotes": { "default_ports": [ 8080 ], "file_path": "/root/.flatnotes", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/flatnotes.webp", "repo": "dullage/flatnotes", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/dullage/flatnotes" }, "fleet": { "default_ports": [ 8080 ], "file_path": "/root/.fleet", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fleet-dm.webp", "repo": "fleetdm/fleet", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://fleetdm.com/" }, "fluid-calendar": { "default_ports": [ 3000 ], "file_path": "/root/.fluid-calendar", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fluidcalendar.webp", "repo": "dotnetfactory/fluid-calendar", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/dotnetfactory/fluid-calendar" }, "foldergram": { "default_ports": [ 4141 ], "file_path": "/root/.foldergram", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/foldergram.webp", "repo": "foldergram/foldergram", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://foldergram.github.io/" }, "freshrss": { "default_ports": [ 80 ], "file_path": "/root/.freshrss", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/freshrss.webp", "repo": "FreshRSS/FreshRSS", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://freshrss.org/" }, "gatus": { "default_ports": [ 8080 ], "file_path": "/root/.gatus", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gatus.webp", "repo": "TwiN/gatus", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gatus.io/" }, "geopulse": { "default_ports": [ 80 ], "file_path": "/root/.geopulse-backend", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/geopulse.webp", "repo": "tess1o/geopulse", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/tess1o/geopulse" }, "ghostfolio": { "default_ports": [ 3333 ], "file_path": "/root/.ghostfolio", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ghostfolio.webp", "repo": "ghostfolio/ghostfolio", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ghostfol.io/" }, "gitea": { "default_ports": [ 3000 ], "file_fallbacks": [ { "path": "/root/.gitea", "regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "source": "helper_marker" } ], "github_source": "releases", "installed_via": "apk", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gitea.webp", "package": "gitea", "repo": "go-gitea/gitea", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://gitea.com" }, "gitea-mirror": { "default_ports": [ 4321 ], "file_path": "/root/.gitea-mirror", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gitea-mirror.webp", "repo": "RayLabsHQ/gitea-mirror", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gitea-mirror.raylabs.io" }, "github-runner": { "file_path": "/root/.actions-runner", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/github.webp", "repo": "actions/runner", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/actions/runner" }, "glance": { "default_ports": [ 8080 ], "file_path": "/root/.glance", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/glance.webp", "repo": "glanceapp/glance", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/glanceapp/glance" }, "globaleaks": { "default_ports": [ 443 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/globaleaks.webp", "package": "globaleaks", "repo": "globaleaks/globaleaks-whistleblowing-software", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.globaleaks.org/" }, "gluetun": { "default_ports": [ 8000 ], "file_path": "/root/.gluetun", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gluetun.webp", "repo": "qdm12/gluetun", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/qdm12/gluetun" }, "go2rtc": { "default_ports": [ 1984 ], "file_path": "/root/.go2rtc", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/go2rtc.webp", "repo": "AlexxIT/go2rtc", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/AlexxIT/go2rtc" }, "godoxy": { "default_ports": [ 443 ], "file_path": "/root/.godoxy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/yusing/godoxy@main/assets/godoxy.png", "repo": "yusing/godoxy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/yusing/godoxy" }, "gogs": { "default_ports": [ 3000 ], "file_path": "/root/.gogs", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gogs.webp", "repo": "gogs/gogs", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gogs.io/" }, "gokapi": { "default_ports": [ 53842 ], "file_path": "/root/.gokapi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gokapi.webp", "repo": "Forceu/Gokapi", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Forceu/Gokapi" }, "gotify": { "default_ports": [ 80 ], "file_path": "/root/.gotify", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gotify.webp", "repo": "gotify/server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gotify.net/" }, "grafana": { "alt_detectors": [ { "binary_args": [ "server", "-v" ], "binary_path": "grafana", "container_name": "grafana", "installed_via": "docker_exec" } ], "default_ports": [ 3000 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/grafana.webp", "package": "grafana", "repo": "grafana/grafana", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://grafana.com/" }, "gramps-web": { "default_ports": [ 5000 ], "file_path": "/root/.gramps-web", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gramps.webp", "repo": "gramps-project/gramps-web", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.grampsweb.org/" }, "grav": { "default_ports": [ 80 ], "file_path": "/root/.grav", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://getgrav.org/user/pages/media/grav-symbol.svg", "repo": "getgrav/grav", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://getgrav.org/" }, "grist": { "default_ports": [ 8484 ], "file_path": "/root/.grist", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/grist.webp", "repo": "gristlabs/grist-core", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.getgrist.com/" }, "grocy": { "default_ports": [ 80 ], "file_path": "/root/.grocy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/grocy.webp", "repo": "grocy/grocy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://grocy.info/" }, "guardian": { "default_ports": [ 3000 ], "file_path": "/root/.guardian", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/guardian-plex.webp", "repo": "HydroshieldMKII/Guardian", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/HydroshieldMKII/Guardian" }, "headscale": { "file_path": "/root/.headscale", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/headscale.webp", "repo": "juanfont/headscale", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/juanfont/headscale" }, "healthchecks": { "default_ports": [ 3000 ], "file_path": "/root/.healthchecks", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/healthchecks.webp", "repo": "healthchecks/healthchecks", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://healthchecks.io/" }, "heimdall-dashboard": { "default_ports": [ 7990 ], "file_path": "/root/.heimdall", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/heimdall.webp", "repo": "linuxserver/Heimdall", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://heimdall.site/" }, "hev-socks5-server": { "default_ports": [ 1080 ], "file_path": "/root/.hev-socks5-server", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hev.webp", "repo": "heiher/hev-socks5-server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/heiher/hev-socks5-server" }, "hister": { "default_ports": [ 4433 ], "file_path": "/root/.hister", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hister.webp", "repo": "asciimoo/hister", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://hister.org" }, "homarr": { "default_ports": [ 7575 ], "file_path": "/root/.homarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homarr.webp", "repo": "homarr-labs/homarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://homarr.dev/" }, "homebox": { "default_ports": [ 7745 ], "file_path": "/root/.homebox", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homebox.webp", "repo": "sysadminsmedia/homebox", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://homebox.software/en/" }, "homebridge": { "default_ports": [ 8581 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homebridge.webp", "package": "homebridge", "repo": "homebridge/homebridge", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://homebridge.io/" }, "homelable": { "default_ports": [ 3000 ], "file_path": "/root/.homelable", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homelable.webp", "repo": "Pouzor/homelable", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://homelable.net/" }, "homepage": { "default_ports": [ 3000 ], "file_path": "/root/.homepage", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homepage.webp", "repo": "gethomepage/homepage", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://gethomepage.dev" }, "homer": { "default_ports": [ 8010 ], "file_path": "/root/.homer", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homer.webp", "repo": "bastienwirtz/homer", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/bastienwirtz/homer" }, "hoodik": { "file_path": "/root/.hoodik", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "repo": "hudikhq/hoodik", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" }, "hortusfox": { "default_ports": [ 80 ], "file_path": "/root/.hortusfox", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hortusfox.webp", "repo": "danielbrendel/hortusfox-web", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.hortusfox.com/" }, "hyperhdr": { "default_ports": [ 8090 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hyperhdr.webp", "package": "hyperhdr", "repo": "awawa-dev/HyperHDR", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/awawa-dev/HyperHDR" }, "hyperion": { "default_ports": [ 8090 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hyperion.webp", "package": "hyperion", "repo": "hyperion-project/hyperion.ng", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://hyperion-project.org/forum/" }, "ignis": { "default_ports": [ 443 ], "file_path": "/root/.ignis", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/obsidian.webp", "repo": "Nystik-gh/ignis", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Nystik-gh/ignis" }, "igotify": { "default_ports": [ 80 ], "file_path": "/root/.igotify", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gotify.webp", "repo": "androidseb25/iGotify-Notification-Assistent", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/androidseb25/iGotify-Notification-Assistent" }, "immich": { "default_ports": [ 2283 ], "file_path": "/root/.immich", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich.webp", "repo": "immich-app/immich", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://immich.app" }, "immichframe": { "default_ports": [ 8080 ], "file_path": "/root/.immichframe", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich-frame.webp", "repo": "immichFrame/ImmichFrame", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" }, "infisical": { "default_ports": [ 8080 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/infisical.webp", "package": "infisical-core", "repo": "Infisical/infisical", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://infisical.com/" }, "influxdb": { "default_ports": [ 8086 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/influxdb.webp", "package": "influxdb", "repo": "influxdata/influxdb", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.influxdata.com/" }, "inspircd": { "default_ports": [ 6667 ], "file_path": "/root/.inspircd", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/inspircd.webp", "repo": "inspircd/inspircd", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.inspircd.org/" }, "inventree": { "default_ports": [ 80 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/inventree.webp", "package": "inventree", "repo": "inventree/InvenTree", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://inventree.org" }, "investbrain": { "default_ports": [ 8000 ], "file_path": "/root/.investbrain", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/investbrain.webp", "repo": "investbrainapp/investbrain", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://investbra.in" }, "invidious": { "default_ports": [ 3000 ], "file_path": "/root/.invidious", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/invidious.webp", "repo": "iv-org/invidious", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://invidious.io" }, "invoiceninja": { "default_ports": [ 8080 ], "file_path": "/root/.invoiceninja", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/invoice-ninja.webp", "repo": "invoiceninja/invoiceninja", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://invoiceninja.com/" }, "invoiceshelf": { "default_ports": [ 80 ], "file_path": "/root/.invoiceshelf", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/invoiceshelf.webp", "repo": "InvoiceShelf/InvoiceShelf", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://invoiceshelf.com/" }, "ironclaw": { "default_ports": [ 3000 ], "file_path": "/root/.ironclaw-bin", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ironclaw.webp", "repo": "nearai/ironclaw", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/nearai/ironclaw" }, "isponsorblocktv": { "file_path": "/root/.isponsorblocktv", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://raw.githubusercontent.com/ajayyy/SponsorBlock/master/public/icons/IconSponsorBlocker512px.png", "repo": "dmunozv04/iSponsorBlockTV", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/dmunozv04/iSponsorBlockTV" }, "iventoy": { "default_ports": [ 26000 ], "file_path": "/root/.iventoy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/iventoy.webp", "repo": "ventoy/PXE", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.iventoy.com/" }, "jellyfin": { "default_ports": [ 8096 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/jellyfin.webp", "package": "jellyfin", "repo": "jellyfin/jellyfin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://jellyfin.org/" }, "jenkins": { "default_ports": [ 8080 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/jenkins.webp", "package": "jenkins", "repo": "jenkinsci/jenkins", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.jenkins.io/" }, "joplin-server": { "default_ports": [ 22300 ], "file_path": "/root/.joplin-server", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/joplin.webp", "repo": "laurent22/joplin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://joplinapp.org/" }, "jotty": { "default_ports": [ 3000 ], "file_path": "/root/.jotty", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/jotty.webp", "repo": "fccview/jotty", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/fccview/jotty" }, "journiv": { "default_ports": [ 8000 ], "file_path": "/root/.journiv", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/journiv.webp", "repo": "journiv/journiv-app", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://journiv.com/" }, "kaneo": { "default_ports": [ 5173 ], "file_path": "/root/.kaneo", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kaneo.webp", "repo": "usekaneo/kaneo", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://kaneo.app/" }, "kapowarr": { "default_ports": [ 5656 ], "file_path": "/root/.kapowarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kapowarr.webp", "repo": "Casvt/Kapowarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://casvt.github.io/Kapowarr/" }, "karakeep": { "default_ports": [ 3000 ], "file_path": "/root/.karakeep", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/karakeep.webp", "repo": "karakeep-app/karakeep", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://karakeep.app/" }, "kavita": { "default_ports": [ 5000 ], "file_path": "/root/.kavita", "file_regex": "(\\d+\\.\\d+\\.\\d+)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kavita.webp", "repo": "Kareadita/Kavita", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://www.kavitareader.com/" }, "keycloak": { "default_ports": [ 8080 ], "file_path": "/root/.keycloak_app", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/keycloak.webp", "repo": "keycloak/keycloak", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.keycloak.org/" }, "kima-hub": { "default_ports": [ 3030 ], "file_path": "/root/.kima-hub", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kima-hub.webp", "repo": "Chevron7Locked/kima-hub", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Chevron7Locked/kima-hub" }, "kimai": { "file_path": "/root/.kimai", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kimai.webp", "repo": "kimai/kimai", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.kimai.org/" }, "kitchenowl": { "default_ports": [ 80 ], "file_path": "/root/.kitchenowl", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kitchenowl.webp", "repo": "TomBursch/kitchenowl", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://kitchenowl.org/" }, "kiwix": { "default_ports": [ 8080 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kiwix.webp", "package": "kiwix-tools", "repo": "kiwix/kiwix-tools", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.kiwix.org" }, "koel": { "default_ports": [ 80 ], "file_path": "/root/.koel", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koel-light.webp", "repo": "koel/koel", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://koel.dev/" }, "koffan": { "default_ports": [ 3000 ], "file_path": "/root/.koffan", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koffan.webp", "repo": "PanSalut/Koffan", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/PanSalut/Koffan" }, "koillection": { "default_ports": [ 80 ], "file_path": "/root/.koillection", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koillection.webp", "repo": "benjaminjonard/koillection", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://koillection.github.io/" }, "kometa": { "file_path": "/root/.kometa", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kometa.webp", "repo": "Kometa-Team/Kometa", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Kometa-Team/Kometa" }, "komga": { "default_ports": [ 25600 ], "file_path": "/root/.komga-org", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/komga.webp", "repo": "gotson/komga", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://komga.org/" }, "kubo": { "default_ports": [ 5001 ], "file_path": "/root/.kubo", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ipfs.webp", "repo": "ipfs/kubo", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/ipfs/kubo" }, "kutt": { "default_ports": [ 3000 ], "file_path": "/root/.kutt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kutt.webp", "repo": "thedevs-network/kutt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://kutt.to" }, "leafwiki": { "default_ports": [ 8080 ], "file_path": "/root/.leafwiki", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/leafwiki.webp", "repo": "perber/leafwiki", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://leafwiki.com" }, "leantime": { "default_ports": [ 80 ], "file_path": "/root/.leantime", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/leantime.webp", "repo": "Leantime/leantime", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://leantime.io" }, "librenms": { "default_ports": [ 80 ], "file_path": "/root/.librenms", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/librenms.webp", "repo": "librenms/librenms", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://librenms.org/" }, "librespeed-rust": { "default_ports": [ 8080 ], "file_path": "/root/.librespeed-rust", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/librespeed.webp", "repo": "librespeed/speedtest-rust", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/librespeed/speedtest-rust" }, "libretranslate": { "default_ports": [ 5000 ], "file_path": "/root/.libretranslate", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/libretranslate.webp", "repo": "LibreTranslate/LibreTranslate", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://libretranslate.com/" }, "lidarr": { "default_ports": [ 8686 ], "file_path": "/root/.lidarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lidarr.webp", "repo": "Lidarr/Lidarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://lidarr.audio/" }, "linkding": { "default_ports": [ 9090 ], "file_path": "/root/.linkding", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/linkding.webp", "repo": "sissbruecker/linkding", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://linkding.link/" }, "linkwarden": { "default_ports": [ 3000 ], "file_path": "/root/.linkwarden", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/linkwarden.webp", "repo": "linkwarden/linkwarden", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://linkwarden.app/" }, "listmonk": { "default_ports": [ 9000 ], "file_path": "/root/.listmonk", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/listmonk.webp", "repo": "knadh/listmonk", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://listmonk.app/" }, "lldap": { "default_ports": [ 17170 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lldap.webp", "package": "lldap", "repo": "lldap/lldap", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/lldap/lldap" }, "lobehub": { "default_ports": [ 3210 ], "file_path": "/root/.lobehub", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lobehub.webp", "repo": "lobehub/lobehub", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://lobehub.com/" }, "localagi": { "default_ports": [ 3000 ], "file_path": "/root/.localagi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/localagi.webp", "repo": "mudler/LocalAGI", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/mudler/LocalAGI" }, "loki": { "default_ports": [ 3100 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/loki.webp", "package": "loki", "repo": "grafana/loki", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/grafana/loki" }, "lubelogger": { "default_ports": [ 5000 ], "file_path": "/root/.lubelogger", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lubelogger.webp", "repo": "hargata/lubelog", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://lubelogger.com/" }, "lychee": { "default_ports": [ 80 ], "file_path": "/root/.lychee", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lychee.webp", "repo": "LycheeOrg/Lychee", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://lycheeorg.github.io/" }, "mafl": { "default_ports": [ 3000 ], "file_path": "/root/.mafl", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mafl.webp", "repo": "hywax/mafl", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mafl.hywax.space/" }, "magicmirror": { "default_ports": [ 8080 ], "file_path": "/root/.magicmirror", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/magicmirror2.webp", "repo": "MagicMirrorOrg/MagicMirror", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docs.magicmirror.builders/" }, "mail-archiver": { "default_ports": [ 5000 ], "file_path": "/root/.mail-archiver", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mail-archiver.webp", "repo": "s1t5/mail-archiver", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/s1t5/mail-archiver" }, "mailpit": { "default_ports": [ 8025 ], "file_path": "/root/.mailpit", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mailpit.webp", "repo": "axllent/mailpit", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mailpit.axllent.org/" }, "maintainerr": { "default_ports": [ 6246 ], "file_path": "/root/.maintainerr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/maintainerr.webp", "repo": "Maintainerr/Maintainerr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://maintainerr.info" }, "managemydamnlife": { "default_ports": [ 3000 ], "file_path": "/root/.mmdl", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/manage-my-damn-life.webp", "repo": "intri-in/manage-my-damn-life-nextjs", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/intri-in/manage-my-damn-life-nextjs" }, "manyfold": { "default_ports": [ 80 ], "file_path": "/root/.manyfold", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/manyfold.webp", "repo": "manyfold3d/manyfold", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://manyfold.app/" }, "mastodon": { "default_ports": [ 80 ], "file_path": "/root/.mastodon", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mastodon.webp", "repo": "mastodon/mastodon", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://joinmastodon.org" }, "matomo": { "default_ports": [ 80 ], "file_path": "/root/.matomo", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/matomo.webp", "repo": "matomo-org/matomo", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://matomo.org/" }, "matter-hub": { "default_ports": [ 8482 ], "file_path": "/root/.matter-hub", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp", "repo": "RiDDiX/home-assistant-matter-hub", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/RiDDiX/home-assistant-matter-hub" }, "matter-server": { "default_ports": [ 5580 ], "file_path": "/root/.matter-server", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp", "repo": "matter-js/python-matter-server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/matter-js/python-matter-server" }, "mattermost": { "default_ports": [ 8065 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mattermost.webp", "package": "mattermost", "repo": "mattermost/mattermost", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mattermost.com/" }, "mealie": { "default_ports": [ 9000 ], "file_path": "/root/.mealie", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mealie.webp", "repo": "mealie-recipes/mealie", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mealie.io/" }, "mediamtx": { "file_path": "/root/.mediamtx", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mediamtx.webp", "repo": "bluenviron/mediamtx", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/bluenviron/mediamtx" }, "meilisearch": { "default_ports": [ 7700 ], "file_path": "/root/.meilisearch-ui", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/meilisearch.webp", "repo": "riccox/meilisearch-ui", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.meilisearch.com/" }, "memos": { "default_ports": [ 9030 ], "file_path": "/root/.memos", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/memos.webp", "repo": "usememos/memos", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.usememos.com/" }, "metabase": { "default_ports": [ 3000 ], "file_path": "/root/.metabase", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/metabase.webp", "repo": "metabase/metabase", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.metabase.com/" }, "metube": { "default_ports": [ 8081 ], "file_path": "/root/.metube", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/metube.webp", "repo": "alexta69/metube", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/alexta69/metube" }, "mini-qr": { "default_ports": [ 80 ], "file_path": "/root/.mini-qr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mini-qr.webp", "repo": "lyqht/mini-qr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mini-qr-code-generator.vercel.app/" }, "monica": { "default_ports": [ 80 ], "file_path": "/root/.monica", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/monica.webp", "repo": "monicahq/monica", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.monicahq.com/" }, "mumble": { "default_ports": [ 64738 ], "file_path": "/root/.mumble", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mumble.webp", "repo": "mumble-voip/mumble", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.mumble.info/" }, "myip": { "default_ports": [ 18966 ], "file_path": "/root/.myip", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/myip.webp", "repo": "jason5ng32/MyIP", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ipcheck.ing/" }, "mylar3": { "default_ports": [ 8090 ], "file_path": "/root/.mylar3", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mylar3.webp", "repo": "MylarComics/mylar3", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://mylar.nerdfirehurricane.com/" }, "myspeed": { "default_ports": [ 5216 ], "file_path": "/root/.myspeed", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/myspeed.webp", "repo": "gnmyt/myspeed", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://myspeed.dev/" }, "nagios": { "default_ports": [ 80 ], "file_path": "/root/.nagios", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nagios.webp", "repo": "NagiosEnterprises/nagioscore", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.nagios.org/projects/nagios-core/" }, "nametag": { "default_ports": [ 3000 ], "file_path": "/root/.nametag", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nametag.webp", "repo": "mattogodoy/nametag", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://nametag.one" }, "navidrome": { "default_ports": [ 4533 ], "file_path": "/root/.navidrome", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/navidrome.webp", "repo": "navidrome/navidrome", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.navidrome.org/" }, "neko": { "default_ports": [ 8080 ], "file_path": "/root/.neko", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/neko.webp", "repo": "m1k1o/neko", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://neko.m1k1o.net/" }, "neo4j": { "default_ports": [ 7474 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/neo4j.webp", "package": "neo4j", "repo": "neo4j/neo4j", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://neo4j.com/product/neo4j-graph-database/" }, "netbird": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/netbird.webp", "package": "netbird", "repo": "netbirdio/netbird", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://netbird.io/" }, "netboot-xyz": { "default_ports": [ 80 ], "file_path": "/root/.netboot-xyz", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/netboot-xyz.webp", "repo": "netbootxyz/netboot.xyz", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://netboot.xyz/" }, "netbox": { "default_ports": [ 443 ], "file_path": "/root/.netbox", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/netbox.webp", "repo": "netbox-community/netbox", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://netboxlabs.com/products/netbox/" }, "networkoptimizer": { "default_ports": [ 8042 ], "file_path": "/root/.networkoptimizer", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/network-optimizer.webp", "repo": "Ozark-Connect/NetworkOptimizer", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ozarkconnect.net/network-optimizer" }, "newt": { "file_path": "/root/.newt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pangolin.webp", "repo": "fosrl/newt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pangolin.net" }, "nextexplorer": { "default_ports": [ 3000 ], "file_path": "/root/.nextexplorer", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nextexplorer.webp", "repo": "nxzai/nextExplorer", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/nxzai/nextExplorer" }, "nezha": { "default_ports": [ 8008 ], "file_path": "/root/.nezha", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nezha.webp", "repo": "nezhahq/nezha", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://nezha.wiki/en_US/" }, "nginx-ui": { "default_ports": [ 9000 ], "file_path": "/root/.nginx-ui", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nginx-ui.webp", "repo": "0xJacky/nginx-ui", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://nginxui.com" }, "nginxproxymanager": { "default_ports": [ 81 ], "file_fallbacks": [ { "path": "/app/package.json", "regex": "\"version\"\\s*:\\s*\"(\\d+\\.\\d+\\.\\d+)\"" }, { "path": "/root/.nginxproxymanager", "regex": "v?(\\d+\\.\\d+\\.\\d+)" } ], "file_path": "/opt/nginxproxymanager/backend/package.json", "file_regex": "\"version\"\\s*:\\s*\"(\\d+\\.\\d+\\.\\d+)\"", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nginx-proxy-manager.webp", "repo": "NginxProxyManager/nginx-proxy-manager", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://nginxproxymanager.com/" }, "nightscout": { "default_ports": [ 1337 ], "file_path": "/root/.nightscout", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nightscout.webp", "repo": "nightscout/cgm-remote-monitor", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" }, "nocodb": { "default_ports": [ 8080 ], "file_path": "/root/.nocodb", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nocodb.webp", "repo": "nocodb/nocodb", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.nocodb.com/" }, "nodebb": { "default_ports": [ 4567 ], "file_path": "/root/.nodebb", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nodebb.webp", "repo": "NodeBB/NodeBB", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://nodebb.org/" }, "nodecast-tv": { "default_ports": [ 3000 ], "file_path": "/root/.nodecast-tv", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nodecast-tv.webp", "repo": "technomancer702/nodecast-tv", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/technomancer702/nodecast-tv" }, "notediscovery": { "default_ports": [ 8000 ], "file_path": "/root/.notediscovery", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/notediscovery.webp", "repo": "gamosoft/NoteDiscovery", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.notediscovery.com" }, "notifiarr": { "default_ports": [ 5454 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/notifiarr.webp", "package": "notifiarr", "repo": "Notifiarr/notifiarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://notifiarr.com/" }, "ntfy": { "default_ports": [ 80 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ntfy.webp", "package": "ntfy", "repo": "binwiederhier/ntfy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ntfy.sh/" }, "nzbget": { "default_ports": [ 6789 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nzbget.webp", "package": "nzbget", "repo": "nzbget/nzbget", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://nzbget.com/" }, "oauth2-proxy": { "file_path": "/root/.oauth2-proxy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/oauth2-proxy.webp", "repo": "oauth2-proxy/oauth2-proxy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://oauth2-proxy.github.io/oauth2-proxy/" }, "odoo": { "alt_detectors": [ { "binary_path": "/usr/bin/odoo", "installed_via": "binary" } ], "default_ports": [ 8069 ], "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/odoo.webp", "package": "odoo", "tag_regex": "(\\d+\\.\\d+(?:\\.\\d+)?)", "website": "https://www.odoo.com/" }, "ollama": { "default_ports": [ 11434 ], "file_path": "/root/.ollama-com", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ollama.webp", "repo": "ollama/ollama", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ollama.com/" }, "ombi": { "default_ports": [ 5000 ], "file_path": "/root/.ombi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ombi.webp", "repo": "Ombi-app/Ombi", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://ombi.io/" }, "omnitools": { "default_ports": [ 80 ], "file_path": "/root/.omnitools", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/iib0011/omni-tools@main/src/assets/logo.png", "repo": "iib0011/omni-tools", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://omnitools.app" }, "onedev": { "default_ports": [ 6610 ], "file_path": "/root/.onedev", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/onedev.webp", "repo": "theonedev/onedev", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://onedev.io/" }, "onlyoffice": { "default_ports": [ 80 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/onlyoffice.webp", "package": "onlyoffice-documentserver", "repo": "ONLYOFFICE/DocumentServer", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://onlyoffice.com/" }, "open-archiver": { "default_ports": [ 3000 ], "file_path": "/root/.openarchiver", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/open-archiver.webp", "repo": "LogicLabs-OU/OpenArchiver", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://openarchiver.com/" }, "openbao": { "default_ports": [ 8200 ], "file_path": "/root/.openbao", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp", "repo": "openbao/openbao", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://openbao.org/" }, "opencloud": { "default_ports": [ 443 ], "file_path": "/root/.opencloud", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/opencloud.webp", "repo": "opencloud-eu/opencloud", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://opencloud.eu" }, "opengist": { "default_ports": [ 6157 ], "file_path": "/root/.opengist", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/opengist.webp", "repo": "thomiceli/opengist", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://opengist.io/" }, "openproject": { "default_ports": [ 80 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openproject.webp", "package": "openproject", "repo": "opf/openproject", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.openproject.org" }, "openwebui": { "default_ports": [ 8080 ], "distribution": "open-webui", "github_source": "releases", "installed_via": "python_dist", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/open-webui.webp", "python_path": "/root/.local/share/uv/tools/open-webui/bin/python", "repo": "open-webui/open-webui", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://openwebui.com/" }, "openziti-controller": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openziti.webp", "package": "openziti-controller", "repo": "openziti/ziti", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.openziti.io/" }, "ots": { "default_ports": [ 443 ], "file_path": "/root/.ots", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ots.webp", "repo": "Luzifer/ots", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Luzifer/ots" }, "outline": { "default_ports": [ 3000 ], "file_path": "/root/.outline", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/outline.webp", "repo": "outline/outline", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.getoutline.com" }, "owncast": { "default_ports": [ 8080 ], "file_path": "/root/.owncast", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/owncast.webp", "repo": "owncast/owncast", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://owncast.online/" }, "ownfoil": { "default_ports": [ 8465 ], "file_path": "/root/.ownfoil", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ownfoil.webp", "repo": "a1ex4/ownfoil", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/a1ex4/ownfoil" }, "oxicloud": { "default_ports": [ 8086 ], "file_path": "/root/.oxicloud", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/oxicloud.webp", "repo": "DioCrafts/OxiCloud", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/DioCrafts/OxiCloud" }, "pairdrop": { "default_ports": [ 3000 ], "file_fallbacks": [ { "path": "/root/.pairdrop", "regex": "v?(\\d+\\.\\d+\\.\\d+)" } ], "file_path": "/opt/pairdrop/package.json", "file_regex": "\"version\"\\s*:\\s*\"(\\d+\\.\\d+\\.\\d+)\"", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pairdrop.webp", "repo": "schlagmichdoch/PairDrop", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://github.com/schlagmichdoch/PairDrop" }, "pangolin": { "default_ports": [ 443 ], "file_path": "/root/.pangolin", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pangolin.webp", "repo": "fosrl/pangolin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pangolin.net/" }, "paperclip": { "default_ports": [ 3100 ], "file_path": "/root/.paperclip-ai", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperclip-ai.webp", "repo": "paperclipai/paperclip", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://paperclip.ing/" }, "paperless-ai": { "default_ports": [ 3000 ], "file_path": "/root/.paperless-ai", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperless-ai.webp", "repo": "clusterzx/paperless-ai", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/clusterzx/paperless-ai" }, "paperless-gpt": { "default_ports": [ 8080 ], "file_path": "/root/.paperless-gpt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperless-ngx-light.webp", "repo": "icereed/paperless-gpt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/icereed/paperless-gpt" }, "paperless-ngx": { "default_ports": [ 8000 ], "file_path": "/root/.paperless", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperless-ngx.webp", "repo": "paperless-ngx/paperless-ngx", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docs.paperless-ngx.com/" }, "papra": { "default_ports": [ 1221 ], "file_path": "/root/.papra", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/papra.webp", "repo": "papra-hq/papra", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/CorentinTh/papra" }, "part-db": { "default_ports": [ 80 ], "file_path": "/root/.partdb", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/part-db.webp", "repo": "Part-DB/Part-DB-server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Part-DB/Part-DB-server" }, "passwordpusher": { "default_ports": [ 5100 ], "file_path": "/root/.passwordpusher", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pwpush.webp", "repo": "pglombardo/PasswordPusher", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pwpush.com" }, "patchmon": { "default_ports": [ 3000 ], "file_path": "/root/.patchmon", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/patchmon.webp", "repo": "PatchMon/PatchMon", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://patchmon.net" }, "paymenter": { "default_ports": [ 80 ], "file_path": "/root/.paymenter", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paymenter.webp", "repo": "paymenter/paymenter", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://paymenter.org/" }, "peertube": { "default_ports": [ 9000 ], "file_path": "/root/.peertube", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/peertube.webp", "repo": "Chocobozzz/PeerTube", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://joinpeertube.org/" }, "pegaprox": { "default_ports": [ 5000 ], "file_path": "/root/.pegaprox", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pegaprox.webp", "repo": "PegaProx/project-pegaprox", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pegaprox.com/" }, "pelican-panel": { "default_ports": [ 80 ], "file_path": "/root/.pelican-panel", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pelican-panel.webp", "repo": "pelican-dev/panel", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pelican.dev/" }, "pelican-wings": { "file_path": "/root/.wings", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pelican-panel.webp", "repo": "pelican-dev/wings", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pelican.dev/" }, "photoprism": { "default_ports": [ 2342 ], "file_path": "/root/.photoprism", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/photoprism.webp", "repo": "photoprism/photoprism", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://photoprism.app/" }, "pihole": { "binary_path": "/usr/local/bin/pihole", "default_ports": [ 80 ], "installed_via": "binary", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pi-hole.webp", "repo": "pi-hole/pi-hole", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://pi-hole.net/" }, "pinchflat": { "default_ports": [ 8945 ], "file_path": "/root/.pinchflat", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pinchflat.webp", "repo": "kieraneglin/pinchflat", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/kieraneglin/pinchflat" }, "plane": { "default_ports": [ 80 ], "file_path": "/root/.plane", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/plane.webp", "repo": "makeplane/plane", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://plane.so" }, "planka": { "default_ports": [ 1337 ], "file_path": "/root/.planka", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/planka.webp", "repo": "plankanban/planka", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://planka.app/" }, "plant-it": { "default_ports": [ 3000 ], "file_path": "/root/.plant-it", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/plant-it.webp", "repo": "MDeLuise/plant-it", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://plant-it.org/" }, "plex": { "default_ports": [ 32400 ], "installed_regex": "(\\d+\\.\\d+\\.\\d+\\.\\d+)", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/plex.webp", "package": "plexmediaserver", "tag_regex": "(\\d+\\.\\d+\\.\\d+\\.\\d+)", "upstream_json_path": "computer.Linux.version", "upstream_type": "http_json", "upstream_url": "https://plex.tv/api/downloads/5.json?channel=8", "website": "https://www.plex.tv/" }, "pocketbase": { "file_path": "/root/.pocketbase", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pocketbase.webp", "repo": "pocketbase/pocketbase", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pocketbase.io/" }, "pocketid": { "default_ports": [ 1411 ], "file_path": "/root/.pocket-id", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pocket-id.webp", "repo": "pocket-id/pocket-id", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/pocket-id/pocket-id" }, "podman": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/podman.webp", "package": "podman", "repo": "containers/podman", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://podman.io/" }, "portainer": { "binary_args": [ "--version" ], "binary_path": "/portainer", "container_name": "portainer", "default_ports": [ 9000, 9443 ], "github_source": "releases", "installed_via": "docker_exec", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/portainer.webp", "repo": "portainer/portainer", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://www.portainer.io/" }, "postiz": { "default_ports": [ 80 ], "file_path": "/root/.postiz", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/postiz.webp", "repo": "gitroomhq/postiz-app", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://postiz.com/" }, "poznote": { "default_ports": [ 8040 ], "file_path": "/root/.poznote", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/poznote.webp", "repo": "timothepoznanski/poznote", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/timothepoznanski/poznote" }, "privatebin": { "default_ports": [ 80 ], "file_path": "/root/.privatebin", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/privatebin.webp", "repo": "PrivateBin/PrivateBin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/PrivateBin/PrivateBin" }, "profilarr": { "default_ports": [ 6868 ], "file_path": "/root/.profilarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/profilarr.webp", "repo": "Dictionarry-Hub/profilarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Dictionarry-Hub/profilarr" }, "projectsend": { "default_ports": [ 80 ], "file_path": "/root/.projectsend", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/projectsend.webp", "repo": "projectsend/projectsend", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://projectsend.org/" }, "prometheus": { "default_ports": [ 9090 ], "file_path": "/root/.prometheus", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prometheus.webp", "repo": "prometheus/prometheus", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://prometheus.io/" }, "prometheus-alertmanager": { "default_ports": [ 9093 ], "file_path": "/root/.alertmanager", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prometheus.webp", "repo": "prometheus/alertmanager", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://prometheus.io/" }, "prometheus-blackbox-exporter": { "default_ports": [ 9115 ], "file_path": "/root/.blackbox-exporter", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prometheus.webp", "repo": "prometheus/blackbox_exporter", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/prometheus/blackbox_exporter" }, "protonmail-bridge": { "file_path": "/root/.protonmail-bridge", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/proton-mail.webp", "repo": "ProtonMail/proton-bridge", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://proton.me/mail/bridge" }, "prowlarr": { "default_ports": [ 9696 ], "file_path": "/root/.prowlarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prowlarr.webp", "repo": "Prowlarr/Prowlarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Prowlarr/Prowlarr" }, "proxmox-backup-server": { "default_ports": [ 8007 ], "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/proxmox.webp", "package": "proxmox-backup-server", "tag_regex": "(\\d+\\.\\d+\\.\\d+)", "website": "https://www.proxmox.com/en/proxmox-backup-server/overview" }, "ps5-mqtt": { "default_ports": [ 8645 ], "file_path": "/root/.ps5-mqtt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ps5-mqtt.webp", "repo": "FunkeyFlo/ps5-mqtt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/FunkeyFlo/" }, "pterodactyl-wings": { "file_path": "/root/.wings", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pterodactyl.webp", "repo": "pterodactyl/wings", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://pterodactyl.io" }, "pulse": { "default_ports": [ 7655 ], "file_path": "/root/.pulse", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pulse.webp", "repo": "rcourtman/Pulse", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/rcourtman/Pulse" }, "pve-ups": { "default_ports": [ 8080 ], "file_path": "/root/.pve-usv", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://github.com/ffind-dev/pve-ups/raw/refs/heads/main/Screenshots/logo/favicon.svg", "repo": "ffind-dev/pve-ups", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/ffind-dev/pve-ups" }, "qbittorrent": { "binary_path": "/opt/qbittorrent/qbittorrent-nox", "default_ports": [ 8090 ], "file_fallbacks": [ { "path": "/root/.qbittorrent", "regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "source": "helper_marker" } ], "github_source": "releases", "installed_via": "binary", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/qbittorrent.webp", "repo": "userdocs/qbittorrent-nox-static", "tag_regex": "(?i)(?:release-)?(\\d+\\.\\d+\\.\\d+)", "website": "https://www.qbittorrent.org/" }, "qdrant": { "default_ports": [ 6333 ], "file_path": "/root/.qdrant", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/qdrant.webp", "repo": "qdrant/qdrant", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://qdrant.tech/" }, "rabbitmq": { "default_ports": [ 15672 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rabbitmq.webp", "package": "rabbitmq-server", "repo": "rabbitmq/rabbitmq-server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.rabbitmq.com/" }, "rackula": { "default_ports": [ 80 ], "file_path": "/root/.rackula", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rackula.webp", "repo": "RackulaLives/Rackula", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.racku.la/" }, "radarr": { "default_ports": [ 7878 ], "file_path": "/root/.radarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/radarr.webp", "repo": "Radarr/Radarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://radarr.video/" }, "radicale": { "default_ports": [ 5232 ], "file_path": "/root/.radicale", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/radicale.webp", "repo": "Kozea/Radicale", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://radicale.org/" }, "rclone": { "default_ports": [ 3000 ], "file_path": "/root/.rclone", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rclone.webp", "repo": "rclone/rclone", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://rclone.org/" }, "rdtclient": { "default_ports": [ 6500 ], "file_path": "/root/.rdt-client", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/real-debrid.webp", "repo": "rogerfar/rdt-client", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/rogerfar/rdt-client" }, "reactive-resume": { "default_ports": [ 3000 ], "file_path": "/root/.reactive-resume", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reactive-resume.webp", "repo": "amruthpillai/reactive-resume", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://rxresu.me/" }, "readmeabook": { "default_ports": [ 3030 ], "file_path": "/root/.readmeabook", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/readmeabook.webp", "repo": "kikootwo/ReadMeABook", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/kikootwo/ReadMeABook" }, "recyclarr": { "file_path": "/root/.recyclarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/recyclarr.webp", "repo": "recyclarr/recyclarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://recyclarr.dev/" }, "redis": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/redis.webp", "package": "redis", "repo": "redis/redis", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://redis.io/" }, "reitti": { "default_ports": [ 8080 ], "file_path": "/root/.reitti", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reitti.webp", "repo": "dedicatedcode/reitti", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.dedicatedcode.com/projects/reitti/" }, "revealjs": { "default_ports": [ 8000 ], "file_path": "/root/.revealjs", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reveal-js.webp", "repo": "hakimel/reveal.js", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/hakimel/reveal.js" }, "romm": { "default_ports": [ 80 ], "file_path": "/root/.romm", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/romm.webp", "repo": "rommapp/romm", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://romm.app/" }, "rss-bridge": { "default_ports": [ 80 ], "file_path": "/root/.rss-bridge", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rss-bridge.webp", "repo": "RSS-Bridge/rss-bridge", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://rss-bridge.org/" }, "rustdeskserver": { "default_ports": [ 21114 ], "file_path": "/root/.rustdesk-hbbs", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rustdesk.webp", "repo": "lejianwen/rustdesk-server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://rustdesk.com/" }, "rustypaste": { "default_ports": [ 8000 ], "file_path": "/root/.rustypaste", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://github.com/orhun/rustypaste/raw/master/img/rustypaste_logo.png", "repo": "orhun/rustypaste", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/orhun/rustypaste" }, "sabnzbd": { "default_ports": [ 7777 ], "file_path": "/root/.sabnzbd-org", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sabnzbd.webp", "repo": "sabnzbd/sabnzbd", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sabnzbd.org/" }, "salt": { "file_path": "/root/.salt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/salt.webp", "repo": "saltstack/salt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://saltproject.io/" }, "scanopy": { "default_ports": [ 60072 ], "file_path": "/root/.scanopy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/scanopy.webp", "repo": "scanopy/scanopy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://scanopy.net" }, "seanime": { "default_ports": [ 43211 ], "file_path": "/root/.seanime", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seanime.webp", "repo": "5rahim/seanime", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://seanime.app/" }, "searxng": { "default_ports": [ 8888 ], "distribution": "searxng", "installed_regex": "(\\d+\\.\\d+\\.\\d+\\+[0-9a-f]+)", "installed_via": "python_dist", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/searxng.webp", "python_path": "/usr/local/searxng/searx-pyenv/bin/python", "website": "https://github.com/searxng/searxng" }, "seaweedfs": { "default_ports": [ 9333 ], "file_path": "/root/.seaweedfs", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seaweedfs.webp", "repo": "seaweedfs/seaweedfs", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://seaweedfs.com/" }, "securo": { "default_ports": [ 443 ], "file_path": "/root/.securo", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/securo.webp", "repo": "securo-finance/securo", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.usesecuro.com" }, "seelf": { "default_ports": [ 8080 ], "file_path": "/root/.seelf", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seelf.webp", "repo": "YuukanOO/seelf", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://yuukanoo.github.io/seelf/" }, "seerr": { "default_ports": [ 5055 ], "file_path": "/root/.seerr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seerr.webp", "repo": "seerr-team/seerr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://seerr.dev/" }, "semaphore": { "default_ports": [ 3000 ], "file_path": "/root/.semaphore", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/semaphore-ui.webp", "repo": "semaphoreui/semaphore", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://semaphoreui.com/" }, "sftpgo": { "default_ports": [ 8080 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sftpgo.webp", "package": "sftpgo", "repo": "drakkan/sftpgo", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/drakkan/sftpgo" }, "shelfmark": { "default_ports": [ 8084 ], "file_path": "/root/.shelfmark", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shelfmark.webp", "repo": "calibrain/shelfmark", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/calibrain/shelfmark" }, "shiori": { "default_ports": [ 8080 ], "file_path": "/root/.shiori", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shiori.webp", "repo": "go-shiori/shiori", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/go-shiori/shiori" }, "shlink": { "default_ports": [ 3000 ], "file_path": "/root/.shlink", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shlink.webp", "repo": "shlinkio/shlink", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://shlink.io/" }, "signoz": { "default_ports": [ 8080 ], "file_path": "/root/.signoz", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/signoz.webp", "repo": "SigNoz/signoz", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://signoz.io/" }, "silverbullet": { "default_ports": [ 3000 ], "file_path": "/root/.silverbullet", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/silverbullet.webp", "repo": "silverbulletmd/silverbullet", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://silverbullet.md" }, "slskd": { "default_ports": [ 5030 ], "file_path": "/root/.slskd", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/slskd.webp", "repo": "slskd/slskd", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/slskd/slskd" }, "smokeping": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/smokeping.webp", "package": "smokeping", "repo": "oetiker/SmokePing", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://oss.oetiker.ch/smokeping/" }, "snapotter": { "default_ports": [ 1349 ], "file_path": "/root/.snapotter", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/snapotter.webp", "repo": "snapotter-hq/SnapOtter", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://snapotter.com/" }, "snipeit": { "default_ports": [ 80 ], "file_path": "/root/.snipe-it", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/snipe-it.webp", "repo": "grokability/snipe-it", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://snipeitapp.com/" }, "snowshare": { "default_ports": [ 3000 ], "file_path": "/root/.snowshare", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/snowshare.png", "repo": "TuroYT/snowshare", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/TuroYT/snowshare" }, "solidinvoice": { "default_ports": [ 8765 ], "file_path": "/root/.solidinvoice", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/solidinvoice.webp", "repo": "SolidInvoice/SolidInvoice", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://solidinvoice.co" }, "solidtime": { "default_ports": [ 80 ], "file_path": "/root/.solidtime", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/solidtime.webp", "repo": "solidtime-io/solidtime", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.solidtime.io/" }, "sonarqube": { "default_ports": [ 9000 ], "file_path": "/root/.sonarqube", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sonarqube.webp", "repo": "SonarSource/sonarqube", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.sonarsource.com/products/sonarqube/" }, "sonarr": { "default_ports": [ 8989 ], "file_path": "/root/.sonarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sonarr.webp", "repo": "Sonarr/Sonarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sonarr.tv/" }, "sonobarr": { "default_ports": [ 5000 ], "file_path": "/root/.sonobarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sonobarr.webp", "repo": "Dodelidoo-Labs/sonobarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Dodelidoo-Labs/sonobarr" }, "soulsync": { "default_ports": [ 8008 ], "file_path": "/root/.soulsync", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/soulsync.webp", "repo": "Nezreka/SoulSync", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Nezreka/SoulSync" }, "speedtest-tracker": { "default_ports": [ 80 ], "file_path": "/root/.speedtest-tracker", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/speedtest-tracker.webp", "repo": "alexjustesen/speedtest-tracker", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/alexjustesen/speedtest-tracker" }, "spliit": { "default_ports": [ 3000 ], "file_path": "/root/.spliit", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/spliit.webp", "repo": "spliit-app/spliit", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://spliit.app/" }, "split-pro": { "default_ports": [ 3000 ], "file_path": "/root/.split-pro", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/splitpro.webp", "repo": "oss-apps/split-pro", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/oss-apps/split-pro" }, "spoolman": { "default_ports": [ 7912 ], "file_path": "/root/.spoolman", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/spoolman.webp", "repo": "Donkie/Spoolman", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Donkie/Spoolman" }, "sportarr": { "default_ports": [ 1867 ], "file_path": "/root/.sportarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sportarr.webp", "repo": "Sportarr/Sportarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sportarr.net/" }, "squid": { "default_ports": [ 3128 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/squid.webp", "package": "squid", "repo": "squid-cache/squid", "tag_regex": "(?i)(?:SQUID_)?(\\d+(?:[._]\\d+){1,3})", "website": "https://www.squid-cache.org/" }, "stalwart": { "default_ports": [ 8080 ], "file_path": "/root/.stalwart", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp", "repo": "stalwartlabs/stalwart", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://stalw.art/" }, "step-ca": { "default_ports": [ 443 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/step-ca.webp", "package": "step-ca", "repo": "smallstep/certificates", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/smallstep/certificates" }, "stirling-pdf": { "default_ports": [ 8080 ], "file_path": "/root/.stirling-pdf", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stirling-pdf.webp", "repo": "Stirling-Tools/Stirling-PDF", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docs.stirlingpdf.com/" }, "streamlink-webui": { "default_ports": [ 8000 ], "file_path": "/root/.streamlink-webui", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/streamlink.webp", "repo": "CrazyWolf13/streamlink-webui", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/CrazyWolf13/streamlink-webui" }, "stylus": { "default_ports": [ 8000 ], "file_path": "/root/.stylus", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stylus.webp", "repo": "mmastrac/stylus", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/mmastrac/stylus" }, "suggestarr": { "default_ports": [ 5000 ], "file_path": "/root/.suggestarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/suggestarr.webp", "repo": "giuseppe99barchetta/SuggestArr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/giuseppe99barchetta/SuggestArr" }, "super-productivity": { "default_ports": [ 80 ], "file_path": "/root/.super-productivity", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/super-productivity.webp", "repo": "super-productivity/super-productivity", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://super-productivity.com/" }, "sure": { "default_ports": [ 3000 ], "file_path": "/root/.sure", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sure-finance.webp", "repo": "we-promise/sure", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sure.am" }, "sync-in": { "default_ports": [ 8080 ], "file_path": "/root/.sync-in", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sync-in.webp", "repo": "Sync-in/server", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://sync-in.com" }, "syncthing": { "default_ports": [ 8384 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/syncthing.webp", "package": "syncthing", "repo": "syncthing/syncthing", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://syncthing.net/" }, "tandoor": { "default_ports": [ 8002 ], "file_fallbacks": [ { "path": "/root/.tandoor", "regex": "v?(\\d+\\.\\d+\\.\\d+)" } ], "file_path": "/opt/tandoor/cookbook/version_info.py", "file_regex": "TANDOOR_VERSION\\s*=\\s*[\"']v?(\\d+\\.\\d+\\.\\d+)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tandoor-recipes.webp", "repo": "TandoorRecipes/recipes", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://tandoor.dev/" }, "tautulli": { "default_ports": [ 8181 ], "file_path": "/root/.tautulli", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tautulli.webp", "repo": "Tautulli/Tautulli", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tautulli.com/" }, "teable": { "default_ports": [ 3000 ], "file_path": "/root/.teable", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teable.webp", "repo": "teableio/teable", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://teable.io/" }, "teddycloud": { "default_ports": [ 80 ], "file_path": "/root/.teddycloud", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teddycloud.webp", "repo": "toniebox-reverse-engineering/teddycloud", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tonies-wiki.revvox.de/docs/tools/teddycloud/" }, "telegraf": { "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/telegraf.webp", "package": "telegraf", "repo": "influxdata/telegraf", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/influxdata/telegraf" }, "teleport": { "default_ports": [ 3080 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teleport.webp", "package": "teleport", "repo": "gravitational/teleport", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://goteleport.com/" }, "termix": { "default_ports": [ 80 ], "file_path": "/root/.termix", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/termix.webp", "repo": "Termix-SSH/Termix", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://termix.site/" }, "teslamate": { "default_ports": [ 4000 ], "file_path": "/root/.teslamate", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teslamate.webp", "repo": "teslamate-org/teslamate", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/teslamate-org/teslamate" }, "the-lounge": { "default_ports": [ 9000 ], "file_path": "/root/.thelounge", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/the-lounge.webp", "repo": "thelounge/thelounge-deb", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://thelounge.chat/" }, "thingsboard": { "default_ports": [ 8080 ], "file_path": "/root/.thingsboard", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/thingsboard.webp", "repo": "thingsboard/thingsboard", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://thingsboard.io/" }, "threadfin": { "default_ports": [ 34400 ], "file_path": "/root/.threadfin-app", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/threadfin.webp", "repo": "threadfin/threadfin", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Threadfin/Threadfin" }, "tianji": { "default_ports": [ 12345 ], "file_path": "/root/.tianji", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tianji.webp", "repo": "msgbyte/tianji", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tianji.msgbyte.com/" }, "tinyauth": { "default_ports": [ 3000 ], "file_path": "/root/.tinyauth", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tinyauth.webp", "repo": "tinyauthapp/tinyauth", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tinyauth.app" }, "tolgee": { "default_ports": [ 8080 ], "file_path": "/root/.tolgee", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tolgee.webp", "repo": "tolgee/tolgee-platform", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tolgee.io/" }, "traccar": { "default_ports": [ 8082 ], "file_path": "/root/.traccar", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/traccar.webp", "repo": "traccar/traccar", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.traccar.org/" }, "tracearr": { "default_ports": [ 3000 ], "file_path": "/root/.tracearr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tracearr.webp", "repo": "connorgallopo/Tracearr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/connorgallopo/Tracearr" }, "tracktor": { "default_ports": [ 3000 ], "file_path": "/root/.tracktor", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tracktor.webp", "repo": "javedh-dev/tracktor", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/javedh-dev/tracktor" }, "traefik": { "default_ports": [ 8080 ], "file_path": "/root/.traefik", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/traefik.webp", "repo": "traefik/traefik", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://traefik.io/" }, "transmute": { "default_ports": [ 3313 ], "file_path": "/root/.transmute", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/transmute.webp", "repo": "transmute-app/transmute", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://transmute.sh" }, "trek": { "default_ports": [ 3000 ], "file_path": "/root/.trek", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/trek.webp", "repo": "liketrek/TREK", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/liketrek/TREK" }, "trilium": { "default_ports": [ 8080 ], "file_path": "/root/.trilium", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/trilium-notes.webp", "repo": "TriliumNext/Trilium", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/TriliumNext/trilium" }, "trip": { "default_ports": [ 8000 ], "file_path": "/root/.trip", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/trip.webp", "repo": "itskovacs/TRIP", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/itskovacs/TRIP" }, "tubearchivist": { "default_ports": [ 8000 ], "file_path": "/root/.tubearchivist", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tube-archivist.webp", "repo": "tubearchivist/tubearchivist", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/tubearchivist/tubearchivist" }, "tududi": { "default_ports": [ 3002 ], "file_path": "/root/.tududi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tududi.webp", "repo": "chrisvel/tududi", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tududi.com/" }, "tunarr": { "default_ports": [ 8000 ], "file_path": "/root/.tunarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tunarr.webp", "repo": "chrisbenincasa/tunarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tunarr.com/" }, "twenty": { "default_ports": [ 3000 ], "file_path": "/root/.twenty", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/twenty-crm.webp", "repo": "twentyhq/twenty", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://twenty.com/" }, "uhf": { "default_ports": [ 7568 ], "file_path": "/root/.uhf-server", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/uhf.webp", "repo": "swapplications/uhf-server-dist", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.uhfapp.com/" }, "umami": { "default_ports": [ 3000 ], "file_path": "/root/.umami", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/umami.webp", "repo": "umami-software/umami", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://umami.is/" }, "umlautadaptarr": { "default_ports": [ 5005 ], "file_path": "/root/.umlautadaptarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/images/logo.png", "repo": "PCJones/Umlautadaptarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/PCJones/UmlautAdaptarr" }, "unbound": { "default_ports": [ 5335 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/unbound.webp", "package": "unbound", "repo": "NLnetLabs/unbound", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.nlnetlabs.nl/projects/unbound/about/" }, "unpackerr": { "file_path": "/root/.unpackerr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/unpackerr.webp", "repo": "Unpackerr/unpackerr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://unpackerr.zip/" }, "upgopher": { "default_ports": [ 9090 ], "file_path": "/root/.upgopher", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/upgopher.webp", "repo": "wanetty/upgopher", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/wanetty/upgopher" }, "upsnap": { "default_ports": [ 8090 ], "file_path": "/root/.upsnap", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/upsnap.webp", "repo": "seriousm4x/UpSnap", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/seriousm4x/UpSnap" }, "uptimekuma": { "default_ports": [ 3001 ], "file_path": "/root/.uptime-kuma", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/uptime-kuma.webp", "repo": "louislam/uptime-kuma", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/louislam/uptime-kuma#uptime-kuma" }, "urbackupserver": { "default_ports": [ 55414 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/urbackup.webp", "package": "urbackup-server", "repo": "uroni/urbackup_backend", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.urbackup.org/" }, "valkey": { "default_ports": [ 6379 ], "github_source": "releases", "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/valkey.webp", "package": "valkey", "repo": "valkey-io/valkey", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://valkey.io/" }, "vaultwarden": { "alt_detectors": [ { "file_path": "/root/.vaultwarden", "file_regex": "v?(\\d+\\.\\d+\\.\\d+)", "installed_via": "file" } ], "binary_path": "/opt/vaultwarden/bin/vaultwarden", "default_ports": [ 8000 ], "file_fallbacks": [ { "path": "/root/.vaultwarden", "regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "source": "helper_marker" } ], "github_source": "releases", "installed_via": "binary", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vaultwarden.webp", "repo": "dani-garcia/vaultwarden", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://github.com/dani-garcia/vaultwarden/" }, "versitygw": { "default_ports": [ 7070 ], "file_path": "/root/.versitygw", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/versity.webp", "repo": "versity/versitygw", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.versity.com/" }, "victoriametrics": { "default_ports": [ 8428 ], "file_path": "/root/.victoriametrics", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/victoriametrics.webp", "repo": "VictoriaMetrics/VictoriaMetrics", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://victoriametrics.com/" }, "vikunja": { "default_ports": [ 3456 ], "file_path": "/root/.vikunja", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vikunja.webp", "repo": "go-vikunja/vikunja", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://vikunja.io/" }, "wallabag": { "default_ports": [ 8000 ], "file_path": "/root/.wallabag", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wallabag.webp", "repo": "wallabag/wallabag", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://wallabag.org/" }, "wallos": { "default_ports": [ 80 ], "file_path": "/root/.wallos", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wallos.webp", "repo": "ellite/Wallos", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://wallosapp.com/" }, "wanderer": { "default_ports": [ 3000 ], "file_path": "/root/.wanderer", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wanderer.webp", "repo": "open-wanderer/wanderer", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://wanderer.to" }, "warracker": { "default_ports": [ 80 ], "file_path": "/root/.warracker", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/warracker.webp", "repo": "sassanix/Warracker", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://warracker.com/" }, "watcharr": { "default_ports": [ 3080 ], "file_path": "/root/.watcharr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/watcharr.webp", "repo": "sbondCo/Watcharr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://watcharr.app/" }, "watchyourlan": { "default_ports": [ 8840 ], "file_path": "/root/.watchyourlan", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/watchyourlan.webp", "repo": "aceberg/WatchYourLAN", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/aceberg/WatchYourLAN" }, "wavelog": { "default_ports": [ 80 ], "file_path": "/root/.wavelog", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wavelog.webp", "repo": "wavelog/wavelog", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.wavelog.org/" }, "wealthfolio": { "default_ports": [ 8080 ], "file_path": "/root/.wealthfolio", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wealthfolio.webp", "repo": "wealthfolio/wealthfolio", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://wealthfolio.app/" }, "web-check": { "default_ports": [ 3000 ], "file_path": "/root/.web-check", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/web-check.webp", "repo": "Lissy93/web-check", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/lissy93/web-check" }, "webtrees": { "default_ports": [ 80 ], "file_path": "/root/.webtrees", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/webtrees.webp", "repo": "fisharebest/webtrees", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://webtrees.net/" }, "whisparr-eros": { "default_ports": [ 6969 ], "file_path": "/root/.whisparr-eros", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/whisparr.webp", "repo": "Whisparr/Whisparr-Eros", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/Whisparr/Whisparr-Eros" }, "whodb": { "default_ports": [ 8080 ], "file_path": "/root/.whodb", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/whodb.webp", "repo": "clidey/whodb", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://whodb.com/" }, "wikijs": { "default_ports": [ 3000 ], "file_path": "/root/.wikijs", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wiki-js.webp", "repo": "requarks/wiki", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://js.wiki/" }, "wireguard": { "installed_via": "dpkg", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wireguard.webp", "package": "wireguard-tools", "repo": "WireGuard/wireguard-tools", "tag_regex": "v?(\\d+\\.\\d+\\.\\d+)", "website": "https://www.wireguard.com/" }, "wishlist": { "default_ports": [ 3280 ], "file_path": "/root/.wishlist", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cmintey-wishlist.webp", "repo": "cmintey/wishlist", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/cmintey/wishlist" }, "wizarr": { "default_ports": [ 5690 ], "file_path": "/root/.wizarr", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wizarr.webp", "repo": "wizarrrr/wizarr", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://docs.wizarr.dev/" }, "writefreely": { "default_ports": [ 80 ], "file_path": "/root/.writefreely", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/writefreely-light.webp", "repo": "writefreely/writefreely", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://writefreely.org/" }, "xyops": { "default_ports": [ 5522 ], "file_path": "/root/.xyops", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/xyops.webp", "repo": "pixlcore/xyops", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/pixlcore/xyops" }, "yamtrack": { "default_ports": [ 8000 ], "file_path": "/root/.yamtrack", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yamtrack.webp", "repo": "FuzzyGrim/Yamtrack", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/FuzzyGrim/Yamtrack" }, "yopass": { "default_ports": [ 1337 ], "file_path": "/root/.yopass", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yopass.webp", "repo": "jhaals/yopass", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://yopass.se/" }, "yourls": { "default_ports": [ 80 ], "file_path": "/root/.yourls", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yourls.webp", "repo": "YOURLS/YOURLS", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://yourls.org/" }, "yt-dlp-webui": { "default_ports": [ 3033 ], "file_path": "/root/.yt-dlp-webui", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/youtube-dl.webp", "repo": "marcopiovanello/yt-dlp-web-ui", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/marcopiovanello/yt-dlp-web-ui" }, "yubal": { "default_ports": [ 8000 ], "file_path": "/root/.yubal", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yubal.webp", "repo": "guillevc/yubal", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/guillevc/yubal" }, "yuvomi": { "default_ports": [ 3000 ], "file_path": "/root/.yuvomi", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yuvomi.webp", "repo": "ulsklyc/yuvomi", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://yuvomi.cloud/" }, "zerobyte": { "default_ports": [ 4096 ], "file_path": "/root/.zerobyte", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zerobyte.webp", "repo": "nicotsx/zerobyte", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/nicotsx/zerobyte" }, "zigbee2mqtt": { "default_ports": [ 9442 ], "file_path": "/root/.zigbee2mqtt", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zigbee2mqtt.webp", "repo": "Koenkk/zigbee2mqtt", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.zigbee2mqtt.io/" }, "zipline": { "default_ports": [ 3000 ], "file_path": "/root/.zipline", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zipline.webp", "repo": "diced/zipline", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://zipline.diced.sh/" }, "zitadel": { "default_ports": [ 8080 ], "file_path": "/root/.zitadel", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zitadel.webp", "repo": "zitadel/zitadel", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://zitadel.com" }, "zoraxy": { "default_ports": [ 8000 ], "file_path": "/root/.zoraxy", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zoraxy.webp", "repo": "tobychui/zoraxy", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://zoraxy.aroz.org/" }, "zot-registry": { "default_ports": [ 8080 ], "file_path": "/root/.zot", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zot-registry.webp", "repo": "project-zot/zot", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://zotregistry.dev/" }, "zwave-js-ui": { "default_ports": [ 8091 ], "file_path": "/root/.zwave-js-ui", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/z-wave-js-ui.webp", "repo": "zwave-js/zwave-js-ui", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/zwave-js/zwave-js-ui#" } }