Add optional Shlink Web Client installation and update workflow, switch init to use shlink-installer, and expose the web UI on port 3000. Changes include: use vendor/bin/shlink-installer init (sourcing /opt/shlink/.env) instead of direct db:migrate/create; create data directories (cache, locks, logs, proxies, temp-geolite); add interactive prompt to install the web client, fetch and deploy shlink-web-client GitHub releases, generate /opt/shlink-web-client/servers.json with the initial API key, and configure an nginx site serving the client on port 3000. The ct update script now also checks for and updates the web client release. Update metadata (json/shlink.json) to set interface_port to 3000 and add an info note about API (8080) vs Web Client (3000). Also print the 3000 URL on completion.
48 lines
1.5 KiB
JSON
48 lines
1.5 KiB
JSON
{
|
|
"name": "Shlink",
|
|
"slug": "shlink",
|
|
"categories": [
|
|
0
|
|
],
|
|
"date_created": "2026-04-20",
|
|
"type": "ct",
|
|
"updateable": true,
|
|
"privileged": false,
|
|
"interface_port": 3000,
|
|
"documentation": "https://shlink.io/documentation/",
|
|
"website": "https://shlink.io/",
|
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shlink.webp",
|
|
"description": "Shlink is a self-hosted URL shortener built in PHP that provides detailed analytics, a REST API, tags, expiration dates, and integrations via webhooks.",
|
|
"install_methods": [
|
|
{
|
|
"type": "default",
|
|
"script": "ct/shlink.sh",
|
|
"config_path": "/opt/shlink/.env",
|
|
"resources": {
|
|
"cpu": 2,
|
|
"ram": 2048,
|
|
"hdd": 4,
|
|
"os": "Debian",
|
|
"version": "13"
|
|
}
|
|
}
|
|
],
|
|
"default_credentials": {
|
|
"username": null,
|
|
"password": null
|
|
},
|
|
"notes": [
|
|
{
|
|
"text": "The initial API key is stored in /opt/shlink/.env. You need it to connect Shlink Web Client or any API consumer.",
|
|
"type": "warning"
|
|
},
|
|
{
|
|
"text": "Configure your short domain by editing DEFAULT_DOMAIN in /opt/shlink/.env and restarting the service.",
|
|
"type": "info"
|
|
},
|
|
{
|
|
"text": "Shlink API runs on port 8080, the Web Client (if installed) on port 3000.",
|
|
"type": "info"
|
|
}
|
|
]
|
|
} |