Files
portainer-templates/templates.json
T

34673 lines
1.3 MiB
Plaintext

{
"version": "3",
"templates": [
{
"id": 1,
"type": 3,
"title": "2FAuth",
"name": "2fauth",
"description": "Web app for your two-factor authentication codes, a self-hosted stand-in for Google Authenticator: add accounts by scanning or uploading their QR codes, then copy codes from any browser. Source: https://github.com/Bubka/2FAuth",
"categories": [
"Security"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Bubka/2FAuth/master/public/favicon_lg.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "TWOFAUTH_APP_KEY",
"label": "App key (required)",
"description": "Exactly 32 characters. Generate one with: openssl rand -hex 16. Keep it the same when you redeploy."
},
{
"name": "TWOFAUTH_PORT",
"label": "Host port for the web UI",
"default": "8200"
}
],
"note": "Set the <b>app key</b> before you deploy (exactly 32 characters, <code>openssl rand -hex 16</code> makes one), since the stack won't start without it. Keep it the same from then on, as it signs logins and encrypts your codes if you turn on encryption. Then open <code>http://&lt;your-host&gt;:8200</code> (or whichever port you picked) and register: the first account becomes the admin. Anyone who can reach it can register after that, so once you're in, tick Disable registration under Admin panel --&gt; Authentication (the menu under your email). Scanning a QR code with the camera and passkeys both need HTTPS, so behind plain http you'll be uploading QR screenshots and signing in with a password. Everything lives in the <code>2fauth-data</code> volume, and since that's every 2FA secret you've got, back it up. Docs: <a href=\"https://docs.2fauth.app\" target=\"_blank\">docs.2fauth.app</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/2fauth/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Automation",
"AI"
],
"description": "Automate your marketing, sales and operations",
"logo": "https://cdn.activepieces.com/brand/full-logo-white.svg",
"name": "activepieces",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/activepieces.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Activepieces",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 2
},
{
"categories": [
"Finance"
],
"description": "Actual is a super fast privacy-focused app for managing your finances. ",
"logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPcAAABOCAYAAAD8SYDuAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABARSURBVHgB7Z1NbBvHFcffLEVJkftBJ00TtAdtkKJ1bKeW0QDOJTF9SnKK3aCApaIwfUiTm+RTLwG8AtICOck6Fj2YRlE5bZBaPiU5lXYvMdBCdONITi+mW7QI6jhRG0S2JXGn781yV+RqZz/4Ie2S7wdQJrncXXK9/3lv3rx5I6ADrONLBRjLHwdpHAIhiwCiACBNSCWiBhJq+KQKwr4O9kbFevtwDRimTxGQEBK03JMvCdt42RF0hpGigkK/YC0cLAPD9BmJxD07tXJWivoMiqIA/UUNlT7LImf6iVjitk5+VATDOI9PTehvarAhT1jvHKwCw2QcI+oDZK1R2H+C/hc2YUJeLKnfzDAZR2u5nWDZ6ByAXYLBpGwtHDgNDJNR9OKe+ngJ/5mAwaYKa+vHrMXDq8AwGSPQLbemVqh/PejCJiZgbHgOGCaDbBO3098cWFc8iBL3wZks0uKWW1M30FqLJWC2Y9vHrLefrgDDZASf5RaXgAnGGQpkmMzgiRutdgkGY7irXUxr6iMLGCYjNFluwf3KSIxpNUTIMBlAiZutdmwK8qF8CRgmAziWWxingImFAONlYJgMIKyTSyYYw7eAic/a+l5ObGHSjgFGvghMMmgOO8OkHHTLJWeiJUVy9h6TfgwQuUOQUh4bH4HCt/KQOoRxFBgm5Rgg01kW6dDzBXj9V0/C0VcehfQheTiMST0ULTchhUw8X/D+TaH1NoFhUk5ksYbdwHxqDz7GvNfptN4Mk26GIIX4xUzW+8q7d2D1sw1gtpidXDkljfq5sJp2OC5vnV14ahaYzKOGrcXI+W2FSYU4Z/1u/xn/51NnuckFb7baLkdeehiYVqSwrahilRJsS9XAY7KPMTQTWHFYypmg/+PUWW6dC66s9x8/g/tf1YHBVnzybzTWbsb6sAFF/FuBDNBIqmqZ5yAAanJtfX7gE4eoIdfVTjKE6X8rVeImq+0G0ohPb9+Hx8dH1fPRsRwceeFhFPgdYBCRS5AGq9KLLcgCxvC2YpyS/jyU34t/Z4CJTarccr/V/v3cP6G2sua9fhZd89E9ORh0rJKamVZKsIuZBdfcOrligs4bEYJz+hOSGnH7rXb16iqs3tlQgTQX13oPPOttpL8KwSmzA0ZqxO232tevOt2r2spXbL230YYVE4Jn/g0YqRC3EyHf470mMTcLmq33FirgBKC3wlLUNFsKqXfN6/c586+LpCKgNnG0AIVHt7LQrrz7n5btrvV2h8jIel/74PPBjJyHzeKz4TIY9Sp+KLiqjuOaV6BDvMUgpTiEBy2CsAtOJFeuqsaFHsK+HGclVV90vBjyUdOaXL6kzuFir8/6j0/fTYyNTuMQoOm9KQV+rwfzcVZ17XR/7zjYkApj6KiUcgIj3BOdXKN2SYW4Dz231WBTokqz1XYh622+Ma6eD3TknAprSKnZKBfBHqqAYevETa552xHnJiGisL1z0s3feKrG3PFGppmG2JAYw7S4RTlIhB40dhs3OCjkcd++t8E/CjA2fB6Fedy3H/4ZoZl8xyCKseE56S/tTfuLYTrmE1G7K+9I5M7SeDQeZ6u+cCfXqE123S2nCSJhVtuF+94NccmwZZNzaAWeqoFatTSQtl1zyoaDXJ7KXpcgGSUa3kKrG9yV6P6KscHTceMvN637nPnm1PJ42I7WT5fn1Lp6yZe2pmt0S13jLrLr4i7+eCuQRla7evW/2s8OfN87zCWX0hU2Yl/QHyN5Sa3ZqeVpKexyB0I08Ya/1O2bN00oYUvZ0Tg8XWNtI9gGuyruuFbbhaz3p7cfeK8HznqH1bqTsCVoO7RffTxJBVey9BLkOegCePOeawQE+wpVYLRDYXsIeb5bFXZ3VdxJrLbLtffves8HyXrHccm9zzoro9Q0HyzA6FD8SjLRizFggEjOY4syq/7VR+udc9PEh2ZkzsI/ZfUI35casEXvs/Swh8qQCkLKgqNHhX9OY5/6CedhH8P3LoQcrABjQ11pKHYtoJbUarvc/Mv/4IWfPaaETQxM5Dy2S+5Crrkuap6bhhhR88iS1yTmexuWL+d7xlm8QXduWSTL5O7T+N5qqWSVoSakrlhnzbp44ASkjIgc/0Xr4kH/d67ho4LXaJXq4AfuJXNdqfSza5b72Rcf8Z7rIuTNjOMwGIl6ev77nrAJen7ouW9C3yNgWrut2SV3CXPNGwKD6JOGLVRRxht3Jmgyh7XwtIVfYF63Y1/Vfh+pVxzPBb0Koaw0DkUqAVfBNs5o9xvetLTbRHeqI+2K5aaElcfHR7zX1StOqqmf0TEDjrz0SGQ1Fmoorr3/OfQrjksuQlzpLZfc2wddc7S8KLzAIFihUcG1DNpzqqi6qduON274HHG6edeHAxskIURq6/YlxSqrxi2xG0374RCYbrMJXWBXxL0t1fTPW40/CfrQ83th3zNfa8laC4Pce3Lz3ZTVfkOK/HGh3Rjkknsb0aILjeungnNl0J5TTLR3Tge6ec9O3jgjBAQJeR4GHFoWWo2D95AdF7e/GIM7QYTcbrLQ+575hhJ4EPfXbDUNlPrnFDWfnv+e56JTcK5Z3HQMmi4a5e5nAbR0yVxyFxtdRUPjzgs50dz3DTjnUf0p4TLEYPbiwa5E2bOK8rjq+QLkYUIKKAjboHFyEwy7KKXd81TbHRd3UDGGX/xmn1bQBAn0EwykVdHC3/9qq7W79t7n3vFc6716Zx2K+B5Z/ftrdXjr1U8gy1g/WSJ33NR+QBgh7spmDf1j3UZ33bNgAQp05zWZcAKMGjDb8NJybeMoCVjlBTRua5Uk56b1SQE7wY6K2z+tk/C/diErfe29u45l19RO+xD72VR+ybXex1/7Tst2ep+8hExb7/xQKXS7kHPW5LLOOpuhuzrrnmmsK1kWzU0o6/3Z/+mARqKPJZz88R0TcBg7Im6yyj9Ad/vZF8PHpEnQ1atfoJX+MlKQTt+8oCx5c/Tcj7l/T8Zd88iFB822o6u+YSmmPayplfMqHz0Fgm6mp+KmfvS+Z76O1nlvpNtNySmUgdbsdrd7zCSNRJqJjFh3Ab1rTu6+ZoJKQL2uQaURGCvF+Chdzxpe0ivoEFUbc/K7lmoaRNfF7Q5f0fBUO/3osGPGXaDg8q//BTdR2JnH6P3SylrX3LZvY787cB/sivc8GNQLeuGlhApboogFjoGvbSz6z2uVlhZxqDBb4n58/KGWtNIgSNgX3qxBFGSl3eCYDrdv3tz3PoINS1+IO3x+c3fQuOZos6so7cDGJbyvvoXqh8oA6yTrs40U2Z0lnzeBkks0NPLeTYhJhGe1GJZRFzHO3RW6Lm7lWmOU2hUaiY9uleZ+cViqKQma+slhlp+OSWmoNPTV7Ha7kXMKomU9kBbDJV9tPOJiarc4ucxW81tCyqrOcqsGAYUQNv+YtqsJJ4GHENdhN0ot59V8cK24hTF6KsnYc2gugG2HjuWrIpfr0FN60uemIapxFKjrdr/2yyc9cQelmsZNXAlz5f2R86OvfBtqMbyD1BLmkktRsy7ujywc0AxaiUug6+MF5DJHZLhBYwKIvviBr/Z46/n0AusYQVVOdAFGYxobnXJQo4S/dYIWcIBEp5LaEYUhI3crdOf13q/x3hNxV6hCSqNKStgEkW4Gx8hbaB737gPrXdRvsmMlkbTugpbEMIJvKLTEVIjgjYX9t1s3UM600E8AobJH8sGZZrGonPU9I2dRYCXQsj1dNgbm2cnlmdmL+8O7A7KOXoFR1GzFcefhJTzOrNi0K5DbwMZryFTlkBIKW51KilWdc7MJdZoMYwVtc5YFgjldvLI9VNJRufmdng+F+ad1Ul+YBBgVHCNRqky0f9yPDLi59Iv1jnTJN/Vpo1pGN6toLbSWOPBmHN48Bw9GTmmH2qjskZEnkVe82mb0ngxd4risS12l98O8BUFj+lMfn3K24/nW1o9tC5CFZeU5FOg4kCdVOgk+PlecjhcrYBjadQHjLDYiq+Leg7I3A86tzybqM20VvhAYbdcuOQIlvDZFUFNwxSx6dos9nRXmt9okOspGI8EHCZusNFVbeevnN1XAjQQeV9jO/o71dnGtd+aIcsnfOZjYrXUmOIiK/rgBrjntI5XoIeT7FBq1zUrqEXbT0nztqAknwoj6bRN4IFP9GzAvXQXqRMjvDEPNJ7fj571TgwlSG/dQjcjY8BfW1PItetBz5SG0W9HGjoxTmODUZ5ujFz0Vtz9qHuR6O273qhLzW6/eVC59EkH7IetNInch6509ZEh/rA2XfOu4+n1VkGx7fTUSi5RSP3UxCXU4EzXhBOr12CuSUkAreIPd3veVduxzE9T44WhAjH2oMfJ5P6oCamjRhu1ENCZNmOQl9Ezcfqvth6zyB7/9FOZn/o7j0v/uWt+YhF29slXRhSaPZKkUkzP5P8z6yUVol+GNxdCbwwju56sJILJ+IrJSip5V2BQnrD/sj/zuzhBZPJHppo5aC+jZ2PI0JMLG4bmDZUiIc20SitQpbXwMEuJ4Una834VeTc/E3VyMwYWs9Ifv31VWmh7KynZgpXVc++Cu5+JT45GpKi1CFLXbyCXvYHxY3Rxhbq/UzwSzLv5wUd2QSW9kCvLYxuE4wvbOtfC0pbyFyMZEP8fdEao8HKNBchoeVWAinM21B4F1wKyLB0txGyRVdgmvY6QHo8H5f4jR0IpcoScBNX8xhnaCY51AU0jJxc8k9tA5MDaDrasQ7Vttl7o4DUa91M7xGzdkyTq5YuGBimBQCiW5m8rTwH/dum0SXXm4Lu5tlNvNCCOLiK5lGUZxyEigR2HAVllhtUiAvI1diXLYMZQFB3jCqSVONcKb5pbbQFH1Ctx7UGn5jlSXzdjcfjCZq4b9Fmoc8LqU1XXJwSlQWXyuB0YLEcAV8rpaGmeqHydo5p6PiL61EjglydDvUt6WaCq5jNcFaKj0wKLACFtXA/LEvh99HV5+/bsqc+xDsqI7IOidxlo4kK5ZAgzjoyeW++Zfv4SbWbWcDNMnUJ+7BkxSasAwKcdoWViNiYekZAKGSTcG3qhXgEnKdWCYlINuuehdEn+/0suJDwzTJQwnsYFJRlsTHxhmRzGcxIY2c3EHkRg1uxkmDagMNWl3kq88YITVCWeYFKHELUY2yjET0gcblf6ZPP+YYXYDJW5nOqAc+CVeIkk4a4hhdpOWFEprcvlWt1YY7DvaKG3EMLtJ66ywqIn5g4ywU7c2NMOE0SLuJHNpBwt7tjHDiGEyQ+DMJmvyRhmHx3peED8TSHnBma/LMNkiuFjDyMYMAGdhUSYaC5vJKoHiVqshLBw43EbVjf6Bfvu99cSlcBgmLUQWHLCmPrKoTCsMFNTHji67wzBpJlY1EVqNAaRxqe+HyVThuvrpXVnHimG6TKJSQdbJGyUQaMX7T+SrVK+arTXTT7RVB0yJXBWBC6nUmQWkrEiAy50U8mOYtNJRkT/r5Iqpqj0KmFCVJaXA171dLL4Dal4VSlr8PGDNZIbpJ/4Po+cuMuwZqbUAAAAASUVORK5CYII=",
"name": "actual",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/actual.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Actual",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 3
},
{
"type": 3,
"title": "Actual Budget",
"name": "actual",
"description": "Actual - local-first envelope budgeting (the YNAB methodology, open source): budgets live on your devices, end-to-end encrypted, and this server syncs them. MIT, tiny, beloved - PikaPods features it on their homepage.",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "actual/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/actual-budget.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 4
},
{
"categories": [
"Other"
],
"description": "AdGuard Home is a network-wide software for blocking ads & tracking. After you set it up, it\u2019ll cover ALL your home devices, and you don\u2019t need any client-side software for that. With the rise of Internet-Of-Things and connected devices, it becomes more and more important to be able to control your whole network.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "CONTEXT_PATH",
"name": "CONTEXT_PATH",
"default": "adguard home",
"preset": true
}
],
"image": "adguard/adguardhome:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/adguard.png",
"name": "adguard",
"platform": "linux",
"ports": [
"53:53/tcp",
"53:53/udp",
"67:67/udp",
"68:68/tcp",
"68:68/udp",
"80:80/tcp",
"443:443/tcp",
"853:853/tcp",
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Adguard",
"type": 1,
"volumes": [
{
"container": "/opt/adguardhome/work",
"bind": "/portainer/Files/AppData/Adguard/Workdir"
},
{
"container": "/opt/adguardhome/conf",
"bind": "/portainer/Files/AppData/Adguard/Conf"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 5
},
{
"categories": [
"Adblocking"
],
"description": "AdGuard Home is a network-wide software for blocking ads & tracking. After you set it up, it\u2019ll cover ALL your home devices, and you don\u2019t need any client-side software for that. With the rise of Internet-Of-Things and connected devices, it becomes more and more important to be able to control your network.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/adguard.png",
"name": "adguardhome",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/adguardhome.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Adguard Home (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 6
},
{
"categories": [
"Other",
"Tools"
],
"description": "AdGuard Home is a network-wide software for blocking ads & tracking.",
"image": "adguard/adguardhome:latest",
"logo": "https://developer.asustor.com/uploadIcons/0020_999_1595573028_AdGuardhome_256.png",
"name": "Adguardhome",
"platform": "linux",
"ports": [
"53:53/tcp",
"53:53/udp",
"67:67/udp",
"80:80/tcp",
"443:443/tcp",
"443:443/udp",
"3001:3000/tcp",
"853:853/tcp",
"784:784/udp",
"853:853/udp",
"8853:8853/udp",
"5443:5443/tcp",
"5443:5443/udp"
],
"restart_policy": "unless-stopped",
"title": "Adguardhome (container)",
"type": 1,
"volumes": [
{
"container": "/opt/adguardhome/conf",
"bind": "/portainer/Files/AppData/Config/AdguardHome/config"
},
{
"container": "/opt/adguardhome/work",
"bind": "/portainer/Files/AppData/Config/AdguardHome/work"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://adguard.com/en/adguard-home/overview.html\" target=\"_blank\">https://adguard.com/en/adguard-home/overview.html</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/AdguardTeam/AdGuardHome/wiki/Docker\" target=\"_blank\">https://github.com/AdguardTeam/AdGuardHome/wiki/Docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 7
},
{
"id": 8,
"type": 1,
"title": "Adguardhome-sync",
"name": "Adguardhome-sync",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/adguardhome-sync/config</p>",
"description": "[Adguardhome-sync](https://github.com/bakito/adguardhome-sync/) is a tool to synchronize AdGuardHome config to replica instances.",
"categories": [
"Network",
"DNS"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/adguardhomesync-icon.png",
"image": "linuxserver/adguardhome-sync:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CONFIGFILE",
"label": "CONFIGFILE",
"default": "/config/adguardhome-sync.yaml",
"description": "Set a custom config file. [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/adguardhome-sync/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 9,
"type": 3,
"title": "AFFiNE",
"name": "affine",
"description": "Workspace that mixes docs, whiteboards and databases, so a page can flip between writing and an endless canvas. Edits sync to this server as you type. Source: https://github.com/toeverything/AFFiNE",
"categories": [
"Documents",
"Productivity",
"Wiki"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/toeverything/AFFiNE/canary/packages/frontend/apps/electron/resources/icons/icon_stable_512x512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "AFFINE_PORT",
"label": "Host port for the web UI",
"default": "3010"
}
],
"note": "Open <code>http://&lt;your-host&gt;:3010</code> (or whichever port you picked). The first start takes a minute while it sets up the database, then it asks you to create the admin account, and whoever gets there first does, so do it straight away. The workspace it opens is only saved in your browser, so make a new one from the workspace menu (it goes on this server by default) and keep your docs there. In the admin panel at <code>/admin</code>, set the External URL under Settings --&gt; Server to the address people actually use, or invite links point at localhost. New accounts can't invite anyone or make share links for their first 24 hours, which you can change under Settings --&gt; Auth. Sign-ups need email (Settings --&gt; Notification), so until then add people yourself under Accounts. Docs live in Postgres, in the <code>postgres-data</code> volume, uploads in <code>affine-storage</code>, and the server's own key in <code>affine-config</code>. Docs: <a href=\"https://docs.affine.pro/self-host-affine/\" target=\"_blank\">docs.affine.pro</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/affine/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Agent Box",
"name": "agent-box",
"description": "Remote AI coding agents on Miget: a persistent box with Claude Code, opencode and Kilo CLI preinstalled, reachable from any browser as a web terminal (ttyd + tmux) behind basic auth.",
"categories": [
"AI Agents"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "agent-box/compose.yaml"
},
"env": [
{
"name": "ANTHROPIC_API_KEY",
"label": "ANTHROPIC_API_KEY"
},
{
"name": "TTYD_PASSWORD",
"label": "TTYD_PASSWORD"
},
{
"name": "TTYD_USERNAME",
"label": "TTYD_USERNAME",
"default": "agent"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 10
},
{
"type": 1,
"title": "AI Marketplace Monitor",
"name": "ai-marketplace-monitor",
"description": "Watch Facebook Marketplace for the items you want, rate each new listing with AI, and get notified of good deals. Source: https://github.com/BoPeng/ai-marketplace-monitor",
"note": "Open the web UI on port 8467 and sign in with the Facebook username and password you entered here. If Facebook asks for a CAPTCHA or a security code, click <b>Open browser</b> in the web UI. The default configuration needs a <a href=\"https://unitysvc.com\" target=\"_blank\">UnitySVC</a> API key. Config, cache and logs live in the named volume mounted at <code>/data</code>. See the <a href=\"https://github.com/BoPeng/ai-marketplace-monitor/blob/main/docs/docker-installation.md\" target=\"_blank\">Docker installation guide</a>.",
"categories": [
"Productivity",
"Tools",
"AI"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/BoPeng/ai-marketplace-monitor/main/docs/icon.png",
"image": "ghcr.io/bopeng/ai-marketplace-monitor:latest",
"restart_policy": "unless-stopped",
"ports": [
"8467:8467/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"env": [
{
"name": "FACEBOOK_USERNAME",
"label": "Facebook username (required)",
"description": "The Facebook account aimm logs in with. Also signs you in to the web UI."
},
{
"name": "FACEBOOK_PASSWORD",
"label": "Facebook password (required)",
"description": "Password of that Facebook account. Also signs you in to the web UI."
},
{
"name": "UNITYSVC_API_KEY",
"label": "UnitySVC API key",
"description": "For the default configuration: the AI that rates listings, and email and phone notifications. Replace the placeholder with your key; with the placeholder, aimm searches but cannot rate listings or send notifications until you set a key here or other AI and notification services in the web UI.",
"default": "svcpass_XXXXX"
},
{
"name": "TZ",
"label": "Time zone",
"description": "For the daily digest, e.g. America/Chicago.",
"default": "UTC"
},
{
"name": "AIMM_WEBUI_AUTH",
"label": "Web UI sign-in",
"description": "Who signs you in to the web UI. auto uses the Facebook login when it is set, otherwise the web UI password below; local always needs the web UI password. Behind a reverse proxy that signs users in, see the Docker installation guide for the variables each mode needs.",
"select": [
{
"text": "aimm, with the Facebook login if set, otherwise the web UI password",
"value": "auto",
"default": true
},
{
"text": "aimm, with the Facebook username and password",
"value": "facebook"
},
{
"text": "aimm, with the web UI username and password below",
"value": "local"
},
{
"text": "Authelia (Remote-User header)",
"value": "authelia"
},
{
"text": "Authentik (signed token)",
"value": "authentik"
},
{
"text": "Cloudflare Access (signed token)",
"value": "cloudflare"
},
{
"text": "Any reverse proxy (no check)",
"value": "proxy"
}
]
},
{
"name": "AIMM_WEBUI_USERNAME",
"label": "Web UI username",
"description": "With local sign-in, or auto without a Facebook login: the username of the web UI.",
"default": "admin"
},
{
"name": "AIMM_WEBUI_PASSWORD",
"label": "Web UI password",
"description": "With local sign-in (required), or auto without a Facebook login: the password of the web UI, unrelated to the Facebook password."
}
],
"maintainer": "https://github.com/BoPeng/ai-marketplace-monitor/",
"id": 11
},
{
"categories": [
"Music"
],
"description": "Airsonic is a free, web-based media streamer, providing ubiqutious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "CONTEXT_PATH",
"name": "CONTEXT_PATH",
"default": "airsonic",
"preset": true
},
{
"label": "JAVA_OPTS",
"name": "JAVA_OPTS",
"default": "-Xms256m -Xmx512m",
"preset": true
}
],
"image": "linuxserver/airsonic:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/airsonic-logo.png",
"name": "airsonic",
"platform": "linux",
"ports": [
"4040:4040/tcp"
],
"restart_policy": "unless-stopped",
"title": "Airsonic (container)",
"type": 1,
"volumes": [
{
"container": "/music",
"bind": "/portainer/Music"
},
{
"container": "/playlists",
"bind": "/portainer/Files/AppData/Airsonic/Playlists"
},
{
"container": "/podcasts",
"bind": "/portainer/Podcasts"
},
{
"container": "/media",
"bind": "/portainer/Files/AppData/Airsonic/Media"
},
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Airsonic/"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 12
},
{
"categories": [
"Audio",
"Multimedia"
],
"description": "Airsonic is a free, web-based media streamer, providing ubiquitious access to your music. Use it to share your music with friends, or to listen to your own music while at work.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/airsonic-logo.png",
"name": "airsonic",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/airsonic.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Airsonic (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 13
},
{
"id": 14,
"type": 1,
"title": "Airsonic-advanced",
"name": "Airsonic-advanced",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/airsonic-advanced/config<br>mkdir -p /srv/lsio/airsonic-advanced/music<br>mkdir -p /srv/lsio/airsonic-advanced/playlists<br>mkdir -p /srv/lsio/airsonic-advanced/podcasts<br>mkdir -p /srv/lsio/airsonic-advanced/media</p>",
"description": "[Airsonic-advanced](https://github.com/kagemomiji/airsonic-advanced) is a free, web-based media streamer, providing ubiquitious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.",
"categories": [
"Media Servers",
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-banner.png",
"image": "linuxserver/airsonic-advanced:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CONTEXT_PATH",
"label": "CONTEXT_PATH",
"default": "",
"description": "For setting url-base in reverse proxy setups. [OPTIONAL]"
},
{
"name": "JAVA_OPTS",
"label": "JAVA_OPTS",
"default": "",
"description": "For passing additional java options. [OPTIONAL]"
}
],
"ports": [
"4040:4040/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/airsonic-advanced/config"
},
{
"container": "/music",
"bind": "/srv/lsio/airsonic-advanced/music"
},
{
"container": "/playlists",
"bind": "/srv/lsio/airsonic-advanced/playlists"
},
{
"container": "/podcasts",
"bind": "/srv/lsio/airsonic-advanced/podcasts"
},
{
"container": "/media",
"bind": "/srv/lsio/airsonic-advanced/media"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity",
"Documents"
],
"description": "Collaborative LaTeX editor you host yourself, an alternative to Overleaf. Real-time editing, a git repository per project, and a sandboxed TeX Live compiler. Source: https://github.com/trahloff/Aldine",
"logo": "https://raw.githubusercontent.com/trahloff/Aldine/main/brand/icon.svg",
"name": "aldine",
"note": "Open <code>http://&lt;your-host&gt;:8080</code>. The stack has two containers: the app, and a compiler that runs TeX Live on an internal network with no internet access, all Linux capabilities dropped and bounded memory and processes. The compiler image is about 2.4 GB to download, so the first deploy takes a while. There is no login by default, so anyone who can reach the port can open every project; to require accounts, edit the stack and add <code>AUTH_ENABLED: \"1\"</code> under the app service's <code>environment</code>. Docs: <a href=\"https://github.com/trahloff/Aldine/blob/main/deploy/README.md\" target=\"_blank\">deploy/README.md</a>",
"platform": "linux",
"repository": {
"stackfile": "docker-compose.yml",
"url": "https://github.com/trahloff/Aldine"
},
"restart_policy": "unless-stopped",
"title": "Aldine",
"type": 3,
"id": 15
},
{
"categories": [
"Other",
"Tools"
],
"description": "Alpine xfce4 novnc",
"image": "novaspirit/alpine_xfce4_novnc:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/novnc.png",
"name": "alpine-xfce4-novnc",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/novaspirit/Alpine_xfce4_noVNC\" target=\"_blank\">https://github.com/novaspirit/Alpine_xfce4_noVNC</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/novaspirit/Alpine_xfce4_noVNC\" target=\"_blank\">https://github.com/novaspirit/Alpine_xfce4_noVNC</a><br><br><br>Default username/password will be alpine/alpine.",
"platform": "linux",
"ports": [
"6080:6080/tcp",
"56780:56780/tcp"
],
"restart_policy": "unless-stopped",
"title": "Alpine Xfce4 noVNC",
"type": 1,
"volumes": [
{
"container": "/home/alpine/downloads",
"bind": "/portainer/Files/AppData/Config/alpine-xfce4-novnc/home/alpine/downloads"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 16
},
{
"id": 17,
"type": 1,
"title": "Altus",
"name": "Altus",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/altus/config</p>",
"description": "[Altus](https://github.com/amanharwara/altus) is an Electron-based WhatsApp client with themes and multiple account support.",
"categories": [
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/altus-logo.png",
"image": "linuxserver/altus:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/altus/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity"
],
"description": "An offline first, self hostable note taking application",
"logo": "https://raw.githubusercontent.com/zhfahim/anchor/main/web/public/icons/anchor_icon.png",
"name": "anchor",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/anchor.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Anchor",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 18
},
{
"categories": [
"Devops"
],
"description": "Modern UI for Ansible",
"logo": "https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_60,h_60/https://dashboard.snapcraft.io/site_media/appmedia/2020/11/Screenshot_2020-11-21_at_02.05.22.png",
"name": "ansible-semaphore",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ansible-semaphore.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ansible-semaphore",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 19
},
{
"id": 20,
"type": 3,
"title": "AnythingLLM",
"name": "anythingllm",
"description": "Private ChatGPT-style workspace for your own documents: upload files or scrape web pages, then chat with them using whichever model you like, from OpenAI or Anthropic keys to a local Ollama. Embeddings and the vector store run built in. Source: https://github.com/Mintplex-Labs/anything-llm",
"categories": [
"AI",
"Documents",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Mintplex-Labs/anything-llm/master/frontend/src/media/logo/anything-llm-icon.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "ANYTHINGLLM_PORT",
"label": "Host port for the web UI",
"default": "3001"
}
],
"note": "It's a big image (about 3.4 GB) and wants around 2 GB of RAM, so the first start takes a while. Then open <code>http://&lt;your-host&gt;:3001</code> (or whichever port you picked) and the setup asks for your AI provider: an OpenAI or Anthropic key, or the address of an Ollama or LM Studio server. Embeddings and the vector database run inside the container, so that's the only thing it needs from outside. <b>Until you set a password, anyone who can reach it can use it</b>, your API keys included. Pick Just me and set one during setup, or My team for separate accounts, or do it later under Settings --&gt; Security. AnythingLLM sends anonymous usage stats to its makers, starting with a ping on the first boot. Switch that off under Settings --&gt; Privacy &amp; Data. Documents, chats, vectors and its settings (API keys and password included) all live in the <code>anythingllm-storage</code> volume, so they survive updates. Docs: <a href=\"https://docs.anythingllm.com/installation-docker/overview\" target=\"_blank\">docs.anythingllm.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/anythingllm/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 21,
"type": 3,
"title": "Anyviz Cloud Adaptor",
"description": "The cloud adapter connects local devices via OPC-UA, Modbus, Siemens, Beckhoff ADS, EtherNet/IP, M-Bus and BACnet to the AnyViz Cloud.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.cdn.digitaloceanspaces.com/logos/anyviz.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/anyviz/docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 22,
"type": 1,
"title": "Apache Answer",
"name": "apache-answer",
"description": "Question-and-answer site for a community, product forum or team knowledge base, with voting, accepted answers, tags, reputation and badges. Source: https://github.com/apache/answer",
"categories": [
"Social",
"Wiki"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/apache/answer-website/main/static/img/head-icon.png",
"image": "apache/answer:latest",
"restart_policy": "unless-stopped",
"ports": [
"9080:80/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"env": [
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London. The site starts on it, and you can change it later in the admin.",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:9080</code> from the address you'll actually use, since the setup wizard saves it as the Site URL that links and uploads are built from. On the database step pick <b>SQLite</b> (it defaults to MySQL, which isn't there) and leave the file as <code>/data/answer.db</code>. The last step creates the admin, and whoever reaches the wizard first gets to, so do it straight away. Sign-ups stay open but need email verification, so new accounts can't post until you set up Admin --&gt; Advanced --&gt; SMTP, or close them under Advanced --&gt; Login. The database, config and uploads all live in the volume. Docs: <a href=\"https://answer.apache.org/docs\" target=\"_blank\">answer.apache.org/docs</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Web",
"Proxy"
],
"description": "The Apache HTTP Server is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "httpd:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/apache-httpd.png",
"name": "apache-httpd",
"platform": "linux",
"ports": [
"8080:80/tcp",
"8443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Apache Httpd",
"type": 1,
"volumes": [
{
"container": "/usr/local/apache2/htdocs/",
"bind": "/portainer/Files/AppData/Config/apache-httpd"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://httpd.apache.org/\" target=\"_blank\">https://httpd.apache.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/_/httpd\" target=\"_blank\">https://hub.docker.com/_/httpd</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 23
},
{
"type": 3,
"title": "Apache Kafka",
"name": "kafka",
"description": "3-node Apache Kafka cluster in KRaft mode (no ZooKeeper) with Kafbat UI, deployable locally with plain Docker Compose or to Miget as a compose stack.",
"categories": [
"Streaming Messaging"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "kafka/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/apache-kafka.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 24
},
{
"id": 25,
"type": 1,
"title": "Apprise-api (container)",
"name": "Apprise-api",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/apprise-api/config<br>mkdir -p /srv/lsio/apprise-api/attachments</p>",
"description": "[Apprise-api](https://github.com/caronc/apprise-api) Takes advantage of [Apprise](https://github.com/caronc/apprise) through your network with a user-friendly API. * Send notifications to more than 100 services. * An incredibly lightweight gateway to Apprise. * A production ready micro-service at your disposal. * A Simple Website to verify and test your configuration with. Apprise API was designed to easily fit into existing (and new) eco-systems that are looking for a simple notification solution.",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/caronc/apprise-api/master/apprise_api/static/logo.png",
"image": "linuxserver/apprise-api:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "APPRISE_ATTACH_SIZE",
"label": "APPRISE_ATTACH_SIZE",
"default": "0",
"description": "Max attachment size in Mb. `0` disables attachments. Must have `/attachments` mounted to set to a positive value. [OPTIONAL]"
}
],
"ports": [
"8000:8000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/apprise-api/config"
},
{
"container": "/attachments",
"bind": "/srv/lsio/apprise-api/attachments"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"API"
],
"description": "Apprise API was designed to easily fit into existing (and new) eco-systems that are looking for a simple notification solution.70+ services\n\nSource: https://github.com/caronc/apprise-api",
"logo": "https://raw.githubusercontent.com/caronc/apprise/master/apprise/assets/themes/default/apprise-logo.png",
"name": "apprise-api",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/apprise.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Apprise-API (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 26
},
{
"categories": [
"Productivity",
"Development",
"Low Code"
],
"description": "Appsmith (www.appsmith.com) is the first open-source low-code tool that helps developers build dashboards and admin panels very quickly.",
"logo": "https://cdn-images.himalayas.app/vr60veq4neiptamhqm6qxwi3toi3",
"name": "appsmith",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/appsmith.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Appsmith",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 27
},
{
"categories": [
"Development"
],
"description": "Appwrite is a self-hosted backend-as-a-service platform that provides developers with all the core APIs required to build any application.",
"logo": "https://appwrite.io/images/appwrite.svg",
"name": "appwrite",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/appwrite.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Appwrite",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 28
},
{
"categories": [
"Tools"
],
"description": "A beautiful, intuitive interface for managing your Docker containers, images, networks, and volumes. No terminal required.",
"logo": "https://getarcane.app/_app/immutable/assets/logo-full.BlWsIU1M.svg",
"name": "arcane",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/arcane.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Arcane",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 29
},
{
"categories": [
"Other",
"Tools",
"Games"
],
"description": "C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.\n\nSource: https://github.com/JustArchiNET/ArchiSteamFarm",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "justarchi/archisteamfarm:latest",
"logo": "https://raw.githubusercontent.com/JustArchiNET/ArchiSteamFarm/main/resources/ASF_184x184.png",
"name": "archisteamfarm",
"platform": "linux",
"ports": [
"1242:1242/tcp"
],
"restart_policy": "unless-stopped",
"title": "ArchiSteamFarm",
"type": 1,
"volumes": [
{
"container": "/app/config",
"bind": "/portainer/Files/AppData/Config/ArchiSteamFarm/config"
},
{
"container": "/app/plugins",
"bind": "/portainer/Files/AppData/Config/ArchiSteamFarm/plugins"
},
{
"container": "/app/logs",
"bind": "/portainer/Files/AppData/Config/ArchiSteamFarm/logs"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/JustArchiNET/ArchiSteamFarm/\" target=\"_blank\">https://github.com/JustArchiNET/ArchiSteamFarm/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Docker/\" target=\"_blank\">https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Docker/</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 30
},
{
"categories": [
"Other",
"Tools"
],
"description": "ArchiveBox is a powerful, self-hosted internet archiving solution to collect, save, and view sites you want to preserve offline.",
"env": [
{
"default": "*",
"label": "ALLOWED_HOSTS",
"name": "ALLOWED_HOSTS"
},
{
"default": "750m",
"label": "MEDIA_MAX_SIZE",
"name": "MEDIA_MAX_SIZE"
},
{
"default": "true",
"label": "PUBLIC_INDEX",
"name": "PUBLIC_INDEX"
},
{
"default": "true",
"label": "PUBLIC_SNAPSHOTS",
"name": "PUBLIC_SNAPSHOTS"
},
{
"default": "false",
"label": "PUBLIC_ADD_VIEW",
"name": "PUBLIC_ADD_VIEW"
}
],
"image": "archivebox/archivebox:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/archivebox.png",
"name": "archivebox",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://archivebox.io/\" target=\"_blank\">https://archivebox.io/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/ArchiveBox/ArchiveBox/wiki/Docker\" target=\"_blank\">https://github.com/ArchiveBox/ArchiveBox/wiki/Docker</a><br><br><br>By default an admin user is not created. You can do so by launching a shell in the container and executing 'archivebox manage createsuperuser'. Documentation is Available <a href='https://github.com/ArchiveBox/ArchiveBox/wiki'>here</a>.",
"platform": "linux",
"ports": [
"8002:8000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Archivebox",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/archivebox"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 31
},
{
"id": 32,
"type": 1,
"title": "Ardour",
"name": "Ardour",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ardour/config</p>",
"description": "[Ardour](https://ardour.org/) is an open source, collaborative effort of a worldwide team including musicians, programmers, and professional recording engineers.",
"categories": [
"Audio Processing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ardour-logo.png",
"image": "linuxserver/ardour:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ardour/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Downloaders"
],
"description": "A perfect Aria2 Docker image. Out of the box, just add download tasks and don't need to think about anything else.",
"logo": "https://imgcdn.p3terx.com/post/20201113041845.jpg",
"name": "aria2-pro",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/aria2pro.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Aria2 Pro",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 33
},
{
"categories": [
"Downloaders"
],
"description": "AriaNg is a modern web frontend making aria2 easier to use. AriaNg is written in pure html & javascript, thus it does not need any compilers or runtime environment. You can just put AriaNg in your web server and open it in your browser. AriaNg uses responsive layout, and supports any desktop or mobile devices.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "443",
"label": "ARIA2RPCPORT",
"name": "ARIA2RPCPORT"
}
],
"image": "hurlenko/aria2-ariang:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/ariang.png",
"name": "AriaNG",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "AriaNG",
"type": 1,
"volumes": [
{
"container": "/aria2/conf",
"bind": "/portainer/Files/AppData/Config/AriaNG"
},
{
"container": "/aria2/data",
"bind": "/portainer/Downloads"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/hurlenko/aria2-ariang-docker\" target=\"_blank\">https://github.com/hurlenko/aria2-ariang-docker</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/hurlenko/aria2-ariang-docker\" target=\"_blank\">https://github.com/hurlenko/aria2-ariang-docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 34
},
{
"type": 3,
"title": "Asciinema {shmolf}",
"name": "asciinema",
"categories": [
"Tools"
],
"description": "Self-hosted terminal recording and playback",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/asciinema.svg",
"note": "<a target='_blank' href='https://docs.asciinema.org/getting-started/#self-hosting-the-server'>Application documentation \ud83d\uddd7</a><br>For the application secret key, you can use the terminal command <code>tr -dc A-Za-z0-9 &lt;/dev/urandom | head -c 64; echo</code>",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"label": "PGID",
"name": "PGID",
"default": "1000"
},
{
"label": "Hostname",
"name": "HOST_NAME",
"default": "localhost",
"description": "Localhost for use within the application runtime"
},
{
"label": "Host Port",
"name": "HOST_PORT",
"default": "3033",
"description": "Published port for use within the application runtime"
},
{
"label": "Secret Application Key",
"name": "SECRET_KEY",
"default": "please-change-this-to-a-random-secret"
}
],
"platform": "linux",
"repository": {
"stackfile": "stacks/asciinema/docker-compose.yml",
"url": "https://github.com/shmolf/portainer-templates"
},
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 35
},
{
"categories": [
"Productivity",
"Project Management"
],
"description": "Client portal for agencies and freelancers. Share project progress, files, tasks and invoices through a branded portal. Source: https://github.com/Vibra-Labs/Atrium",
"env": [
{
"label": "Auth secret, min 32 chars \u2014 generate with: openssl rand -base64 32",
"name": "BETTER_AUTH_SECRET"
},
{
"default": "http://localhost:8080",
"label": "Public URL the portal is served from \u2014 email invite and reset links are built from this",
"name": "WEB_URL"
},
{
"default": "http://localhost:8080",
"label": "Public API URL \u2014 same value, the image serves app and API from one origin",
"name": "API_URL"
},
{
"default": "true",
"label": "Secure cookies \u2014 set to false when serving over plain HTTP",
"name": "SECURE_COOKIES"
},
{
"default": "",
"label": "External PostgreSQL URL (optional, blank uses the built-in database)",
"name": "DATABASE_URL"
},
{
"default": "local",
"label": "Storage provider: local, s3, minio or r2",
"name": "STORAGE_PROVIDER"
},
{
"default": "50",
"label": "Max upload size in MB",
"name": "MAX_FILE_SIZE_MB"
},
{
"default": "",
"label": "Resend API key (optional, enables invite and reset emails)",
"name": "RESEND_API_KEY"
},
{
"default": "",
"label": "From address for outgoing email (optional)",
"name": "EMAIL_FROM"
}
],
"image": "vibralabs/atrium:latest",
"logo": "https://avatars.githubusercontent.com/u/258646867",
"name": "atrium",
"note": "Needs an auth secret of at least 32 characters \u2014 the container exits on startup without one. Over plain HTTP set secure cookies to false, or sign-in fails with a CSRF error.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Atrium",
"type": 1,
"volumes": [
{
"container": "/var/lib/postgresql/data"
},
{
"container": "/app/uploads"
}
],
"id": 36
},
{
"id": 37,
"type": 1,
"title": "Audacity",
"name": "Audacity",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/audacity/config</p>",
"description": "[Audacity](https://www.audacityteam.org/) is an easy-to-use, multi-track audio editor and recorder. Developed by a group of volunteers as open source.",
"categories": [
"Audio Processing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/audacity-logo.png",
"image": "linuxserver/audacity:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/audacity/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Multimedia",
"Audio"
],
"description": "Self hosted audiobook and podcast server",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://github.com/advplyr/audiobookshelf/raw/master/images/banner.svg",
"name": "Audiobookshelf",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/audiobookshelf.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Audiobookshelf",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 38
},
{
"categories": [
"Music",
"Media",
"AI"
],
"description": "Automatic playlist generation for self-hosted music servers. Analyses your library locally to group tracks by how they sound. Works with Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex. GitHub: [NeptuneHub/AudioMuse-AI](https://github.com/NeptuneHub/AudioMuse-AI)",
"env": [
{
"default": "latest",
"description": "Standard needs a CPU with AVX2 (Intel 2015+ or ARM). Pick the no-AVX2 build for older CPUs, or when a hypervisor (Proxmox/QEMU) hides AVX2 from the guest.",
"label": "Image variant",
"name": "AUDIOMUSE_TAG",
"select": [
{
"text": "Standard (requires AVX2)",
"value": "latest",
"default": true
},
{
"text": "No AVX2 (older CPUs, experimental)",
"value": "latest-noavx2"
}
]
},
{
"default": "8000",
"description": "Host port for the AudioMuse-AI web UI and API.",
"label": "Web UI port",
"name": "FRONTEND_PORT"
},
{
"default": "UTC",
"description": "Timezone for logs and scheduled tasks, e.g. Europe/London.",
"label": "Timezone",
"name": "TZ"
},
{
"default": "audiomuse",
"label": "Database user",
"name": "POSTGRES_USER"
},
{
"default": "audiomusepassword",
"description": "Change this before the first deploy - it is set when the database is initialised.",
"label": "Database password",
"name": "POSTGRES_PASSWORD"
}
],
"logo": "https://raw.githubusercontent.com/NeptuneHub/AudioMuse-AI/main/native-build/linux/packaging/icons/audiomuse-ai_128.png",
"name": "audiomuse-ai",
"note": "Deploys the web app, an analysis worker, PostgreSQL 15 and Redis. Open <code>http://&lt;host&gt;:8000</code> and complete the <b>Setup Wizard</b> to connect your music server(s) - since v1.0.0 everything except the database, Redis and timezone is configured in the browser and stored in the database. Then run <b>Analysis and Clustering &rarr; Start Analysis</b> to scan your library before using the other features; a first analysis is CPU-heavy and can take hours on a large library. API docs are at <code>/apidocs/</code>. Needs 4+ CPU cores, 8GB RAM and SSD storage. PostgreSQL and Redis are internal to the stack and are not published on the host. For NVIDIA GPU acceleration, use the <i>AudioMuse-AI (NVIDIA GPU)</i> template instead.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/audiomuse-ai.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "AudioMuse-AI",
"type": 3,
"id": 39
},
{
"categories": [
"Music",
"Media",
"AI"
],
"description": "AudioMuse-AI with NVIDIA GPU acceleration for the analysis and clustering jobs. Needs the NVIDIA Container Toolkit on the host. GitHub: [NeptuneHub/AudioMuse-AI](https://github.com/NeptuneHub/AudioMuse-AI)",
"env": [
{
"default": "latest-nvidia",
"description": "GPU builds are published for linux/amd64 only. Use latest-nvidia to track releases, or pin one, e.g. 3.1.1-nvidia.",
"label": "Image tag",
"name": "AUDIOMUSE_TAG"
},
{
"default": "0",
"description": "Index of the GPU to pass through, as shown by nvidia-smi. Usually 0.",
"label": "GPU device ID",
"name": "NVIDIA_GPU_ID"
},
{
"default": "true",
"description": "Run KMeans/DBSCAN/PCA on the GPU via RAPIDS cuML, falling back to CPU on error. Analysis always uses the GPU on this image.",
"label": "GPU clustering",
"name": "USE_GPU_CLUSTERING",
"select": [
{
"text": "Enabled",
"value": "true",
"default": true
},
{
"text": "Disabled",
"value": "false"
}
]
},
{
"default": "8000",
"description": "Host port for the AudioMuse-AI web UI and API.",
"label": "Web UI port",
"name": "FRONTEND_PORT"
},
{
"default": "UTC",
"description": "Timezone for logs and scheduled tasks, e.g. Europe/London.",
"label": "Timezone",
"name": "TZ"
},
{
"default": "audiomuse",
"label": "Database user",
"name": "POSTGRES_USER"
},
{
"default": "audiomusepassword",
"description": "Change this before the first deploy - it is set when the database is initialised.",
"label": "Database password",
"name": "POSTGRES_PASSWORD"
}
],
"logo": "https://raw.githubusercontent.com/NeptuneHub/AudioMuse-AI/main/native-build/linux/packaging/icons/audiomuse-ai_128.png",
"name": "audiomuse-ai-nvidia",
"note": "Same stack as <i>AudioMuse-AI</i>, with the GPU reserved for the app and worker containers. <b>Prerequisites:</b> an NVIDIA GPU on driver/CUDA 12.8.1 or later (8GB VRAM recommended), and the <a href=\"https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html\" target=\"_blank\">NVIDIA Container Toolkit</a> installed and wired into Docker on the host - without it the containers will not start. GPU support is marked experimental upstream. After deploying, open <code>http://&lt;host&gt;:8000</code> and complete the <b>Setup Wizard</b> to connect your music server(s), then run <b>Analysis and Clustering &rarr; Start Analysis</b>. PostgreSQL and Redis are internal to the stack and are not published on the host.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/audiomuse-ai-nvidia.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "AudioMuse-AI (NVIDIA GPU)",
"type": 3,
"id": 40
},
{
"id": 41,
"type": 1,
"title": "Audiosilo",
"name": "Audiosilo",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/audiosilo/config<br>mkdir -p /srv/lsio/audiosilo/audiobooks:ro</p>",
"description": "[AudioSilo](https://audiosilo.app) is a self-hosted audiobook server. Point it at your audiobook folders and listen from the built-in web player or the AudioSilo apps for iOS and Android, with listening progress synced across devices.",
"categories": [
"Audiobooks",
"Media Servers"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/audiosilo-logo.png",
"image": "linuxserver/audiosilo:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/audiosilo/config"
},
{
"container": "/audiobooks:ro",
"bind": "/srv/lsio/audiosilo/audiobooks:ro"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Media"
],
"description": "Streamlined Artist Request Manager for Lidarr. Search for artists using the MusicBrainz database and seamlessly add them to your Lidarr music library. Features personalized recommendations, genre analysis, and one-click requests.",
"logo": "https://github.com/lklynet/aurral/raw/main/frontend/public/arralogo.svg",
"name": "aurral",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/aurral.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Aurral",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 42
},
{
"categories": [
"Tools",
"Authentication"
],
"description": "An open-source authentication and authorization server providing 2-factor authentication and single sign-on (SSO) for your applications via a web portal.",
"env": [
{
"label": "TZ",
"name": "TZ"
}
],
"image": "authelia/authelia:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/authelia.png",
"name": "authelia",
"note": "Requires a configuration.yml file in order to work. Documentation is available <a href='https://docs.authelia.com/deployment/deployment-ha'>here</a>.",
"platform": "linux",
"ports": [
"9091:9091/tcp"
],
"restart_policy": "unless-stopped",
"title": "Authelia",
"type": 1,
"volumes": [
{
"container": "/etc/authelia/",
"bind": "/portainer/Files/AppData/Config/Authelia"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 43
},
{
"categories": [
"Tools",
"Authentication"
],
"description": "Authentik is an open-source Identity Provider focused on flexibility and versatility",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://d33wubrfki0l68.cloudfront.net/228cc7243c167d0ad9f9adf2129d69b787129ccb/73d36/img/icon_left_brand.svg",
"name": "Authentik",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/authentik.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Authentik",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 44
},
{
"categories": [
"Downloaders",
"Multimedia"
],
"description": "Autobrr is the modern download automation tool for torrents.",
"logo": "https://autobrr.com/img/logo.png",
"name": "autobrr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/autobrr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Autobrr",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 45
},
{
"id": 46,
"type": 1,
"title": "Azahar",
"name": "Azahar",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/azahar/config</p>",
"description": "[Azahar](https://azahar-emu.org/) is an open-source 3DS emulator based on Citra.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/azahar-logo.png",
"image": "linuxserver/azahar:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/azahar/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Azure Pipelines Agent",
"name": "azp-agent",
"description": "A self-hosted Azure Pipelines agent (Azure DevOps), built from Microsoft's official Dockerfile recipe - the agent ships no container image, this is the documented path.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "azp-agent/compose.yaml"
},
"env": [
{
"name": "AZP_AGENT_NAME",
"label": "AZP_AGENT_NAME",
"default": "miget-agent"
},
{
"name": "AZP_POOL",
"label": "AZP_POOL",
"default": "Default"
},
{
"name": "AZP_TOKEN",
"label": "AZP_TOKEN",
"description": "PAT with \"Agent Pools (read, manage)\" scope, org level."
},
{
"name": "AZP_URL",
"label": "AZP_URL",
"description": "Your Azure DevOps organization URL.",
"default": "https://dev.azure.com/your-org"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 47
},
{
"id": 48,
"type": 1,
"title": "Babybuddy",
"name": "Babybuddy",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/babybuddy/config</p>",
"description": "[Babybuddy](https://github.com/babybuddy/babybuddy) is a buddy for babies! Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.",
"categories": [
"Family"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/babybuddy-logo.png",
"image": "linuxserver/babybuddy:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CSRF_TRUSTED_ORIGINS",
"label": "CSRF_TRUSTED_ORIGINS",
"default": "http://127.0.0.1:8000,https://babybuddy.domain.com",
"description": "Add any address you'd like to access babybuddy at (comma separated, no spaces)"
}
],
"ports": [
"8000:8000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/babybuddy/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Bagisto",
"name": "bagisto",
"description": "Bagisto - the open-source Laravel ecommerce platform: catalog, cart, checkout, multi-channel and multi-currency storefronts, and a full admin. MIT-licensed.",
"categories": [
"CMS Publishing"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "bagisto/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/bagisto.png",
"env": [
{
"name": "APP_KEY",
"label": "APP_KEY",
"description": "SET EXPLICITLY (base64:32-bytes) - auto-gen per boot would orphan sessions/encrypted data on container recreation."
},
{
"name": "APP_URL",
"label": "APP_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 49
},
{
"categories": [
"Calendar",
"Productivity"
],
"description": "Ba\u00efkal is a lightweight CalDAV+CardDAV server. It offers an extensive web interface with easy management of users, address books and calendars.",
"logo": "https://sabre.io/img/logo.png",
"name": "baikal",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/baikal.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Baikal",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 50
},
{
"id": 51,
"type": 1,
"title": "Bambustudio",
"name": "Bambustudio",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/bambustudio/config</p>",
"description": "[Bambu Studio](https://bambulab.com/en/download/studio) is an open-source, cutting-edge, feature-rich slicing software. It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphical interface, bringing users an incredibly smooth printing experience.",
"categories": [
"3D Printing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bambustudio-logo.png",
"image": "linuxserver/bambustudio:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DARK_MODE",
"label": "DARK_MODE",
"default": "true",
"description": "Set this to true to enable dark mode for Bambu Studio. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/bambustudio/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "baserow",
"title": "Baserow (container)",
"description": " Open source no-code database and Airtable alternative ",
"logo": "https://mediadepot.github.io/templates/img/baserow.png",
"image": "baserow/baserow:1.22.3",
"categories": [
"Downloaders",
"Tools"
],
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/baserow/data",
"bind": "/opt/mediadepot/apps/baserow"
}
],
"env": [
{
"name": "BASEROW_PUBLIC_URL",
"label": "BASEROW_PUBLIC_URL",
"preset": false
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.baserow.loadbalancer.server.port",
"value": "80"
},
{
"name": "traefik.http.routers.baserow.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.baserow.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 52
},
{
"categories": [
"Productivity",
"Development",
"No Code"
],
"description": "Open source no-code database and Airtable alternative.Create your own online database without technical experience. Our user friendly no-code tool gives you the powers of a developer without leaving your browser.",
"name": "Baserow",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/baserow.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Baserow (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 53
},
{
"id": 54,
"type": 1,
"title": "Bazarr (container)",
"name": "Bazarr",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/bazarr/config<br>mkdir -p /srv/lsio/bazarr/movies<br>mkdir -p /srv/lsio/bazarr/tv</p>",
"description": "[Bazarr](https://www.bazarr.media/) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png",
"image": "linuxserver/bazarr:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"6767:6767/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/bazarr/config"
},
{
"container": "/movies",
"bind": "/srv/lsio/bazarr/movies"
},
{
"container": "/tv",
"bind": "/srv/lsio/bazarr/tv"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Multimedia"
],
"description": "Bazarr is a companion application to Sonarr and Radarr. It can manage and download Subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.",
"logo": "https://www.bazarr.media/assets/img/logo.png",
"name": "bazarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/bazarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Bazarr (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 55
},
{
"id": 56,
"type": 1,
"title": "Beets",
"name": "Beets",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/beets/config<br>mkdir -p /srv/lsio/beets/music<br>mkdir -p /srv/lsio/beets/downloads</p>",
"description": "[Beets](http://beets.io/) is a music library manager and not, for the most part, a music player. It does include a simple player plugin and an experimental Web-based player, but it generally leaves actual sound-reproduction to specialized tools.",
"categories": [
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/beets-icon.png",
"image": "linuxserver/beets:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8337:8337/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/beets/config"
},
{
"container": "/music",
"bind": "/srv/lsio/beets/music"
},
{
"container": "/downloads",
"bind": "/srv/lsio/beets/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 57,
"type": 1,
"title": "BentoPDF",
"name": "bentopdf",
"description": "PDF toolkit that runs in your browser, so files never leave your machine. Merge, split, compress, convert, sign and edit. Source: https://github.com/alam00000/bentopdf",
"categories": [
"Documents",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/alam00000/bentopdf/main/public/images/favicon-512x512.png",
"image": "ghcr.io/alam00000/bentopdf-simple:latest",
"restart_policy": "unless-stopped",
"ports": [
"8090:8080/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8090</code>. There's no login and nothing to back up, since every PDF is processed in your browser rather than on the server. Converting Word, Excel or PowerPoint files needs it served over HTTPS though (or opened as <code>localhost</code> on the same machine), as browsers block the bit it relies on over plain http. Docs: <a href=\"https://github.com/alam00000/bentopdf#readme\" target=\"_blank\">github.com/alam00000/bentopdf</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Monitoring"
],
"description": "A lightweight server resource monitoring hub with historical data, docker stats, and alerts.",
"name": "beszel",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/beszel.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Beszel",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 58
},
{
"id": 59,
"type": 1,
"title": "Bitcoin-knots",
"name": "Bitcoin-knots",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/bitcoin-knots/config</p>",
"description": "[Bitcoin Knots](https://bitcoinknots.org/) can be used as a desktop client for regular payments or as a full node server utility for merchants and other payment services.",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bitcoin-knots-logo.png",
"image": "linuxserver/bitcoin-knots:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp",
"8333:8333/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/bitcoin-knots/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal..",
"image": "bitwardenrs/server:latest",
"logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/bitwarden.png",
"name": "bitwardenrs",
"note": "This project is not associated with the Bitwarden project nor 8bit Solutions LLC.",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Bitwarden RS",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Bitwarden-rs"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 60
},
{
"id": 61,
"type": 1,
"title": "Blade-of-agony",
"name": "Blade-of-agony",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/blade-of-agony/config</p>",
"description": "[Wolfenstein: Blade of Agony](https://boa.realm667.com/) is a story-driven WWII shooter inspired by Wolfenstein and Doom.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/boa-logo.png",
"image": "linuxserver/blade-of-agony:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/blade-of-agony/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 62,
"type": 1,
"title": "Blender",
"name": "Blender",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/blender/config</p>",
"description": "[Blender](https://www.blender.org/) is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games. **This image does not support GPU rendering out of the box only accelerated workspace experience**",
"categories": [
"3D Modeling"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/blender-logo.png",
"image": "linuxserver/blender:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/blender/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity"
],
"description": "Blinko is an innovative open-source project designed for individuals who want to quickly capture and organize their fleeting thoughts. Blinko allows users to seamlessly jot down ideas the moment they strike, ensuring that no spark of creativity is lost.",
"logo": "https://blinko-demo.vercel.app/logo-light.png",
"name": "blinko",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/blinko.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Blinko",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 63
},
{
"id": 64,
"type": 1,
"title": "Boinc",
"name": "Boinc",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/boinc/config</p>",
"description": "[BOINC](https://boinc.berkeley.edu/) is a platform for high-throughput computing on a large scale (thousands or millions of computers). It can be used for volunteer computing (using consumer devices) or grid computing (using organizational resources). It supports virtualized, parallel, and GPU-based applications.",
"categories": [
"Science"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/BOINC/boinc/master/doc/logo/boinc_logo_black.jpg",
"image": "linuxserver/boinc:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PASSWORD",
"label": "PASSWORD",
"default": "",
"description": "Optionally set a password for the gui. [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp",
"8181:8181/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/boinc/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Books"
],
"description": "Booksonic is a server and an app for streaming your audiobooks to any pc or android phone. Most of the functionality is also availiable on other platforms that have apps for subsonic.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"default": "booksonic",
"label": "CONTEXT_PATH",
"name": "CONTEXT_PATH"
}
],
"image": "linuxserver/booksonic:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/booksonic.png",
"name": "booksonic",
"platform": "linux",
"ports": [
"4040:4040/tcp"
],
"restart_policy": "unless-stopped",
"title": "Booksonic",
"type": 1,
"volumes": [
{
"container": "/books",
"bind": "/portainer/Books"
},
{
"container": "/podcast",
"bind": "/portainer/Files/Podcasts"
},
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Booksonic"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 65
},
{
"id": 66,
"type": 1,
"title": "Bookstack (container)",
"name": "Bookstack",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/bookstack/config</p>",
"description": "[Bookstack](https://codeberg.org/bookstack/bookstack) is a free and open source Wiki designed for creating beautiful documentation. Featuring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease. Powered by SQL and including a Markdown editor for those who prefer it, BookStack is geared towards making documentation more of a pleasure than a chore. For more information on BookStack visit their website and check it out: https://www.bookstackapp.com",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bookstack-logo.png",
"image": "linuxserver/bookstack:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "APP_URL",
"label": "APP_URL",
"default": "",
"description": "The protocol, IP/URL, and port that your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com`"
},
{
"name": "APP_KEY",
"label": "APP_KEY",
"default": "",
"description": "Session encryption key. You will need to generate this with `docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey`"
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "",
"description": "The database instance hostname"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "3306",
"description": "Database port"
},
{
"name": "DB_USERNAME",
"label": "DB_USERNAME",
"default": "",
"description": "Database user"
},
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD",
"default": "",
"description": "Database password (minimum 4 characters & non-alphanumeric passwords must be properly escaped.)"
},
{
"name": "DB_DATABASE",
"label": "DB_DATABASE",
"default": "",
"description": "Database name"
},
{
"name": "QUEUE_CONNECTION",
"label": "QUEUE_CONNECTION",
"default": "",
"description": "Set to `database` to enable async actions like sending email or triggering webhooks. See [documentation](https://www.bookstackapp.com/docs/admin/email-webhooks/#async-action-handling). [OPTIONAL]"
}
],
"ports": [
"6875:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/bookstack/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Wiki"
],
"description": "Bookstack is a free and open source Wiki designed for creating beautiful documentation. Feautring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/bookstack2.png",
"note": "Default login is admin@admin.com with a password of password. The database created is called bookstackapp and the database user is called bookstack",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/bookstack.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Bookstack (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 67
},
{
"categories": [
"Wiki"
],
"description": "Bookstack is a free and open source Wiki designed for creating beautiful documentation. Feautring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/bookstack2.png",
"note": "Default login is admin@admin.com with a password of password. The database created is called bookstackapp and the database user is called bookstack",
"platform": "linux",
"repository": {
"stackfile": "stacks/bookstack/docker-stack.yml",
"url": "https://github.com/mikestraney/portainer-templates"
},
"title": "Bookstack (swarm)",
"type": 2,
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 68
},
{
"id": 69,
"type": 1,
"title": "Brave",
"name": "Brave",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/brave/config</p>",
"description": "[The Brave browser](https://brave.com/) is a fast, private and secure web browser for PC, Mac and mobile.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/brave-logo.png",
"image": "linuxserver/brave:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/brave/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Smart Home"
],
"description": "BroadlinkManager is a Flask powerd, easy to use system that hepls you to work with Broadlink Devices.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/broadlink.png",
"name": "broadlink-manager",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/broadlink-manager.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Broadlink Manager",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 70
},
{
"categories": [
"Productivity",
"Development",
"Low Code",
"No Code"
],
"description": "Budibase allows no-code users to build apps quickly, with more functionality available with a little bit of inline code.",
"logo": "https://files.readme.io/593b386-budibase-logo-website.svg",
"name": "budibase",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/budibase.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Budibase",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 71
},
{
"type": 3,
"title": "Bugsink",
"name": "bugsink",
"description": "Bugsink, self-hosted error tracking compatible with the Sentry SDKs, in a single container. The lightest way to own your error data: one app + one managed Postgres.",
"categories": [
"Error Tracking"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "bugsink/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/bugsink.png",
"env": [
{
"name": "ADMIN_EMAIL",
"label": "ADMIN_EMAIL",
"default": "admin@example.com"
},
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "BASE_URL",
"label": "BASE_URL",
"default": "http://localhost:5000"
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY",
"description": "Copy to .env for local `docker compose up`."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 72
},
{
"type": 3,
"title": "Buildkite Agent",
"name": "buildkite-agent",
"description": "A Buildkite agent: Buildkite hosts the UI and orchestration, your agents run the jobs - the hybrid-CI model where compute was always meant to be yours. This is the cleanest runner in the catalogue: official image, one token, done.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "buildkite-agent/compose.yaml"
},
"env": [
{
"name": "BUILDKITE_AGENT_TAGS",
"label": "BUILDKITE_AGENT_TAGS",
"description": "Pipelines target agents by tags, e.g.",
"default": "queue=miget"
},
{
"name": "BUILDKITE_AGENT_TOKEN",
"label": "BUILDKITE_AGENT_TOKEN",
"description": "Agent token: Buildkite > Agents > Reveal Agent Token."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 73
},
{
"type": 3,
"title": "Buzz",
"name": "buzz",
"description": "Buzz - a self-hosted workspace where humans and AI agents share the same rooms. Under the hood it is a Nostr relay: every message, reaction, workflow step, review approval, and git event is a signed event in one log, whether the author is",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "buzz/compose.yaml"
},
"env": [
{
"name": "BUZZ_CORS_ORIGINS",
"label": "BUZZ_CORS_ORIGINS",
"default": "http://localhost:5000"
},
{
"name": "BUZZ_GIT_HOOK_HMAC_SECRET",
"label": "BUZZ_GIT_HOOK_HMAC_SECRET",
"description": "Signs the relay's own git hooks, 32+ chars: openssl rand -hex 32"
},
{
"name": "BUZZ_MEDIA_BASE_URL",
"label": "BUZZ_MEDIA_BASE_URL",
"default": "http://localhost:5000/media"
},
{
"name": "BUZZ_RELAY_PRIVATE_KEY",
"label": "BUZZ_RELAY_PRIVATE_KEY",
"description": "Relay signing identity, exactly 64 hex chars: openssl rand -hex 32 Events signed with it stop verifying if it changes, so keep it stable once a relay has data."
},
{
"name": "BUZZ_REQUIRE_AUTH_TOKEN",
"label": "BUZZ_REQUIRE_AUTH_TOKEN"
},
{
"name": "BUZZ_REQUIRE_RELAY_MEMBERSHIP",
"label": "BUZZ_REQUIRE_RELAY_MEMBERSHIP",
"default": "false"
},
{
"name": "MINIO_ROOT_PASSWORD",
"label": "MINIO_ROOT_PASSWORD",
"description": "MinIO root password for the media bucket: openssl rand -hex 16"
},
{
"name": "RELAY_OWNER_PUBKEY",
"label": "RELAY_OWNER_PUBKEY"
},
{
"name": "RELAY_URL",
"label": "RELAY_URL",
"default": "ws://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 74
},
{
"id": 75,
"type": 3,
"title": "Bytebase",
"name": "bytebase",
"description": "Database change management for teams. Plan, review and roll out schema changes to Postgres, MySQL and 20-odd other databases with a full history, or query them from a web SQL editor. Source: https://github.com/bytebase/bytebase",
"categories": [
"Database",
"Development"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/bytebase/bytebase/main/frontend/src/assets/logo-icon.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "BYTEBASE_DB_PASSWORD",
"label": "Database password (required)",
"description": "For Bytebase's own Postgres. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy."
},
{
"name": "BYTEBASE_PORT",
"label": "Host port for the web UI",
"default": "8093"
}
],
"note": "Set the <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it. Then open <code>http://&lt;your-host&gt;:8093</code> (or whichever port you picked). That page creates the admin, and whoever reaches it first gets to, so do it straight away. Sign-ups stay open after that (new people join as members), so tick Disallow self-service signup under Settings --&gt; General if anyone else can reach it, and set the External URL there to the address you actually use. Each time it starts, Bytebase sends the first account's email address, everyone's email domains and your SQL review rules to bytebase.com, unless you untick Participate in improvement program on that same page. When you add a database, use your host's IP rather than <code>localhost</code>, which is the Bytebase container itself. The free Community plan covers 20 users and 10 instances. Bytebase keeps everything in Postgres, in the <code>postgres-data</code> volume, and any sample instance you start in <code>bytebase-data</code>. Docs: <a href=\"https://docs.bytebase.com/get-started/self-host/deploy-with-docker\" target=\"_blank\">docs.bytebase.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/bytebase/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 76,
"type": 1,
"title": "Caddy",
"description": "Open-source web server with automatic HTTPS written in Go",
"categories": [
"Webserver"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/caddy.png",
"image": "caddy:latest",
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Dashboard",
"Web"
],
"description": "The directory page for the people you host services for: no account, multilingual, live status, one tiny container. Source: https://github.com/MorganKryze/cairn",
"env": [],
"image": "ghcr.io/morgankryze/cairn:latest",
"logo": "https://raw.githubusercontent.com/MorganKryze/cairn/main/docs/assets/brand/cairn.svg",
"name": "cairn",
"note": "Starts with no configuration at all and serves a getting-started page. Drop a services.yaml into the mounted /config directory and it reloads within seconds, no restart needed. It writes nothing at runtime, so it also runs read-only with every capability dropped.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "cairn",
"type": 1,
"volumes": [
{
"container": "/config"
}
],
"id": 77
},
{
"type": 3,
"title": "Cal.com",
"name": "calcom",
"description": "Cal.com - open-source scheduling: personal and team booking pages, availability rules, round-robin and collective events, workflows and reminders, and two-way calendar sync (Google, Office 365, CalDAV). A self-hosted Calendly alternative.",
"categories": [
"Scheduling"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "calcom/compose.yaml"
},
"env": [
{
"name": "CALENDSO_ENCRYPTION_KEY",
"label": "CALENDSO_ENCRYPTION_KEY",
"description": "AES-256 encryption key (exactly 32 bytes)."
},
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET",
"description": "NextAuth session secret."
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"default": "http://localhost:5000/api/auth"
},
{
"name": "NEXT_PUBLIC_WEBAPP_URL",
"label": "NEXT_PUBLIC_WEBAPP_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/cal-com.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 78
},
{
"id": 79,
"type": 1,
"title": "Calibre",
"name": "Calibre",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/calibre/config</p>",
"description": "[Calibre](https://calibre-ebook.com/) is a powerful and easy to use e-book manager. Users say it's outstanding and a must-have. It'll allow you to do nearly everything and it takes things a step beyond normal e-book software. It's also completely free and open source and great for both casual users and computer experts.",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-logo.png",
"image": "linuxserver/calibre:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PASSWORD",
"label": "PASSWORD",
"default": "",
"description": "Optionally set a password for the gui. [OPTIONAL]"
},
{
"name": "CLI_ARGS",
"label": "CLI_ARGS",
"default": "",
"description": "Optionally pass cli start arguments to calibre. [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp",
"8181:8181/tcp",
"8081:8081/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/calibre/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 80,
"type": 1,
"title": "Calibre-web",
"name": "Calibre-web",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/calibre-web/config<br>mkdir -p /srv/lsio/calibre-web/books</p>",
"description": "[Calibre-web](https://github.com/janeczku/calibre-web) is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself. This software is a fork of library and licensed under the GPL v3 License.",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png",
"image": "linuxserver/calibre-web:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DOCKER_MODS",
"label": "DOCKER_MODS",
"default": "linuxserver/mods:universal-calibre",
"description": "#optional & **x86-64 only** Adds the ability to perform ebook conversion [OPTIONAL]"
},
{
"name": "OAUTHLIB_RELAX_TOKEN_SCOPE",
"label": "OAUTHLIB_RELAX_TOKEN_SCOPE",
"default": "1",
"description": "Optionally set this to allow Google OAUTH to work [OPTIONAL]"
}
],
"ports": [
"8083:8083/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/calibre-web/config"
},
{
"container": "/books",
"bind": "/srv/lsio/calibre-web/books"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 81,
"type": 1,
"title": "Calligra",
"name": "Calligra",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/calligra/config</p>",
"description": "[Calligra](https://calligra.org/) is an office and graphic art suite by KDE. It is available for desktop PCs, tablet computers, and smartphones. It contains applications for word processing, spreadsheets, presentation, vector graphics, and editing databases.",
"categories": [
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calligra-logo.png",
"image": "linuxserver/calligra:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/calligra/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Campfire",
"name": "campfire",
"description": "Campfire - 37signals' free, open-source group chat: rooms, direct messages, file sharing, full-text search, @mentions, sounds, and Web Push. It was the first ONCE app (a one-time paid product) and is now MIT-licensed and free.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "campfire/compose.yaml"
},
"env": [
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"description": "Rails secret - a long random string."
},
{
"name": "SENTRY_DSN",
"label": "SENTRY_DSN",
"description": "Optional: error reporting."
},
{
"name": "VAPID_PRIVATE_KEY",
"label": "VAPID_PRIVATE_KEY"
},
{
"name": "VAPID_PUBLIC_KEY",
"label": "VAPID_PUBLIC_KEY",
"description": "Optional: Web Push (browser/mobile notifications)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 82
},
{
"categories": [
"Media",
"Tools"
],
"description": "Media requests and server management in one app. Household members browse and request movies, shows, books, and music, follow downloads, and get notified when content is ready. Administrators manage Radarr, Sonarr, Chaptarr, Lidarr, and download clients, review approvals, and investigate stuck downloads. AI is optional, and authorized MCP clients can use the same server. GitHub: [windoze95/cantinarr](https://github.com/windoze95/cantinarr)",
"env": [
{
"default": "https://push.cantinarr.com",
"description": "Push gateway for the companion iOS and Android apps. The server enrolls itself on first start; clear to disable push, or point it at your own gateway.",
"label": "CANTINARR_PUSH_GATEWAY_URL",
"name": "CANTINARR_PUSH_GATEWAY_URL"
},
{
"default": "",
"description": "Origin your Radarr, Sonarr, and Chaptarr containers POST webhooks back to, for example http://192.168.1.10:8585. Leave blank to use whatever address you browse to. This is not the address people reach Cantinarr at; set that in the app under Settings, External Address. Formerly named CANTINARR_PUBLIC_URL, which existing containers can keep using.",
"label": "CANTINARR_ARR_CALLBACK_URL",
"name": "CANTINARR_ARR_CALLBACK_URL"
}
],
"image": "ghcr.io/windoze95/cantinarr:latest",
"logo": "https://cantinarr.com/static/symbol-transparent-v1.png",
"name": "cantinarr",
"note": "Web UI and API on port 8585. Radarr, Sonarr, Chaptarr, download clients, Tautulli, and Plex are all optional and are added from the admin UI after first run. Documentation: https://github.com/windoze95/cantinarr",
"platform": "linux",
"ports": [
"8585:8585/tcp"
],
"restart_policy": "unless-stopped",
"title": "Cantinarr",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Cantinarr/config"
}
],
"id": 83
},
{
"type": 1,
"name": "cardigann",
"title": "Cardigann",
"description": "Cardigann, a server for adding extra indexers to Sonarr, SickRage and CouchPotato via Torznab and TorrentPotato proxies. Behind the scenes Cardigann logs in and runs searches and then transforms the results into a compatible format.",
"logo": "https://mediadepot.github.io/templates/img/cardigann.png",
"image": "linuxserver/cardigann:latest",
"categories": [
"Downloaders"
],
"ports": [
"5060/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/cardigann"
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.cardigann.loadbalancer.server.port",
"value": "5060"
},
{
"name": "traefik.http.routers.cardigann.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.cardigann.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 84
},
{
"id": 85,
"type": 3,
"title": "Casdoor",
"name": "casdoor",
"description": "Identity and single sign-on server, so your other apps can share one login over OAuth 2, OIDC, SAML or CAS, with a web UI for users, organisations, apps, MFA and social logins. Source: https://github.com/casdoor/casdoor",
"categories": [
"Security"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/72992104?s=256",
"restart_policy": "unless-stopped",
"env": [
{
"name": "CASDOOR_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For the built-in admin account. Only used the very first time it starts."
},
{
"name": "CASDOOR_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Casdoor can't reach its database."
},
{
"name": "CASDOOR_PORT",
"label": "Host port for the web UI",
"default": "8800"
}
],
"note": "Set the <b>admin password</b> and <b>database password</b> before you deploy, since the stack won't start without them. Then open <code>http://&lt;your-host&gt;:8800</code> (or whichever port you picked) and log in as <code>admin</code> with that password. It's only read on the very first start, so change it later from the admin's own account page, not here. Everyone in the built-in organisation is an admin, so put your users in an organisation of their own, and give each app that should log in through Casdoor an application with its redirect URL. Apps find it at <code>/.well-known/openid-configuration</code>, and Casdoor names itself after whatever address they reach it on, so keep that the same everywhere. An update signs everyone out of Casdoor itself, as its sessions live in the container. Logos and pictures on its pages load from cdn.casbin.org. Users, apps and settings live in Postgres, in the <code>postgres-data</code> volume. Docs: <a href=\"https://casdoor.org/docs/overview\" target=\"_blank\">casdoor.org/docs</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/casdoor/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Tools",
"Monitoring"
],
"description": "Self-hosted passive income orchestrator for bandwidth sharing, DePIN, storage, and GPU compute services. Source: https://github.com/GeiserX/CashPilot",
"env": [
{
"default": "UTC",
"label": "Timezone",
"name": "TZ"
},
{
"default": "",
"label": "Encryption key \u2014 blank to auto-generate (set a fixed value to keep stored credentials across redeploys)",
"name": "CASHPILOT_SECRET_KEY"
},
{
"default": "",
"label": "Worker enrollment key (optional)",
"name": "CASHPILOT_API_KEY"
}
],
"image": "drumsergio/cashpilot:latest",
"logo": "https://avatars.githubusercontent.com/u/9169332",
"name": "cashpilot",
"note": "This template deploys only the CashPilot UI. To actually deploy and manage earning services you also need the companion worker container (drumsergio/cashpilot-worker) with Docker-socket access, paired via CASHPILOT_API_KEY. See the repo for the full compose.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "CashPilot",
"type": 1,
"volumes": [
{
"container": "/data"
}
],
"id": 86
},
{
"categories": [
"Podcast"
],
"description": "Castopod is a free and open-source hosting platform made for podcasters.",
"logo": "https://pbs.twimg.com/profile_images/1313854745161932800/w_qe6Qq6_400x400.png",
"name": "castopod",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/castopod.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Castopod",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 87
},
{
"categories": [
"Network"
],
"description": "Self-hosted website change detection monitoring.\n\nSource: https://github.com/dgtlmoon/changedetection.io",
"image": "dgtlmoon/changedetection.io:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/changedetection-custom.png",
"name": "changedetection",
"platform": "linux",
"restart_policy": "always",
"title": "Change Detection",
"type": 1,
"volumes": [
{
"container": "/datastore",
"bind": "/portainer/Files/AppData/Config/changedetection"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 88
},
{
"id": 89,
"type": 1,
"title": "Changedetection.io (container)",
"name": "Changedetection.io",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/changedetection.io/config</p>",
"description": "[Changedetection.io](https://github.com/dgtlmoon/changedetection.io) provides free, open-source web page monitoring, notification and change detection.",
"categories": [
"Web Tools",
"Automation"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/changedetection-icon.png",
"image": "linuxserver/changedetection.io:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "BASE_URL",
"label": "BASE_URL",
"default": "",
"description": "Specify the full URL (including protocol) when running behind a reverse proxy [OPTIONAL]"
},
{
"name": "PLAYWRIGHT_DRIVER_URL",
"label": "PLAYWRIGHT_DRIVER_URL",
"default": "",
"description": "Specify the full URL to your chrome driver instance. See the [wiki](https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher) for details. [OPTIONAL]"
}
],
"ports": [
"5000:5000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/changedetection.io/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "changedetection.io (stack)",
"name": "changedetection",
"description": "changedetection.io - watch any web page for changes (prices, stock, content, competitors' pages) with filters, diffs, and notifications to 80+ targets (the in-project `ntfy` template included). Single container, one volume.\n\nSource: https://github.com/dgtlmoon/changedetection.io",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "changedetection/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/changedetection.png",
"env": [
{
"name": "BASE_URL",
"label": "BASE_URL",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 90
},
{
"type": 3,
"title": "Chatwoot",
"name": "chatwoot",
"description": "Chatwoot - open-source customer support: shared team inbox, website live-chat widget, email and social channels, help center, and automations. This template runs the community-edition image (`v4-ce`, pure MIT - no enterprise code).",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "chatwoot/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/chatwoot.png",
"env": [
{
"name": "ENABLE_ACCOUNT_SIGNUP",
"label": "ENABLE_ACCOUNT_SIGNUP",
"description": "Leave true for onboarding; set false once your team is in.",
"default": "true"
},
{
"name": "FRONTEND_URL",
"label": "FRONTEND_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "MAILER_SENDER_EMAIL",
"label": "MAILER_SENDER_EMAIL",
"description": "Agent notifications + transactional email (mailpit for testing).",
"default": "Chatwoot <support@example.com>"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"description": "Alphanumeric only: head /dev/urandom | tr -dc A-Za-z0-9 | head -c 63"
},
{
"name": "SMTP_ADDRESS",
"label": "SMTP_ADDRESS"
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_USERNAME",
"label": "SMTP_USERNAME"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 91
},
{
"categories": [
"Monitoring"
],
"description": "Open Source solution for seamless, real-time monitoring of full-stack systems, applications, and infrastructure. Provides deep insights across servers, applications, and services with uptime monitoring, SSL tracking, and infrastructure metrics.",
"logo": "https://camo.githubusercontent.com/aa94c14278d8f68ddf6466f69f6dedac445f6320eb3ec562c3eae760e0052719/68747470733a2f2f7075622d34613430363233303330323034343566386632383961326665653834663965382e72322e6465762f696d616765732f7365727665722d64657461696c2d706167652e706e67",
"name": "checkcle",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/checkcle.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "CheckCle",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 92
},
{
"categories": [
"Network"
],
"description": "An open source uptime and infrastructure monitoring application.",
"logo": "https://docs.checkmate.so/~gitbook/image?url=https%3A%2F%2F417506262-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Forganizations%252FbSM5aZr0UvTUpL4NJpSj%252Fsites%252Fsite_47uuo%252Ficon%252Fwj0lMFzW30pTtvtrrGT7%252FFrame%252028.png%3Falt%3Dmedia%26token%3D252566cf-b036-48ae-b73b-251b67d4f1c5&width=32&dpr=3&quality=100&sign=5c378a81&sv=2",
"name": "checkmate",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/checkmate.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Checkmate",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 93
},
{
"categories": [
"Tools",
"Photos"
],
"description": "Chevereto is a powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. Please note that this offers only the free Chevereto version.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "CHEVERETO_DB_HOST",
"name": "CHEVERETO_DB_HOST",
"default": "",
"preset": true
},
{
"label": "CHEVERETO_DB_USERNAME",
"name": "CHEVERETO_DB_USERNAME",
"default": "",
"preset": true
},
{
"label": "CHEVERETO_DB_PASSWORD",
"name": "CHEVERETO_DB_PASSWORD",
"default": "",
"preset": true
},
{
"label": "CHEVERETO_DB_NAME",
"name": "CHEVERETO_DB_NAME",
"default": "",
"preset": true
},
{
"label": "CHEVERETO_DB_PREFIX",
"name": "CHEVERETO_DB_PREFIX",
"default": "",
"preset": true
}
],
"image": "nmtan/chevereto:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/Chevereto.png",
"name": "Chevereto",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Chevereto",
"type": 1,
"volumes": [
{
"container": "/var/www/html/images"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 94
},
{
"categories": [
"File Browsers"
],
"description": "Chibisafe is a modern and self-hosted take on file uploading services that can handle anything you throw at it thanks to it's robust and fast API, chunked uploads support and more.",
"logo": "https://chibisafe.moe/logo.svg",
"name": "chibisafe",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/chibisafe.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Chibisafe",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 95
},
{
"categories": [
"Employee"
],
"description": "ChiefOnboarding is a free and open source employee onboarding platform. You can onboarding new hires through Slack or the dashboard.",
"logo": "https://chiefonboarding.com/wp-content/uploads/2022/07/ChiefOnBoarding-768x138.png",
"name": "chiefonboarding",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/chiefonboarding.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Chiefonboarding",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 96
},
{
"categories": [
"Tools"
],
"description": "Have recipes in seconds with plain text formatting and create beatiful recipe pages with automated ease.",
"image": "gregyankovoy/chowdown:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/chowdown.png",
"name": "Chowdown",
"platform": "linux",
"ports": [
"4000:4000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Chowdown",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Chowdown"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 97
},
{
"type": 3,
"title": "ChromaDB",
"name": "chromadb",
"description": "Chroma vector database, single container + volume, internal-only (Chroma has no built-in auth; the project network is the boundary, like the MongoDB template).",
"categories": [
"Search Vectors"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "chromadb/compose.yaml"
},
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 98
},
{
"id": 99,
"type": 1,
"title": "Chrome",
"name": "Chrome",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/chrome/config</p>",
"description": "[Chrome](https://www.google.com/chrome/) is the official web browser from Google, built to be fast, secure, and customizable.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chrome-logo.png",
"image": "linuxserver/chrome:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CHROME_CLI",
"label": "CHROME_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chrome CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/chrome/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 100,
"type": 1,
"title": "Chromium",
"name": "Chromium",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/chromium/config</p>",
"description": "[Chromium](https://www.chromium.org/chromium-projects/) is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/chromium-logo.png",
"image": "linuxserver/chromium:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CHROME_CLI",
"label": "CHROME_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/chromium/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronise the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.",
"env": [
{
"default": "0",
"label": "LOG_LEVEL",
"name": "LOG_LEVEL"
},
{
"description": "Additional Example: time1.google.com,time2.google.com,time3.google.com,time4.google.com",
"default": "time.cloudflare.com",
"label": "NTP_SERVERS",
"name": "NTP_SERVERS"
}
],
"image": "cturra/ntp:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/chrony.png",
"name": "chrony-ntp",
"platform": "linux",
"ports": [
"123:123/udp"
],
"restart_policy": "unless-stopped",
"title": "Chrony NTP",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/cturra/docker-ntp\" target=\"_blank\">https://github.com/cturra/docker-ntp</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/cturra/docker-ntp/blob/main/README.md\" target=\"_blank\">https://github.com/cturra/docker-ntp/blob/main/README.md</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 101
},
{
"categories": [
"Other",
"Anitvirus"
],
"description": "ClamAV\u00ae is an open source antivirus engine for detecting trojans, viruses, malware & other malicious threats.",
"image": "mkodockx/docker-clamav:alpine",
"logo": "http://www.clamav.net/assets/clamav-trademark.png",
"name": "clamav",
"platform": "linux",
"ports": [
"3310:3310/tcp"
],
"restart_policy": "unless-stopped",
"title": "Clamav",
"type": 1,
"volumes": [
{
"container": "/etc/timezone",
"bind": "/etc/timezone"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
},
{
"container": "/etc/clamav",
"bind": "/portainer/Files/AppData/Config/clamav/config"
},
{
"container": "/var/lib/clamav",
"bind": "/portainer/Files/AppData/Config/clamav/virus_definitions"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://docs.clamav.net/\" target=\"_blank\">https://docs.clamav.net/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/mkodockx/docker-clamav\" target=\"_blank\">https://hub.docker.com/r/mkodockx/docker-clamav</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_clamav.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_clamav.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 102
},
{
"type": 3,
"title": "ClickHouse Cluster",
"name": "clickhouse",
"description": "3-node ClickHouse cluster, one shard, three replicas, with embedded ClickHouse Keeper (no separate ZooKeeper pods). Internal-only; 20 GB per node.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "clickhouse/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/clickhouse.png",
"env": [
{
"name": "CLICKHOUSE_PASSWORD",
"label": "CLICKHOUSE_PASSWORD",
"description": "Password for the `app` user (admin rights via access management)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 103
},
{
"type": 1,
"name": "cloudcmd",
"title": "Cloud Commander",
"description": "Cloud Commander a file manager for the web with console and editor.",
"logo": "https://mediadepot.github.io/templates/img/cloudcmd-logo.png",
"image": "coderaiser/cloudcmd:latest",
"categories": [
"Documents",
"Other",
"Tools"
],
"ports": [
"8000/tcp"
],
"volumes": [
{
"container": "/media/host/opt/mediadepot",
"bind": "/opt/mediadepot/apps"
},
{
"container": "/media/host/media/storage",
"bind": "/media/storage"
},
{
"container": "/media/host/media/temp",
"bind": "/media/temp"
}
],
"env": [],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.cloudcmd.loadbalancer.server.port",
"value": "8000"
},
{
"name": "traefik.http.routers.cloudcmd.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.cloudcmd.tls.certresolver",
"value": "mydnschallenge"
},
{
"name": "traefik.http.routers.cloudcmd.middlewares",
"value": "authme"
},
{
"name": "traefik.http.middlewares.authme.forwardauth.address",
"value": "http://authelia:9091/api/verify?rd=https://login.${DEPOT_DOMAIN_NAME}/"
},
{
"name": "traefik.http.middlewares.authme.forwardauth.trustforwardheader",
"value": "true"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 104
},
{
"categories": [
"Database",
"Tools"
],
"description": "Cloud database manager providing a web interface for working with various databases. Source: https://github.com/dbeaver/cloudbeaver",
"env": [],
"image": "dbeaver/cloudbeaver:latest",
"logo": "https://avatars.githubusercontent.com/u/34743864",
"name": "cloudbeaver",
"platform": "linux",
"ports": [
"8978:8978/tcp"
],
"restart_policy": "unless-stopped",
"title": "CloudBeaver",
"type": 1,
"volumes": [
{
"container": "/opt/cloudbeaver/workspace"
}
],
"id": 105
},
{
"categories": [
"DNS",
"Tools"
],
"description": "A robust Cloudflare DDNS updater with a small footprint. The program will detect your machine's public IP addresses and update DNS records using the Cloudflare API.",
"env": [
{
"default": "",
"label": "CLOUDFLARE_API_TOKEN",
"name": "CLOUDFLARE_API_TOKEN"
},
{
"default": "",
"label": "DOMAINS (Comma Separated List)",
"name": "DOMAINS"
},
{
"default": "true",
"label": "PROXIED",
"name": "PROXIED"
}
],
"image": "favonia/cloudflare-ddns:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/cloudflare-ddns.png",
"name": "cloudflare-ddns",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Cloudflare DDNS",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.cloudflare.com/en-gb/learning/dns/glossary/dynamic-dns/\" target=\"_blank\">https://www.cloudflare.com/en-gb/learning/dns/glossary/dynamic-dns/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/favonia/cloudflare-ddns/\" target=\"_blank\">https://github.com/favonia/cloudflare-ddns/</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 106
},
{
"categories": [
"Networking",
"Tools"
],
"description": "A docker image that packages both cloudflared cli and a simple Web UI to easily start or stop remotely-managed Cloudflare tunnel. Source: https://github.com/WisdomSky/Cloudflared-web",
"env": [
{
"default": "14333",
"label": "Web UI port",
"name": "WEBUI_PORT"
},
{
"default": "admin",
"label": "Web UI username",
"name": "BASIC_AUTH_USER"
},
{
"default": "",
"label": "Web UI password (set to protect the tunnel controls)",
"name": "BASIC_AUTH_PASS"
}
],
"image": "wisdomsky/cloudflared-web:latest",
"logo": "https://raw.githubusercontent.com/WisdomSky/Cloudflared-web/refs/heads/main/app/frontend/public/cloudflare.ico",
"name": "cloudflared-web",
"network": "host",
"platform": "linux",
"ports": [],
"restart_policy": "unless-stopped",
"title": "Cloudflared-web",
"type": 1,
"volumes": [
{
"container": "/config"
}
],
"id": 107
},
{
"id": 108,
"type": 1,
"title": "Cloudreve",
"name": "cloudreve",
"description": "Cloud drive for your own files, with share links, WebDAV, previews for documents, photos and video, and offline downloads. Source: https://github.com/cloudreve/cloudreve",
"categories": [
"Cloud",
"File Sharing",
"Storage"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/cloudreve/frontend/master/public/static/img/logo512.png",
"image": "cloudreve/cloudreve:v4",
"restart_policy": "unless-stopped",
"ports": [
"5212:5212/tcp"
],
"volumes": [
{
"container": "/cloudreve/data"
}
],
"note": "Open <code>http://&lt;your-host&gt;:5212</code> and sign up. The first account becomes the admin, and sign-ups stay open after that, so turn them off under Admin panel --&gt; Settings --&gt; User session if it's just you. Open the Admin panel from the address you'll actually use, too. It offers to save that as the Site URL, and until you say yes, download and share links point at localhost. The database, settings and every uploaded file live in the volume. Docs: <a href=\"https://docs.cloudreve.org/en/\" target=\"_blank\">docs.cloudreve.org</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 1,
"title": "Cockpit {shmolf}",
"name": "cockpit-cms",
"categories": [
"CMS"
],
"description": "Cockpit is a headless CMS with an API-first approach that puts content first.",
"note": "Link to <a target='_blank' href='https://v1.getcockpit.com/'>Official documentation \ud83d\uddd7</a>.<br>After deployment, continue to setup by visiting <a target='_blank' href='http://localhost:8088/install'>http://localhost:8088/install</a>",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/cockpit.svg",
"platform": "linux",
"image": "agentejo/cockpit:latest",
"ports": [
"8088:80/tcp"
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 109
},
{
"type": 1,
"title": "CockroachDB (container)",
"description": "An open-source, survivable, strongly consistent, scale-out SQL database",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cockroachdb.png",
"image": "cockroachdb/cockroach:latest",
"ports": [
"26257/tcp",
"8080/tcp"
],
"volumes": [
{
"container": "/cockroach/cockroach-data"
}
],
"command": "start --insecure",
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 110
},
{
"type": 3,
"title": "CockroachDB (stack)",
"description": "CockroachDB cluster",
"note": "Deploys an insecure CockroachDB cluster, please refer to <a href=\"https://www.cockroachlabs.com/docs/stable/orchestrate-cockroachdb-with-docker-swarm.html\" target=\"_blank\">CockroachDB documentation</a> for production deployments.",
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"repository": {
"url": "https://github.com/mikestraney/portainer-templates",
"stackfile": "stacks/cockroachdb/edge/docker-stack.yml"
},
"categories": [
"edge"
],
"id": 111
},
{
"id": 112,
"type": 2,
"title": "CockroachDB (swarm)",
"description": "CockroachDB cluster",
"note": "Deploys an insecure CockroachDB cluster, please refer to <a href=\"https://www.cockroachlabs.com/docs/stable/orchestrate-cockroachdb-with-docker-swarm.html\" target=\"_blank\">CockroachDB documentation</a> for production deployments.",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cockroachdb.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/cockroachdb/docker-stack.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 113,
"type": 1,
"title": "Code-server (container)",
"name": "Code-server",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/code-server/config</p>",
"description": "[Code-server](https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png",
"image": "linuxserver/code-server:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PASSWORD",
"label": "PASSWORD",
"default": "password",
"description": "Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth. [OPTIONAL]"
},
{
"name": "HASHED_PASSWORD",
"label": "HASHED_PASSWORD",
"default": "",
"description": "Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below. [OPTIONAL]"
},
{
"name": "SUDO_PASSWORD",
"label": "SUDO_PASSWORD",
"default": "password",
"description": "If this optional variable is set, user will have sudo access in the code-server terminal with the specified password. [OPTIONAL]"
},
{
"name": "SUDO_PASSWORD_HASH",
"label": "SUDO_PASSWORD_HASH",
"default": "",
"description": "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. [OPTIONAL]"
},
{
"name": "PROXY_DOMAIN",
"label": "PROXY_DOMAIN",
"default": "code-server.my.domain",
"description": "If this optional variable is set, this domain will be proxied for subdomain proxying. See [Documentation](https://github.com/coder/code-server/blob/main/docs/guide.md#using-a-subdomain) [OPTIONAL]"
},
{
"name": "DEFAULT_WORKSPACE",
"label": "DEFAULT_WORKSPACE",
"default": "/config/workspace",
"description": "If this optional variable is set, code-server will open this directory by default [OPTIONAL]"
},
{
"name": "PWA_APPNAME",
"label": "PWA_APPNAME",
"default": "code-server",
"description": "If this optional variable is set, the PWA app will the specified name. [OPTIONAL]"
}
],
"ports": [
"8443:8443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/code-server/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "code-server (stack)",
"name": "code-server",
"description": "code-server - VS Code in the browser: a persistent cloud development environment with your extensions, terminal, and a 10 GB home volume, reachable from any device.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "code-server/compose.yaml"
},
"env": [
{
"name": "PASSWORD",
"label": "PASSWORD",
"description": "Browser login password."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 114
},
{
"type": 1,
"title": "Code-server {shmolf}",
"name": "code-server",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a> based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>This will bind to the following directory on the host filesystem:</p><p><code>/portainer/Files/AppData/Config/code-server</code></p><ul><li>Proxy Domain: See <a href='https://github.com/cdr/code-server/blob/master/docs/FAQ.md#sub-domains' target='_blank'>Documentation \ud83d\uddd7</a></li><li>Timezones: See <a href='https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List' target='_blank'>list \ud83d\uddd7</a></li></ul>",
"description": "Code-server (https://coder.com) is VS Code running on a remote server, accessible through the browser. - Code on your Chromebook, tablet, and laptop with a consistent dev environment. - If you have a Windows or Mac workstation, more easily develop for Linux. - Take advantage of large cloud servers to speed up tests, compilations, downloads, and more. - Preserve battery life when you're on the go. - All intensive computation runs on your server. - You're no longer running excess instances of Chrome.",
"categories": [
"Development"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/code-server-banner.png",
"image": "linuxserver/code-server:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "for UserID"
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "for GroupID"
},
{
"name": "TZ",
"label": "TZ",
"default": "Europe/Amsterdam",
"description": "specify a timezone to use"
},
{
"name": "PASSWORD",
"label": "PASSWORD",
"default": "password",
"description": "Optional web gui password, if `PASSWORD` or `HASHED_PASSWORD` is not provided, there will be no auth."
},
{
"name": "HASHED_PASSWORD",
"label": "HASHED_PASSWORD",
"default": "",
"description": "Optional web gui password, overrides `PASSWORD`, instructions on how to create it is below."
},
{
"name": "SUDO_PASSWORD",
"label": "SUDO_PASSWORD",
"default": "password",
"description": "If this optional variable is set, user will have sudo access in the code-server terminal with the specified password."
},
{
"name": "SUDO_PASSWORD_HASH",
"label": "SUDO_PASSWORD_HASH",
"default": "",
"description": "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`."
},
{
"name": "PROXY_DOMAIN",
"label": "PROXY_DOMAIN",
"default": "code-server.my.domain",
"description": "If this optional variable is set, this domain will be proxied for subdomain proxying."
},
{
"name": "DEFAULT_WORKSPACE",
"label": "DEFAULT_WORKSPACE",
"default": "/config/workspace",
"description": "If this optional variable is set, code-server will open this directory by default"
}
],
"ports": [
"8443:8443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/code-server"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 115
},
{
"categories": [
"Ebooks"
],
"description": "Codex is a web server comic book browser and reader.",
"logo": "https://github.com/ajslater/codex/raw/main/codex/static_src/img/logo.svg",
"name": "codex",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/codex.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Codex",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 116
},
{
"categories": [
"Productivity"
],
"description": "Codiad is a web-based IDE framework with a small footprint and minimal requirements.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/codiad:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/codiad-icon.png",
"name": "codiad",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Codiad",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Codiad"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 117
},
{
"type": 3,
"title": "Cognee",
"name": "cognee",
"description": "Cognee - the memory engine for AI agents: ingest documents, chats, and data; cognify them into a knowledge graph + vector index; query the result as long-term memory.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "cognee/compose.yaml"
},
"env": [
{
"name": "CORS_ALLOWED_ORIGINS",
"label": "CORS_ALLOWED_ORIGINS"
},
{
"name": "EMBEDDING_ENDPOINT",
"label": "EMBEDDING_ENDPOINT"
},
{
"name": "EMBEDDING_MODEL",
"label": "EMBEDDING_MODEL",
"default": "openai/text-embedding-3-large"
},
{
"name": "EMBEDDING_PROVIDER",
"label": "EMBEDDING_PROVIDER",
"default": "openai"
},
{
"name": "FASTAPI_USERS_JWT_SECRET",
"label": "FASTAPI_USERS_JWT_SECRET",
"description": "Override the insecure default."
},
{
"name": "LLM_API_KEY",
"label": "LLM_API_KEY",
"description": "The only hard requirement - LLM access for fact extraction."
},
{
"name": "LLM_ENDPOINT",
"label": "LLM_ENDPOINT"
},
{
"name": "LLM_MODEL",
"label": "LLM_MODEL",
"default": "openai/gpt-4o-mini"
},
{
"name": "LLM_PROVIDER",
"label": "LLM_PROVIDER",
"description": "OpenAI default; or route through the litellm template: LLM_PROVIDER=custom LLM_ENDPOINT=http://litellm:5000/v1 LLM_MODEL=openai/<model-name-in-litellm>",
"default": "openai"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 118
},
{
"id": 119,
"type": 1,
"title": "CommaFeed",
"name": "commafeed",
"description": "RSS reader in the style of Google Reader, with four layouts, keyboard shortcuts for nearly everything, rules that mark entries as read, OPML import and the Fever and Google Reader APIs for mobile apps. Source: https://github.com/Athou/commafeed",
"categories": [
"Productivity",
"Social"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Athou/commafeed/master/commafeed-client/src/assets/logo.svg",
"image": "athou/commafeed:latest-h2",
"restart_policy": "unless-stopped",
"ports": [
"8082:8082/tcp"
],
"volumes": [
{
"container": "/commafeed/data"
}
],
"env": [
{
"name": "QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY",
"label": "Session key",
"description": "Keeps you logged in when it restarts. At least 16 characters, generate one with: openssl rand -hex 16. Leave it blank and every restart or update logs everyone out."
}
],
"note": "Open <code>http://&lt;your-host&gt;:8082</code> and the first page creates the admin account. There's no setup code, so do it straight after deploying. Sign-ups are off, so the admin adds everyone else from the user menu --&gt; Manage users. It won't subscribe to feeds on private addresses, so for one on your own network add <code>COMMAFEED_HTTP_CLIENT_BLOCK_LOCAL_ADDRESSES=false</code> to the environment, but only if you trust everyone using it. Mobile apps log in with your username and an API key, which you make at the bottom of Settings --&gt; Profile, where the Fever and Google Reader addresses are too. Everything lives in the H2 database in the volume. Docs: <a href=\"https://athou.github.io/commafeed/documentation\" target=\"_blank\">athou.github.io/commafeed</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 120,
"type": 1,
"title": "CommandBox",
"description": "ColdFusion (CFML) CLI",
"categories": [
"Development"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ortussolutions-commandbox.png",
"image": "ortussolutions/commandbox:latest",
"env": [
{
"name": "CFENGINE",
"default": "lucee@4.5",
"preset": true
}
],
"ports": [
"8080/tcp",
"8443/tcp"
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 121,
"type": 1,
"title": "ContentBox",
"description": "Open-source modular CMS",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ortussolutions-contentbox.png",
"image": "ortussolutions/contentbox:latest",
"env": [
{
"name": "express",
"default": "true",
"preset": true
},
{
"name": "install",
"default": "true",
"preset": true
},
{
"name": "CFENGINE",
"default": "lucee@4.5",
"preset": true
}
],
"ports": [
"8080/tcp",
"8443/tcp"
],
"volumes": [
{
"container": "/data/contentbox/db"
},
{
"container": "/app/includes/shared/media"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 122,
"type": 1,
"title": "ConvertX",
"name": "convertx",
"description": "File converter for over a thousand formats, covering images, documents, audio, video and ebooks. Source: https://github.com/C4illin/ConvertX",
"categories": [
"Tools",
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/C4illin/ConvertX/main/public/apple-touch-icon.png",
"image": "ghcr.io/c4illin/convertx:latest",
"restart_policy": "unless-stopped",
"ports": [
"3000:3000/tcp"
],
"volumes": [
{
"container": "/app/data"
}
],
"env": [
{
"name": "HTTP_ALLOWED",
"label": "Opening it over plain http?",
"description": "ConvertX only sends its login cookie over HTTPS unless this is on. Switch it off once it's behind a reverse proxy with HTTPS.",
"select": [
{
"text": "Yes, plain http",
"value": "true",
"default": true
},
{
"text": "No, it's behind HTTPS",
"value": "false"
}
]
},
{
"name": "AUTO_DELETE_EVERY_N_HOURS",
"label": "Delete converted files after (hours)",
"default": "24"
},
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:3000</code> and create your account straight away, since the first visitor gets it and sign-ups close after that. Uploads and the database live in the <code>/app/data</code> volume. It's a big image (LibreOffice, TeX and Calibre are all in there), so the first pull takes a while. You'll be logged out whenever the container restarts, unless you add a <code>JWT_SECRET</code> env var holding a long random string (<code>openssl rand -hex 32</code>). Docs: <a href=\"https://github.com/C4illin/ConvertX#readme\" target=\"_blank\">github.com/C4illin/ConvertX</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Convex",
"name": "convex",
"description": "Convex backend-as-a-service, self-hosted: reactive database + functions + scheduler, with the dashboard. SQLite state on a volume; the open-source backend serves one deployment.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "convex/compose.yaml"
},
"env": [
{
"name": "CONVEX_CLOUD_ORIGIN",
"label": "CONVEX_CLOUD_ORIGIN",
"description": "Local: the proxies' published ports.",
"default": "http://127.0.0.1:5000"
},
{
"name": "CONVEX_SITE_ORIGIN",
"label": "CONVEX_SITE_ORIGIN",
"default": "http://127.0.0.1:5001"
},
{
"name": "INSTANCE_NAME",
"label": "INSTANCE_NAME",
"default": "convex-self-hosted"
},
{
"name": "INSTANCE_SECRET",
"label": "INSTANCE_SECRET"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 123
},
{
"id": 124,
"type": 1,
"title": "Cops",
"name": "Cops",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/cops/config<br>mkdir -p /srv/lsio/cops/books</p>",
"description": "[Cops](https://github.com/mikespub-org/seblucas-cops) by S\u00e9bastien Lucas, now maintained by MikesPub, stands for Calibre OPDS (and HTML) Php Server. COPS links to your Calibre library database and allows downloading and emailing of books directly from a web browser and provides a OPDS feed to connect to your devices. Changes in your Calibre library are reflected immediately in your COPS pages. See : [COPS's home](https://github.com/mikespub-org/seblucas-cops) for more details. Don't forget to check the [Wiki](https://github.com/mikespub-org/seblucas-cops/wiki). ## Why? (taken from the author's site) In my opinion Calibre is a marvelous tool but is too big and has too much dependencies to be used for its content server. That's the main reason why I coded this OPDS server. I needed a simple tool to be installed on a small server (Seagate Dockstar in my case). I initially thought of Calibre2OPDS but as it generate static file no search was possible. Later I added an simple HTML catalog that should be usable on my Kobo. So COPS's main advantages are : * No need for many dependencies. * No need for a lot of CPU or RAM. * Not much code. * Search is available. * With Dropbox / owncloud it's very easy to have an up to date OPDS server. * It was fun to code. If you want to use the OPDS feed don't forget to specify /feed at the end of your URL.",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/cops-icon.png",
"image": "linuxserver/cops:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/cops/config"
},
{
"container": "/books",
"bind": "/srv/lsio/cops/books"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 125,
"type": 3,
"title": "copyparty",
"name": "copyparty",
"description": "File server in one Python app, with resumable uploads, thumbnails, search and a music player in the browser, plus WebDAV for mounting it as a drive. Source: https://github.com/9001/copyparty",
"categories": [
"File Sharing",
"Storage"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/9001/copyparty/hovudstraum/docs/logo-sq.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "COPYPARTY_PASSWORD",
"label": "Password (required)",
"description": "What you'll log in with. Anything long and hard to guess, or generate one with: openssl rand -hex 16"
},
{
"name": "COPYPARTY_PORT",
"label": "Host port for the web UI",
"default": "3923"
}
],
"note": "Set the <b>password</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:3923</code> (or whichever port you picked) and you'll land on a login box that only wants the password, no username. Logged in, you can upload, make folders, move, delete and see everything, while anyone else just gets that login box (upstream's own default is read-write for everyone). Files live in the <code>copyparty-files</code> volume, and the search index, thumbnails and logins live in <code>copyparty-config</code>. WebDAV clients connect to the same address, with any username and that password. Its <i>switch to https</i> button uses a certificate built into every copyparty, so it's no real protection, and a reverse proxy is the way to get proper HTTPS. Docs: <a href=\"https://github.com/9001/copyparty#readme\" target=\"_blank\">github.com/9001/copyparty</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/copyparty/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Downloaders",
"Video"
],
"description": "CouchPotato (CP) is an automatic NZB and torrent downloader. You can keep a \"movies I want\"-list and it will search for NZBs/torrents of these movies every X hours. Once a movie is found, it will send it to SABnzbd or download the torrent to a specified directory.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/couchpotato:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/couchpotato-icon.png",
"name": "couchpotato",
"platform": "linux",
"ports": [
"5050:5050/tcp"
],
"restart_policy": "unless-stopped",
"title": "CouchPotato",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Couchpotato"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/movies",
"bind": "/portainer/Movies"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 126
},
{
"id": 127,
"type": 1,
"title": "Craft-apps",
"name": "Craft-apps",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/craft-apps/config</p>",
"description": "[ArtCraft](https://getartcraft.com/) is a suite of open source creative applications written in Rust. This image bundles PhotoCraft (image editor), VectorCraft (vector illustration), FilmCraft (video editor), LightCraft (photo library and raw developer), PdfCraft (PDF workbench), EffectCraft (motion graphics and VFX compositor), DesignCraft (page layout and publishing) and FigCraft (interface design and prototyping) in a single desktop.",
"categories": [
"Image Editor",
"Video Editor",
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/artcraft-logo.png",
"image": "linuxserver/craft-apps:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/craft-apps/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 128,
"type": 1,
"title": "CrateDB",
"description": "An open-source distributed SQL database",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cratedb.png",
"image": "crate:latest",
"ports": [
"4200/tcp",
"4300/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Cronicle",
"name": "cronicle",
"description": "Cronicle, a cron replacement with a web UI: schedules, run history, chaining, retries, and alerts. Single container, two small volumes (job data + logs).",
"categories": [
"Automation Jobs"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "cronicle/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/cronicle.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 129
},
{
"categories": [
"Cyber Security"
],
"description": "A modern, responsive web interface for managing CrowdSec alerts and decisions. Built with React, Vite, Bun, and Tailwind CSS.",
"logo": "https://github.com/TheDuffman85/crowdsec-web-ui/raw/main/frontend/public/logo.svg",
"name": "crowdsec-web-ui",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/crowdsec-web-ui.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Crowdsec WEB UI",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 130
},
{
"categories": [
"Dashboard",
"Crypto",
"Finance"
],
"description": "Cryptofolio is an open-source, and self-hosted solution for tracking your cryptocurrency holdings. It features a web interface, an Android mobile app, and a cross-platform desktop application for Windows, macOS, and Linux.",
"image": "xtrendence/cryptofolio:latest",
"logo": "https://i.imgur.com/5v8lzea.png",
"name": "cryptofolio",
"platform": "linux",
"ports": [
"7280:80/tcp"
],
"restart_policy": "always",
"title": "Cryptofolio",
"type": 1,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 131
},
{
"categories": [
"Productivity",
"Cloud"
],
"description": "Collaboration suite, encrypted and open-source. Source: https://github.com/cryptpad/cryptpad",
"env": [
{
"default": "https://cryptpad.example.com",
"label": "Main domain (full URL) \u2014 your public CryptPad address",
"name": "CPAD_MAIN_DOMAIN"
},
{
"default": "https://cryptpad-ui.example.com",
"label": "Sandbox domain (full URL) \u2014 MUST be a DIFFERENT origin from the main domain",
"name": "CPAD_SANDBOX_DOMAIN"
}
],
"logo": "https://avatars.githubusercontent.com/u/20967956",
"name": "cryptpad",
"note": "CryptPad requires two DIFFERENT domains/origins (main + sandbox) fronted by a reverse proxy that forwards to port 3000 \u2014 mandatory for its XSS sandboxing. Set both to real, distinct domains before deploying.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/cryptpad.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "CryptPad",
"type": 3,
"id": 132
},
{
"id": 133,
"type": 1,
"title": "Cura",
"name": "Cura",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/cura/config</p>",
"description": "[UltiMaker Cura](https://ultimaker.com/software/ultimaker-cura/) is free, easy-to-use 3D printing software trusted by millions of users. Fine-tune your 3D model with 400+ settings for the best slicing and printing results.",
"categories": [
"3D Printing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/cura-logo.png",
"image": "linuxserver/cura:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/cura/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 134,
"type": 1,
"title": "CyberChef",
"name": "cyberchef",
"description": "Web app for encoding, decoding, encrypting, compressing and picking apart data, by chaining hundreds of small operations into a recipe. Source: https://github.com/gchq/CyberChef",
"categories": [
"Security",
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef_512.png",
"image": "ghcr.io/gchq/cyberchef:11",
"restart_policy": "unless-stopped",
"ports": [
"8088:8080/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8088</code>. There's no login and nothing to back up, since every recipe runs in your browser and your data never reaches the server. Recipes live in the URL, so bookmark or share that to keep one. Docs: <a href=\"https://github.com/gchq/CyberChef/wiki\" target=\"_blank\">github.com/gchq/CyberChef/wiki</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Music"
],
"description": "DAAP (iTunes) media server with support for AirPlay devices, Apple Remote (and compatibles), MPD and internet radio.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/daapd:latest",
"logo": "https://raw.githubusercontent.com/linuxserver/beta-templates/master/lsiodev/img/daapd-icon.png",
"name": "daapd",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Daapd",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Daapd"
},
{
"container": "/music",
"bind": "/portainer/Music"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 135
},
{
"categories": [
"Automation",
"Tools"
],
"description": "A powerful, self-contained DAG-based job scheduler with a web UI, YAML definitions, and no dependencies. Source: https://github.com/dagu-org/dagu",
"env": [],
"image": "ghcr.io/dagu-org/dagu:latest",
"logo": "https://avatars.githubusercontent.com/u/131097250",
"name": "dagu",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Dagu",
"type": 1,
"volumes": [
{
"container": "/var/lib/dagu"
}
],
"id": 136
},
{
"id": 137,
"type": 1,
"title": "Darktable",
"name": "Darktable",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/darktable/config</p>",
"description": "[darktable](https://www.darktable.org/) is an open source photography workflow application and raw developer. A virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them.",
"categories": [
"Photos"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/darktable-logo.png",
"image": "linuxserver/darktable:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/darktable/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"System"
],
"description": "Dashdot is a modern server dashboard, running on the latest tech, designed with glassmorphism in mind. It is intended to be used for smaller VPS and private servers.",
"logo": "https://getdashdot.com/img/logo512.png",
"name": "dashdot",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dashdot.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Dashdot",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 138
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "Another application bookmark , with fun features.",
"image": "rmountjoy/dashmachine:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/dashmachine_logo.png",
"name": "dashmachine",
"platform": "linux",
"ports": [
"5000:5000/tcp"
],
"restart_policy": "unless-stopped",
"title": "DashMachine",
"type": 1,
"volumes": [
{
"container": "/dashmachine/dashmachine/user_data",
"bind": "/portainer/Files/AppData/Config/Dashmachine"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 139
},
{
"categories": [
"Dashboard",
"Tools"
],
"description": "The ultimate personal dashboard, keep all your self-hosted services and websites organized. Includes live status monitoring, widgets, icons, themes, 30+ languages, instant search, multi-page support, UI editor, authentication and more. GitHub: [lissy93/dashy](https://github.com/lissy93/dashy)",
"env": [
{
"default": "production",
"label": "Node environment",
"name": "NODE_ENV",
"preset": true
},
{
"default": "UTC",
"label": "Timezone, e.g. Europe/London (used for logs and time widgets)",
"name": "TZ"
}
],
"image": "lissy93/dashy:latest",
"logo": "https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/logo.png",
"name": "dashy",
"note": "Dashy's main config lives in `/app/user-data/conf.yml`. You can put additional configs, styles, icons, CSS, and other resources in this `user-data` directory too. See the docs at https://dashy.to/docs for more info.",
"platform": "linux",
"ports": [
"4000:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Dashy (container)",
"type": 1,
"volumes": [
{
"container": "/app/user-data"
}
],
"id": 140
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "Helps you organize your self-hosted services by making them accessible from a single place.\n\nSource: https://github.com/lissy93/dashy",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://dashy.to/img/dashy.png",
"name": "Dashy",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dashy.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Dashy (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 141
},
{
"categories": [
"Messaging",
"Social"
],
"description": "A lightweight federated messaging service. Source: https://github.com/balzack/databag",
"env": [
{
"default": "",
"label": "Admin dashboard password",
"name": "DATABAG_ADMIN_PASSWORD"
}
],
"logo": "https://avatars.githubusercontent.com/u/108325695",
"name": "databag",
"note": "After deploy, open the app, click the settings gear, enter your admin password, set the Federated Host, then use the user icon to create account-registration links.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/databag.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Databag",
"type": 3,
"id": 142
},
{
"id": 143,
"type": 1,
"title": "Datadog agent (container)",
"description": "Collect events and metrics",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/datadog_agent.png",
"image": "datadog/agent:latest",
"env": [
{
"name": "DD_API_KEY",
"label": "Datadog API key"
}
],
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock",
"readonly": true
},
{
"container": "/host/sys/fs/cgroup",
"bind": "/sys/fs/cgroup",
"readonly": true
},
{
"container": "/host/proc",
"bind": "/proc",
"readonly": true
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 144,
"title": "Datadog agent (swarm)",
"type": 2,
"categories": [
"Monitoring"
],
"description": "Collect events and metrics",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/datadog_agent.png",
"platform": "linux",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/datadog-agent/docker-stack.yml"
},
"env": [
{
"name": "API_KEY",
"label": "Datadog API key"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Tools"
],
"description": "DaVinci Resolve Postgresql Server, Davinci requires a specific version of postgres db, this container will install the version needed",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "database",
"label": "POSTGRES_DB",
"name": "POSTGRES_DB"
},
{
"default": "postgres",
"label": "POSTGRES_USER",
"name": "POSTGRES_USER"
},
{
"default": "DaVinci",
"label": "POSTGRES_PASSWORD",
"name": "POSTGRES_PASSWORD"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "postgres:13",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/resolve.png",
"name": "DaVinci Postgres Server",
"platform": "linux",
"ports": [
"5432:5432/tcp"
],
"restart_policy": "unless-stopped",
"title": "DaVinci Postgres Server",
"type": 1,
"volumes": [
{
"container": "/var/lib/postgresql/data",
"bind": "/portainer/Files/AppData/Config/DavinciServer/"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/docs/davinci.md\" target=\"_blank\">https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/docs/davinci.md</a><br><b>Official Docker Documentation: </b><a href=\"https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/docs/davinci.md\" target=\"_blank\">https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/docs/davinci.md</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 145
},
{
"id": 146,
"type": 1,
"title": "Davos",
"name": "Davos",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/davos/config<br>mkdir -p /srv/lsio/davos/download</p>",
"description": "[Davos](https://github.com/linuxserver/davos) is an FTP automation tool that periodically scans given host locations for new files. It can be configured for various purposes, including listening for specific files to appear in the host location, ready for it to download and then move, if required. It also supports completion notifications as well as downstream API calls, to further the workflow.",
"categories": [
"FTP"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/davos/master/docs/list.PNG",
"image": "linuxserver/davos:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/davos/config"
},
{
"container": "/download",
"bind": "/srv/lsio/davos/download"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Location Tracking"
],
"description": "Self-Hosted Location History Tracker. | Visualize your location history, track your movements, and analyze your travel patterns with complete privacy and control.",
"logo": "https://dawarich.app/img/logo.svg",
"name": "dawarich",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dawarich.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Dawarich",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 147
},
{
"id": 148,
"type": 3,
"title": "DbGate",
"name": "dbgate",
"description": "Database manager in the browser for PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB, Redis and more: browse and edit tables, write queries, compare schemas, draw diagrams and import or export data. Source: https://github.com/dbgate/dbgate",
"categories": [
"Database",
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/dbgate/dbgate/master/packages/web/public/logo512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "DBGATE_PASSWORD",
"label": "Password (required)",
"description": "For logging in as admin. DbGate has no login at all without one, hence required."
},
{
"name": "DBGATE_PORT",
"label": "Host port for the web UI",
"default": "3600"
}
],
"note": "Set a <b>password</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:3600</code> (or whichever port you picked) and log in as <code>admin</code>. Each browser gets asked once about anonymous usage analytics, which stay off unless you say yes. Add your databases with New Connection, and use <code>dockerhost</code> as the server for one published on the Docker host itself. A restart logs you out, nothing else is lost. Saved connections, queries and uploads live in the <code>dbgate-data</code> volume. Whenever someone opens it, DbGate's server also asks dbgate.cloud for new shared scripts and a premium advert, mentioning which kinds of database you use. Docs: <a href=\"https://docs.dbgate.io/env-variables/\" target=\"_blank\">docs.dbgate.io</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/dbgate/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 149,
"type": 1,
"title": "Ddclient",
"name": "Ddclient",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ddclient/config</p>",
"description": "[Ddclient](https://github.com/ddclient/ddclient) is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider. It was originally written by Paul Burry and is now mostly by wimpunk. It has the capability to update more than just dyndns and it can fetch your WAN-ipaddress in a few different ways.",
"categories": [
"Network",
"DNS"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ddclient-logo.png",
"image": "linuxserver/ddclient:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ddclient/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Music"
],
"description": "Deemix is a deezer downloader built from the ashes of Deezloader Remix.",
"image": "registry.gitlab.com/bockiii/deemix-docker:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/deemix.png",
"name": "deemix",
"note": "Deemix may take a few minutes to install. Be sure to check the logs for details. Refer to <a href='https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken'>this page</a> for userToken details.",
"platform": "linux",
"ports": [
"6595:6595/tcp"
],
"restart_policy": "unless-stopped",
"title": "DeeMix",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/DeeMix"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 150
},
{
"id": 151,
"type": 1,
"title": "Deluge",
"name": "Deluge",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/deluge/config<br>mkdir -p /srv/lsio/deluge/downloads</p>",
"description": "[Deluge](http://deluge-torrent.org/) is a lightweight, Free Software, cross-platform BitTorrent client. * Full Encryption * WebUI * Plugin System * Much more...",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/deluge-logo.png",
"image": "linuxserver/deluge:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DELUGE_LOGLEVEL",
"label": "DELUGE_LOGLEVEL",
"default": "error",
"description": "set the loglevel output when running Deluge, default is info for deluged and warning for delgued-web [OPTIONAL]"
}
],
"ports": [
"8112:8112/tcp",
"6881:6881/tcp",
"6881:6881/udp",
"58846:58846/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/deluge/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/deluge/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"VPN",
"Tools"
],
"description": "This container contains OpenVPN and Deluge with a configuration where Deluge is running only when OpenVPN has an active tunnel. It bundles configuration files for many popular VPN providers to make the setup easier.",
"env": [
{
"default": "1001",
"label": "PUID",
"name": "PUID"
},
{
"default": "1001",
"label": "PGID",
"name": "PUID"
},
{
"default": "MULLVAD",
"description": "see https://github.com/sgtsquiggs/docker-deluge-openvpn",
"label": "OPENVPN_PROVIDER",
"name": "OPENVPN_PROVIDER"
},
{
"label": "OPENVPN_USERNAME",
"name": "OPENVPN_USERNAME"
},
{
"label": "OPENVPN_PASSWORD",
"name": "OPENVPN_PASSWORD"
}
],
"image": "sgtsquiggs/deluge-openvpn:latest",
"name": "deluge-openvpn",
"platform": "linux",
"ports": [
"8112:8112/tcp"
],
"restart_policy": "unless-stopped",
"title": "Deluge openvpn",
"type": 1,
"volumes": [
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/DelugeOpenVPN/config"
}
],
"maintainer": "https://github.com/SelfhostedPro/selfhosted_templates/",
"id": 152
},
{
"type": 3,
"title": "Dify",
"name": "dify",
"description": "Dify - the LLM application platform: a visual builder for chatbots, agents, and workflows, with built-in RAG, model management, and observability.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "dify/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/dify.png",
"env": [
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD"
},
{
"name": "INNER_API_KEY",
"label": "INNER_API_KEY"
},
{
"name": "PLUGIN_DAEMON_KEY",
"label": "PLUGIN_DAEMON_KEY"
},
{
"name": "QDRANT_API_KEY",
"label": "QDRANT_API_KEY"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
},
{
"name": "SANDBOX_API_KEY",
"label": "SANDBOX_API_KEY"
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 153
},
{
"id": 154,
"type": 1,
"title": "Digikam",
"name": "Digikam",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/digikam/config</p>",
"description": "[digiKam](https://www.digikam.org/): Professional Photo Management with the Power of Open Source",
"categories": [
"Photos"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/digikam.png",
"image": "linuxserver/digikam:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/digikam/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Directus",
"name": "directus",
"description": "Directus 11 - an instant headless CMS and REST/GraphQL API over Postgres, with a data studio your editors will actually enjoy. One app container + a managed Postgres + an uploads volume.",
"categories": [
"CMS Publishing"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "directus/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png",
"env": [
{
"name": "ADMIN_EMAIL",
"label": "ADMIN_EMAIL",
"description": "Bootstrap admin (applied on first init only).",
"default": "admin@example.com"
},
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "PUBLIC_URL",
"label": "PUBLIC_URL",
"description": "Full public URL (set to the app's https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "SECRET",
"label": "SECRET",
"description": "Session/crypto secret - set explicitly so sessions survive restarts."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 155
},
{
"id": 156,
"type": 1,
"title": "Diskover (container)",
"name": "Diskover",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/diskover/config<br>mkdir -p /srv/lsio/diskover/data</p>",
"description": "[Diskover](https://github.com/diskoverdata/diskover-community) is an open source file system indexer that uses Elasticsearch to index and manage data across heterogeneous storage systems.",
"categories": [
"Storage",
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/diskoverdata/diskover-community/master/diskover-web/public/images/diskover.png",
"image": "linuxserver/diskover:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "ES_HOST",
"label": "ES_HOST",
"default": "elasticsearch",
"description": "ElasticSearch host (optional)"
},
{
"name": "ES_PORT",
"label": "ES_PORT",
"default": "9200",
"description": "ElasticSearch port (optional)"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/diskover/config"
},
{
"container": "/data",
"bind": "/srv/lsio/diskover/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Files"
],
"description": "Open-source file indexer, search engine, data analytics and management platform powered by Elasticsearch.\n\nSource: https://github.com/diskoverdata/diskover-community",
"logo": "https://github.com/diskoverdata/diskover-docs/raw/main/source_files/images/diskover_logo_only.png",
"name": "diskover",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/diskover.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Diskover (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 157
},
{
"categories": [
"Tools"
],
"description": "DCM (Docker Compose Maker) is a simple yet powerful tool that helps you create docker-compose.yaml files for your self-hosted applications.",
"logo": "https://github.com/ajnart/dcm/raw/main/public/favicon.png",
"name": "dockercomposemaker",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dockercomposemaker.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Docker Compose maker",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 158
},
{
"categories": [
"Docker"
],
"description": "Docker Container Stats is a web interface for viewing historical and current statistics per docker container (cpu, mem, net i/o, block i/o) - in a docker container.",
"logo": "https://raw.githubusercontent.com/Poeschl/Hassio-Addons/master/container-stats/logo.png",
"name": "Docker Container Stats",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/docker-container-stats.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Docker Container Stats",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 159
},
{
"type": 3,
"title": "Docker Registry",
"name": "docker-registry",
"description": "Your own private container registry - the CNCF Distribution registry (the same engine behind Docker Hub) - with https, basic-auth, and image storage on a Miget Bucket so the service itself holds no state. Listens natively on port 5000.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "docker-registry/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/docker.png",
"env": [
{
"name": "REGISTRY_AUTH_PASSWORD",
"label": "REGISTRY_AUTH_PASSWORD"
},
{
"name": "REGISTRY_AUTH_REALM",
"label": "REGISTRY_AUTH_REALM",
"default": "Registry"
},
{
"name": "REGISTRY_AUTH_USER",
"label": "REGISTRY_AUTH_USER",
"description": "Basic-auth credentials.",
"default": "admin"
},
{
"name": "REGISTRY_STORAGE_S3_ACCESSKEY",
"label": "REGISTRY_STORAGE_S3_ACCESSKEY"
},
{
"name": "REGISTRY_STORAGE_S3_BUCKET",
"label": "REGISTRY_STORAGE_S3_BUCKET"
},
{
"name": "REGISTRY_STORAGE_S3_FORCEPATHSTYLE",
"label": "REGISTRY_STORAGE_S3_FORCEPATHSTYLE",
"default": "true"
},
{
"name": "REGISTRY_STORAGE_S3_REGION",
"label": "REGISTRY_STORAGE_S3_REGION",
"description": "Storage."
},
{
"name": "REGISTRY_STORAGE_S3_REGIONENDPOINT",
"label": "REGISTRY_STORAGE_S3_REGIONENDPOINT"
},
{
"name": "REGISTRY_STORAGE_S3_SECRETKEY",
"label": "REGISTRY_STORAGE_S3_SECRETKEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 160
},
{
"categories": [
"Management"
],
"description": "A fancy, easy-to-use and reactive self-hosted docker compose.yaml stack-oriented manager.",
"logo": "https://github.com/louislam/dockge/raw/master/frontend/public/icon.svg",
"name": "dockge",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dockge.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Dockge",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 161
},
{
"categories": [
"DNS",
"Networking",
"Tools"
],
"description": "External-DNS for plain Docker hosts: watches running containers, reads dockroute.* labels and reconciles the matching DNS records \u2014 and Cloudflare Tunnel routes \u2014 in a pluggable provider. TXT-based ownership means it never alters records it cannot prove it manages. Source: https://github.com/Dockroute/Dockroute",
"env": [
{
"default": "log",
"label": "DNS provider ('log' is a credential-free dry run that only prints the desired state)",
"name": "DOCKROUTE_PROVIDER",
"select": [
{
"text": "log (dry run, no credentials)",
"value": "log",
"default": true
},
{
"text": "cloudflare",
"value": "cloudflare"
}
]
},
{
"default": "default",
"label": "Ownership id written to companion TXT records (lets several instances share a zone safely)",
"name": "DOCKROUTE_OWNER_ID"
},
{
"default": "sync",
"label": "Sync policy \u2014 sync creates/updates/deletes owned records, upsert-only never deletes, create-only never updates or deletes",
"name": "DOCKROUTE_POLICY",
"select": [
{
"text": "sync",
"value": "sync",
"default": true
},
{
"text": "upsert-only",
"value": "upsert-only"
},
{
"text": "create-only",
"value": "create-only"
}
]
},
{
"default": "",
"label": "Default target \u2014 fallback record value (IP or CNAME target) when a container omits the dockroute.target label",
"name": "DOCKROUTE_DEFAULT_TARGET"
},
{
"default": "",
"label": "Domain filter \u2014 comma-separated allowlist of DNS zones DockRoute may touch (blank = every zone the token can see)",
"name": "DOCKROUTE_DOMAIN_FILTER"
},
{
"default": "60",
"label": "Resync interval in seconds (periodic full reconcile that backs up the event stream)",
"name": "DOCKROUTE_RESYNC_SECONDS"
},
{
"default": "",
"label": "Cloudflare API token \u2014 required when provider is cloudflare (Zone \u2192 DNS \u2192 Edit)",
"name": "CLOUDFLARE_API_TOKEN"
},
{
"default": "",
"label": "Cloudflare account ID (only needed for Cloudflare Tunnel publishing)",
"name": "CLOUDFLARE_ACCOUNT_ID"
},
{
"default": "",
"label": "Cloudflare tunnel ID \u2014 an existing tunnel; you keep running cloudflared yourself (only needed for Tunnel publishing)",
"name": "CLOUDFLARE_TUNNEL_ID"
}
],
"image": "ghcr.io/dockroute/dockroute:latest",
"logo": "https://avatars.githubusercontent.com/u/309590892",
"name": "dockroute",
"note": "Deploys with zero configuration: the entrypoint grants the app user the Docker socket's group and drops privileges before starting, and the default 'log' provider is a dry run that needs no credentials. Once the output looks right, switch DOCKROUTE_PROVIDER to cloudflare and set CLOUDFLARE_API_TOKEN. Opt containers in with the labels dockroute.enabled=true and dockroute.hostname=app.example.com. Docs: https://www.dockroute.dev",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "DockRoute",
"type": 1,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock",
"readonly": true
}
],
"id": 162
},
{
"categories": [
"Documentation",
"Productivity"
],
"description": "Open source collaborative wiki and documentation software, an alternative to Confluence and Notion. Source: https://github.com/docmost/docmost",
"env": [
{
"default": "http://localhost:3000",
"label": "Public URL Docmost is served from",
"name": "APP_URL"
},
{
"default": "",
"label": "App secret (>=32 chars) \u2014 generate with: openssl rand -hex 32",
"name": "APP_SECRET"
}
],
"logo": "https://avatars.githubusercontent.com/u/172325533",
"name": "docmost",
"note": "Generate APP_SECRET with 'openssl rand -hex 32' (must be at least 32 chars). Set APP_URL to the address you access Docmost from.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/docmost.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Docmost",
"type": 3,
"id": 163
},
{
"type": 3,
"title": "Documenso",
"name": "documenso",
"description": "Documenso - the open-source DocuSign alternative: signing workflows, templates, teams, and an API, with real PKCS#12 document sealing. One app container + a managed Postgres; no volumes (the signing cert rides env as base64).",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "documenso/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/documenso.png",
"env": [
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET"
},
{
"name": "NEXT_PRIVATE_ENCRYPTION_KEY",
"label": "NEXT_PRIVATE_ENCRYPTION_KEY"
},
{
"name": "NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY",
"label": "NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY"
},
{
"name": "NEXT_PUBLIC_WEBAPP_URL",
"label": "NEXT_PUBLIC_WEBAPP_URL",
"description": "Public URL (the app's https domain on Miget; runtime-injected).",
"default": "http://localhost:5000"
},
{
"name": "SIGNING_CERT_B64",
"label": "SIGNING_CERT_B64",
"description": "PKCS#12 signing certificate as base64."
},
{
"name": "SIGNING_PASSPHRASE",
"label": "SIGNING_PASSPHRASE"
},
{
"name": "SMTP_FROM_ADDRESS",
"label": "SMTP_FROM_ADDRESS",
"default": "sign@example.com"
},
{
"name": "SMTP_FROM_NAME",
"label": "SMTP_FROM_NAME",
"default": "Documenso"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST",
"description": "Signing emails (mailpit:1025 for testing)."
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_USERNAME",
"label": "SMTP_USERNAME"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 164
},
{
"categories": [
"Wiki",
"Knowledge Base"
],
"description": "Documize Community is an open source, modern, self-hosted, enterprise-grade knowledge management solution.",
"name": "documize",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/documize.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Documize",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 165
},
{
"categories": [
"Documents",
"Productivity"
],
"description": "Open source DocuSign alternative for document filling and signing. Source: https://github.com/docusealco/docuseal",
"env": [
{
"default": "",
"label": "Public domain (e.g. sign.example.com) \u2014 used for links and emails",
"name": "HOST"
}
],
"image": "docuseal/docuseal:latest",
"logo": "https://avatars.githubusercontent.com/u/138379721",
"name": "docuseal",
"note": "First boot runs migrations and auto-generates SECRET_KEY_BASE (persisted to /data); the UI can take up to a minute to become reachable. Set HOST when serving behind a domain/reverse proxy.",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "DocuSeal (container)",
"type": 1,
"volumes": [
{
"container": "/data"
}
],
"id": 166
},
{
"type": 3,
"title": "DocuSeal (stack)",
"name": "docuseal",
"description": "DocuSeal - open-source document signing: a WYSIWYG field builder (12 field types), multiple submitters, automatic PDF eSignatures with verification, API and webhooks. The signing core is fully functional in the free AGPL edition.\n\nSource: https://github.com/docusealco/docuseal",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "docuseal/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/docuseal.png",
"env": [
{
"name": "FORCE_SSL",
"label": "FORCE_SSL"
},
{
"name": "HOST",
"label": "HOST",
"description": "The app's public host (domain on Miget); FORCE_SSL = the same domain.",
"default": "localhost:5000"
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE"
},
{
"name": "SMTP_ADDRESS",
"label": "SMTP_ADDRESS",
"description": "Signature-request emails (point at mailpit:1025 for testing)."
},
{
"name": "SMTP_AUTHENTICATION",
"label": "SMTP_AUTHENTICATION",
"default": "plain"
},
{
"name": "SMTP_FROM",
"label": "SMTP_FROM"
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_USERNAME",
"label": "SMTP_USERNAME"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 167
},
{
"id": 168,
"type": 1,
"title": "Dogwalk",
"name": "Dogwalk",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/dogwalk/config</p>",
"description": "[DOGWALK](https://studio.blender.org/projects/dogwalk/) is Blender Studio's long awaited second game project, focused on creating a bite-sized interactive storytelling playground. Play as a big adorable dog and explore the winter woods with a little kid.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/dogwalk-logo.png",
"image": "linuxserver/dogwalk:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/dogwalk/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Management"
],
"description": "Deploy compose files, start/stop containers, delete unused images, view logs",
"logo": "https://dokemon.dev/logo/dokemon-dark-medium.svg",
"name": "dokemon",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/dokemon.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Dokemon",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 169
},
{
"id": 170,
"type": 1,
"title": "Dokku (container)",
"description": "Dokku setup as a container",
"categories": [
"Paas"
],
"platform": "linux",
"image": "dokku/dokku:latest",
"ports": [
"22/tcp",
"80/tcp",
"443/tcp"
],
"volumes": [
{
"container": "/mnt/dokku",
"bind": "/var/lib/dokku"
},
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"env": [
{
"name": "DOKKU_HOSTNAME",
"label": "Dokku hostname",
"description": "Global hostname to be registered by Dokku"
},
{
"name": "DOKKU_HOST_ROOT",
"label": "Dokku host root",
"default": "/var/lib/dokku/home/dokku",
"description": "Image build cache path. Generally set to <data dir> + '/home/dokku'"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 171,
"type": 3,
"title": "Dokku (stack)",
"description": "Dokku setup as a compose file",
"categories": [
"Paas"
],
"platform": "linux",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/dokku/docker-compose.yml"
},
"env": [
{
"name": "VERSION",
"label": "Dokku version",
"description": "Version of Dokku to use ('latest' if empty)",
"default": "latest"
},
{
"name": "DOKKU_HOSTNAME",
"label": "Dokku hostname",
"description": "Global hostname to be registered by Dokku"
},
{
"name": "VOLUME_PATH",
"label": "Dokku volume path",
"description": "Host path to be bound to /mnt/dokku (`/var/lib/dokku` if empty)",
"default": "/var/lib/dokku"
},
{
"name": "DOKKU_HOST_ROOT",
"label": "Dokku host root",
"description": "Image build cache path. Generally set to <data dir> + '/home/dokku'",
"default": "/var/lib/dokku/home/dokku"
},
{
"name": "SSH_PORT",
"label": "SSH port",
"description": "Host port to expose SSH port of Dokku (22 if empty)",
"default": "22"
},
{
"name": "HTTP_PORT",
"label": "HTTP port",
"description": "Host port to expose HTTP port of Dokku (80 if empty)",
"default": "80"
},
{
"name": "HTTPS_PORT",
"label": "HTTPS port",
"description": "Host port to expose HTTPS port of Dokku (443 if empty)",
"default": "443"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 172,
"type": 1,
"title": "Dokuwiki",
"name": "Dokuwiki",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/dokuwiki/config</p>",
"description": "[Dokuwiki](https://www.dokuwiki.org/dokuwiki/) is a simple to use and highly versatile Open Source wiki software that doesn't require a database. It is loved by users for its clean and readable syntax. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in access controls and authentication connectors make DokuWiki especially useful in the enterprise context and the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/dokuwiki-icon.png",
"image": "linuxserver/dokuwiki:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/dokuwiki/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 173,
"type": 3,
"title": "Dolibarr",
"name": "dolibarr",
"description": "ERP and CRM for small businesses and freelancers: contacts, quotes, orders, invoices and payments, stock, projects, expense reports, HR and accounting. You switch on just the parts you need. Source: https://github.com/Dolibarr/dolibarr",
"categories": [
"Finance",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Dolibarr/dolibarr/develop/htdocs/theme/dolibarr_256x256_color.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "DOLIBARR_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For the admin login. No spaces. Only used on the very first start, change it in Dolibarr after that."
},
{
"name": "DOLIBARR_SECRET_KEY",
"label": "Secret key (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or saved bank details, API keys and mail passwords can't be read."
},
{
"name": "DOLIBARR_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16. Keep it the same when you redeploy."
},
{
"name": "DOLIBARR_PORT",
"label": "Host port for the web UI",
"default": "8480"
},
{
"name": "DOLIBARR_URL",
"label": "Address you'll open it on",
"description": "Like http://192.168.1.20:8480. Shared document links and links in emails point here.",
"default": "http://localhost:8480"
}
],
"note": "Fill in the <b>admin password</b>, <b>secret key</b> and <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes good secrets), since the stack won't start without them, and keep the key and database password the same when you redeploy. The first start takes a few minutes while it fills the database, so the page won't load straight away. Then open <code>http://&lt;your-host&gt;:8480</code> (or whichever port you picked) and log in as <code>admin</code> with your password. It sends you to Setup first: add your company's name, country and currency (it starts in euros), then switch on the modules you want under Setup --&gt; Modules. There are no sign-ups, you add everyone else under Users &amp; Groups. Put the address you'll actually type in the browser in the address field too, since shared document links and links in emails use it, and they point at <code>localhost</code> until you do. To change it later, edit the address in the stack's environment variables and redeploy. To update, redeploy with the image re-pulled: it backs up the database into the documents volume and upgrades it on start. The first time the home page loads after an install or update, your browser sends Dolibarr an anonymous ping (a hashed id, versions, database type and country). Uploads, generated PDFs and backups live in the <code>dolibarr-documents</code> volume, add-on modules in <code>dolibarr-custom</code>, everything else in <code>db-data</code>. Docs: <a href=\"https://wiki.dolibarr.org\" target=\"_blank\">wiki.dolibarr.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/dolibarr/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 174,
"type": 1,
"title": "Dolphin",
"name": "Dolphin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/dolphin/config</p>",
"description": "[Dolphin Emulator](https://dolphin-emu.org/) lets you play GameCube and Wii games with various graphical enhancements and other features are available to improve your game experience.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/dolphin-logo.png",
"image": "linuxserver/dolphin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/dolphin/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Home Automation",
"Management"
],
"description": "Domoticz is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/domoticz:latest",
"logo": "https://github.com/domoticz/domoticz/raw/master/www/images/logo.png",
"name": "domoticz",
"platform": "linux",
"ports": [
"1443:1443/tcp",
"6144:6144/tcp",
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Domoticz",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Domoticz"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 175
},
{
"id": 176,
"type": 1,
"title": "Donetick",
"name": "donetick",
"description": "Chore and task tracker for households, with natural-language scheduling, assignee rotation, subtasks, points and rewards, labels, NFC tags and a calendar feed. Source: https://github.com/donetick/donetick",
"categories": [
"Productivity",
"Home Automation"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/donetick/donetick/develop/assets/logo.svg",
"image": "donetick/donetick:latest",
"restart_policy": "unless-stopped",
"ports": [
"2021:2021/tcp"
],
"volumes": [
{
"container": "/donetick-data"
},
{
"container": "/config"
}
],
"env": [
{
"name": "DT_SQLITE_PATH",
"label": "Database file",
"description": "Keeps the database in the data volume, so leave it as it is.",
"default": "/donetick-data/donetick.db",
"preset": true
},
{
"name": "DT_SERVER_PUBLIC_HOST",
"label": "Address",
"description": "Where you'll open it, like http://192.168.1.10:2021. The calendar feed link is built from this.",
"default": "http://localhost:2021"
}
],
"note": "Open <code>http://&lt;your-host&gt;:2021</code> and click Create one. Sign-ups stay open: everyone makes their own account, then asks to join your circle with the code under Settings --&gt; Circle Settings, where you accept them. Once everyone's in, add <code>DONETICK_DISABLE_SIGNUP=true</code> to the container's environment. Crash reports and usage analytics stay off unless you tick them on the screen after signing up. Photo attachments and avatars need S3-compatible storage set up as their storage docs say, and uploads fail without it. The phone apps only connect over HTTPS with a real certificate, so they need a proxy in front. The SQLite database lives in the data volume, and the generated login secret and settings (<code>selfhosted.yaml</code>) in the config one. Docs: <a href=\"https://docs.donetick.com/getting-started/\" target=\"_blank\">docs.donetick.com</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 177,
"type": 1,
"title": "Doplarr_rs",
"name": "Doplarr_rs",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/doplarr_rs/config</p>",
"description": "[Doplarr_rs](https://github.com/activexray/doplarr_rs) is a Discord bot for requesting media through *arr backends, written in Rust.",
"categories": [
"Media Requesters"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/doplarr_rs-logo.png",
"image": "linuxserver/doplarr_rs:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/doplarr_rs/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 178,
"type": 1,
"title": "Dosbox-staging",
"name": "Dosbox-staging",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/dosbox-staging/config</p>",
"description": "[DOSBox Staging](https://www.dosbox-staging.org/) is a modern continuation of DOSBox a free and open-source emulator that enables the execution of MS-DOS software, especially video games.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/dosbox-logo.png",
"image": "linuxserver/dosbox-staging:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/dosbox-staging/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 179,
"type": 1,
"title": "Doublecommander",
"name": "Doublecommander",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/doublecommander/config<br>mkdir -p /srv/lsio/doublecommander/data</p>",
"description": "[Double Commander](https://doublecmd.sourceforge.io/) is a free cross platform open source file manager with two panels side by side. It is inspired by Total Commander and features some new ideas.",
"categories": [
"Administration",
"Storage"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/doublecommander-icon.png",
"image": "linuxserver/doublecommander:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/doublecommander/config"
},
{
"container": "/data",
"bind": "/srv/lsio/doublecommander/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools"
],
"description": "Dozzle is a small lightweight application with a web based interface to monitor Docker logs. It doesn\u2019t store any log files. It is for live monitoring of your container logs only.",
"image": "amir20/dozzle:latest",
"logo": "https://dozzle.dev/favicon.ico",
"name": "dozzle",
"platform": "linux",
"ports": [
"8888:8080/tcp"
],
"restart_policy": "always",
"title": "Dozzle",
"type": 1,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 180
},
{
"categories": [
"Security"
],
"description": "Dradis Framework: Collaboration and reporting for IT Security teams http://dradisframework.org",
"image": "raesene/dradis:latest",
"logo": "https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/master/Images/dradis-logo.png",
"name": "dradis",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Dradis",
"type": 1,
"maintainer": "https://github.com/SelfhostedPro/selfhosted_templates/",
"id": 181
},
{
"categories": [
"Productivity",
"Drawing"
],
"description": "draw.io (formerly Diagramly) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit diagram maker, and more. draw.io can import .vsdx, Gliffy\u2122 and Lucidchart\u2122 files.",
"logo": "https://appedreview.com/app/wp-content/uploads/2016/10/Screen-Shot-2016-10-18-at-8.28.57-AM-768x766.png",
"name": "drawio",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/drawio.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Draw.io",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 182
},
{
"id": 183,
"type": 1,
"title": "drawDB",
"name": "drawdb",
"description": "Database diagram editor for drawing entity relationships in the browser, then exporting them as SQL for MySQL, PostgreSQL, SQLite, MariaDB or SQL Server, or importing an existing schema to see it. Source: https://github.com/drawdb-io/drawdb",
"categories": [
"Database",
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/drawdb-io/drawdb/main/src/assets/icon-dark.png",
"image": "ghcr.io/drawdb-io/drawdb:latest",
"restart_policy": "unless-stopped",
"ports": [
"8098:80/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8098/editor</code>. There's no login and nothing to back up on the server, since diagrams are saved in your browser's own storage, so another browser or a cleared cache starts empty. File --&gt; Export as --&gt; JSON keeps a copy, and File --&gt; Import from brings it back. Plain /editor makes a fresh copy of your last diagram on every visit, so bookmark the /editor/diagrams/... address it moves you to. Share and version history need drawDB's separate backend, which isn't included. Icon fonts load from jsDelivr and cdnjs, and the home page at / pulls in tweets and a GitHub star count from outside services. Docs: <a href=\"https://drawdb-io.github.io/docs\" target=\"_blank\">drawdb-io.github.io/docs</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 1,
"name": "droppy",
"title": "Droppy",
"description": "Droppy is a self-hosted file storage server",
"logo": "https://mediadepot.github.io/templates/img/filebrowser-icon.png",
"image": "silverwind/droppy:latest",
"categories": [
"Tools",
"Web",
"Other"
],
"ports": [
"8989/tcp"
],
"volumes": [
{
"container": "/files/tvshows",
"bind": "/media/storage/tvshows"
},
{
"container": "/files/movies",
"bind": "/media/storage/movies"
},
{
"container": "/files/music",
"bind": "/media/storage/music"
},
{
"container": "/files/photos",
"bind": "/media/storage/photos"
},
{
"container": "/files/ebooks",
"bind": "/media/storage/ebooks"
},
{
"container": "/files/documents",
"bind": "/media/storage/documents"
},
{
"container": "/files/software",
"bind": "/media/storage/software"
},
{
"container": "/files/downloads",
"bind": "/media/storage/downloads"
},
{
"container": "/files/blackhole",
"bind": "/media/temp/blackhole"
},
{
"container": "/files/processing",
"bind": "/media/temp/processing"
},
{
"container": "/config",
"bind": "/opt/mediadepot/apps/droppy"
}
],
"env": [
{
"name": "GID",
"label": "GID",
"default": "15000",
"preset": true
},
{
"name": "UID",
"label": "UID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.droppy.loadbalancer.server.port",
"value": "8989"
},
{
"name": "traefik.http.routers.droppy.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.droppy.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 184
},
{
"id": 185,
"type": 1,
"title": "Drupal",
"description": "Open-source content management framework",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/drupal.png",
"image": "drupal:latest",
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/var/www/html"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 186,
"type": 1,
"title": "Duckdns",
"name": "Duckdns",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/duckdns/config<br>mkdir -p /srv/lsio/duckdns/config</p>",
"description": "[Duckdns](https://duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. The service is completely free, and doesn't require reactivation or forum posts to maintain its existence.",
"categories": [
"Network",
"DNS"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/duckdns.png",
"image": "linuxserver/duckdns:latest",
"network": "host",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here. [OPTIONAL]"
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here. [OPTIONAL]"
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). [OPTIONAL]"
},
{
"name": "SUBDOMAINS",
"label": "SUBDOMAINS",
"default": "subdomain1,subdomain2",
"description": "multiple subdomains allowed, comma separated, no spaces, if your domain is user.duckdns.org you put user, not a sub-subdomain"
},
{
"name": "TOKEN",
"label": "TOKEN",
"default": "token",
"description": "DuckDNS token"
},
{
"name": "UPDATE_IP",
"label": "UPDATE_IP",
"default": "ipv4",
"description": "Set to `ipv6` or `ipv4` to update **only** your public IPv4/6 address. Set to `both` to update IPv6 and IPv4 address. This variable makes use of a [third-party service](#notice-regarding-automatic-detection). Omitting this variable uses DuckDNS for detection and only supports IPv4. `both` and `ipv6` modes needs [host networking](#networking-net). [OPTIONAL]"
},
{
"name": "LOG_FILE",
"label": "LOG_FILE",
"default": "false",
"description": "Set to `true` to log to file (also need to map /config). [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/duckdns/config"
},
{
"container": "/config",
"bind": "/srv/lsio/duckdns/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 187,
"type": 1,
"title": "Duckstation",
"name": "Duckstation",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/duckstation/config</p>",
"description": "[DuckStation](https://duckstation.org/) is a PS1 Emulator aiming for the best accuracy and game support.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/duckstation-logo.png",
"image": "linuxserver/duckstation:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/duckstation/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "duplicacy",
"title": "Duplicacy",
"description": "Duplicacy backs up your files to many cloud storages with client-side encryption and the highest level of deduplication",
"logo": "https://mediadepot.github.io/templates/img/duplicacy-icon.png",
"image": "mediadepot/duplicacy:latest",
"categories": [
"Backup"
],
"ports": [
"3875/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/duplicacy/config"
},
{
"container": "/logs",
"bind": "/opt/mediadepot/apps/duplicacy/logs"
},
{
"container": "/cache",
"bind": "/opt/mediadepot/apps/duplicacy/cache"
},
{
"container": "/source/apps",
"bind": "/opt/mediadepot/apps/"
},
{
"container": "/source/storage",
"bind": "/media/storage/"
}
],
"env": [
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.duplicacy.loadbalancer.server.port",
"value": "3875"
},
{
"name": "traefik.http.routers.duplicacy.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.duplicacy.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 188
},
{
"id": 189,
"type": 1,
"title": "Duplicati",
"name": "Duplicati",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/duplicati/config<br>mkdir -p /srv/lsio/duplicati/backups<br>mkdir -p /srv/lsio/duplicati/source</p>",
"description": "[Duplicati](https://www.duplicati.com/) is a backup client that securely stores encrypted, incremental, compressed backups on local storage, cloud storage services and remote file servers. It works with standard protocols like FTP, SSH, WebDAV as well as popular services like Microsoft OneDrive, Amazon S3, Google Drive, box.com, Mega, B2, and many others.",
"categories": [
"Backup"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/duplicati-icon.png",
"image": "linuxserver/duplicati:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SETTINGS_ENCRYPTION_KEY",
"label": "SETTINGS_ENCRYPTION_KEY",
"default": "",
"description": "Encryption key for settings database. Minimum 8 characters, alphanumeric."
},
{
"name": "CLI_ARGS",
"label": "CLI_ARGS",
"default": "",
"description": "Optionally specify any [CLI variables](https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/) you want to launch the app with [OPTIONAL]"
},
{
"name": "DUPLICATI__WEBSERVICE_PASSWORD",
"label": "DUPLICATI__WEBSERVICE_PASSWORD",
"default": "",
"description": "Password for the webui. If left unset will default to `changeme` and can be changed from the webui settings. [OPTIONAL]"
}
],
"ports": [
"8200:8200/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/duplicati/config"
},
{
"container": "/backups",
"bind": "/srv/lsio/duplicati/backups"
},
{
"container": "/source",
"bind": "/srv/lsio/duplicati/source"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 190,
"type": 3,
"title": "Easy!Appointments",
"name": "easy-appointments",
"description": "Online booking site for appointments: customers pick a service, a provider and a free slot, and you manage it all from a calendar with working hours, breaks and holidays per provider. Syncs with Google or CalDAV calendars. Source: https://github.com/alextselegidis/easyappointments",
"categories": [
"Productivity",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/alextselegidis/easyappointments/main/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "EASYAPPOINTMENTS_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:8580. Every page and link is built from it."
},
{
"name": "EASYAPPOINTMENTS_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16. Keep it the same when you redeploy."
},
{
"name": "EASYAPPOINTMENTS_PORT",
"label": "Host port for the web UI",
"default": "8580"
}
],
"note": "Fill in the <b>address</b> and <b>database password</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:8580</code>: the port you're using, and no slash at the end. Easy!Appointments builds every page and link from it, so if it's wrong the front page sends you off to that address instead, and any page you do reach has no styling and buttons that do nothing. To fix it, change the address in the stack's environment variables and redeploy. Then open <code>/index.php/installation</code> on that address straight away, as whoever fills in that form first becomes the admin. Go there directly: once it's been opened, the front page says Database Migration Required until the install's done. It adds a sample service, provider and customer, so rename or delete those first. Customers book at the address itself, and you log in at <code>/index.php/login</code>. Nothing gets emailed until you add <code>EASYAPPOINTMENTS_SMTP_HOST</code>, <code>EASYAPPOINTMENTS_SMTP_USER</code> and <code>EASYAPPOINTMENTS_SMTP_PASSWORD</code> to the stack's environment variables and update the stack (plus <code>EASYAPPOINTMENTS_SMTP_PORT</code> if it isn't 587, and <code>EASYAPPOINTMENTS_SMTP_SECURITY</code> = <code>ssl</code> for port 465). Emails come from the company email you set at install. Everything lives in MariaDB, in the <code>db-data</code> volume, with logins and backups in <code>easyappointments-storage</code>. Docs: <a href=\"https://github.com/alextselegidis/easyappointments/tree/main/docs\" target=\"_blank\">github.com/alextselegidis/easyappointments</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/easy-appointments/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Eclipse Mosquitto is an open source message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers.\r\nHave a look on https://mosquitto.org/man/mosquitto_passwd-1.html",
"image": "eclipse-mosquitto:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/eclipse-mosquitto.png",
"name": "eclipse-mosquitto",
"platform": "linux",
"ports": [
"1883:1883/tcp",
"9001:9001/tcp"
],
"restart_policy": "unless-stopped",
"title": "Eclipse Mosquitto MQTT",
"type": 1,
"volumes": [
{
"container": "/mosquitto/config",
"bind": "/portainer/Files/AppData/Config/eclipse-mosquitto/config"
},
{
"container": "/mosquitto/data",
"bind": "/portainer/Files/AppData/Config/eclipse-mosquitto/data"
},
{
"container": "/mosquitto/log",
"bind": "/portainer/Files/AppData/Config/eclipse-mosquitto/log"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://mosquitto.org/\" target=\"_blank\">https://mosquitto.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://mosquitto.org/\" target=\"_blank\">https://mosquitto.org/</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_mosquitto.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_mosquitto.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 191
},
{
"id": 192,
"type": 1,
"title": "Eden",
"name": "Eden",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/eden/config</p>",
"description": "[Eden](https://eden-emu.dev/) is an experimental open-source emulator for the Nintendo Switch, built with performance and stability in mind.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/eden-logo.png",
"image": "linuxserver/eden:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/eden/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Database"
],
"description": "Open-source search and analytics engine",
"env": [
{
"default": "single-node",
"name": "discovery.type",
"preset": true
},
{
"default": "false",
"label": "Disable X-Pack security",
"name": "xpack.security.enabled"
}
],
"image": "elasticsearch:9.5.3",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/elasticsearch.png",
"name": "elasticsearch",
"note": "Elasticsearch publishes no rolling <code>latest</code> tag, so this template pins a specific version. <code>discovery.type</code> and <code>xpack.security.enabled</code> are set so a single-node container starts and stays reachable without TLS setup.",
"platform": "linux",
"ports": [
"9200/tcp",
"9300/tcp"
],
"restart_policy": "unless-stopped",
"title": "Elasticsearch",
"type": 1,
"volumes": [
{
"container": "/usr/share/elasticsearch/data"
}
],
"id": 193
},
{
"id": 194,
"type": 1,
"title": "Emby",
"name": "Emby",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/emby/config<br>mkdir -p /srv/lsio/emby/data/tvshows<br>mkdir -p /srv/lsio/emby/data/movies<br></p>",
"description": "[Emby](https://emby.media/) organizes video, music, live TV, and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone emby Media Server.",
"categories": [
"Media Servers",
"Music",
"Audiobooks"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/emby-logo.png",
"image": "linuxserver/emby:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8096:8096/tcp",
"8920:8920/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/emby/config"
},
{
"container": "/data/tvshows",
"bind": "/srv/lsio/emby/data/tvshows"
},
{
"container": "/data/movies",
"bind": "/srv/lsio/emby/data/movies"
},
{
"container": "/opt/vc/lib",
"bind": "/opt/vc/lib"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools"
],
"description": "Embystat is a personal web server that can calculate all kinds of statistics from your (local) Emby server. Just install this on your server and let him calculate all kinds of fun stuff.",
"image": "linuxserver/embystat:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/embystat.png",
"name": "EmbyStat",
"note": "Access the ui at your-ip:6555. Follow the setup wizard on initial install. Then configure the required services.",
"platform": "linux",
"ports": [
"6555:6555/tcp"
],
"restart_policy": "unless-stopped",
"title": "EmbyStat",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/EmbyStat"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 195
},
{
"id": 196,
"type": 3,
"title": "EMQX Open Source MQTT Broker",
"description": "Open-source MQTT broker for IoT, IIoT, and connected vehicles - Single Broker deployment",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/docker-library/docs/68aa4264fa058f323993fdaceacd63a8acbbeb48/emqx/logo.svg",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/emqx/docker-compose.yml"
},
"env": [
{
"name": "EMQX_DASHBOARD__DEFAULT_USERNAME",
"label": "EMQX Dashboard Username"
},
{
"name": "EMQX_DASHBOARD__DEFAULT_PASSWORD",
"label": "EMQX Dashboard Password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 197,
"type": 3,
"title": "EspoCRM",
"name": "espocrm",
"description": "CRM for keeping track of customers and sales: accounts, contacts, leads, opportunities, cases, meetings and calls, with a shared calendar, email inbox, reports and a no-code entity builder. Source: https://github.com/espocrm/espocrm",
"categories": [
"Productivity",
"Email"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/espocrm/espocrm/master/client/img/favicon-196.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "ESPOCRM_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For the admin login. Only used on the very first start, change it in EspoCRM after that."
},
{
"name": "ESPOCRM_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16. Keep it the same when you redeploy."
},
{
"name": "ESPOCRM_PORT",
"label": "Host port for the web UI",
"default": "8680"
},
{
"name": "ESPOCRM_URL",
"label": "Address you'll open it on",
"description": "Like http://192.168.1.20:8680. Links in emails and password resets point here.",
"default": "http://localhost:8680"
}
],
"note": "Fill in the <b>admin password</b> and <b>database password</b> before you deploy (<code>openssl rand -hex 16</code> makes a good one), since the stack won't start without them, and keep the database password the same when you redeploy. The first start takes a minute while it sets up the database. Then open <code>http://&lt;your-host&gt;:8680</code> (or whichever port you picked) and log in as <code>admin</code> with your password. There are no sign-ups, you add everyone else under Administration --&gt; Users. Put the address you'll actually type in the browser in the address field too, since links in emails and password resets use it, and they point at <code>localhost</code> until you do. It's set from the stack on every start, so to change it later edit the address in the stack's environment variables and redeploy, rather than in Settings. Nothing gets emailed until you add an SMTP server under Administration --&gt; Outbound Emails. The <code>daemon</code> container runs the scheduled jobs (fetching email, reminders, clean-up), so leave it running. The Administration page shows a news panel from espocrm.com, which gets told your version and address, and a scheduled job asks espocrm.com for the latest version. To update, redeploy with the image re-pulled and it upgrades the database on start. Uploads and settings live in the <code>espocrm-data</code> volume, extensions and customisations in <code>espocrm-custom</code> and <code>espocrm-client-custom</code>, and your records in <code>db-data</code>. Docs: <a href=\"https://docs.espocrm.com\" target=\"_blank\">docs.espocrm.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/espocrm/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 198,
"type": 3,
"title": "Etherpad",
"name": "etherpad",
"description": "Collaborative text editor where everyone types in the same document at once, with history, chat and plugins. This one runs on Postgres. Source: https://github.com/ether/etherpad",
"categories": [
"Documents",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/ether/etherpad/develop/admin/public/brand.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "ETHERPAD_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For the admin panel at /admin, where you sign in as admin. Generate one with: openssl rand -hex 32"
},
{
"name": "ETHERPAD_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Etherpad can't reach its database."
},
{
"name": "ETHERPAD_PORT",
"label": "Host port for the web UI",
"default": "9001"
},
{
"name": "ETHERPAD_TRUST_PROXY",
"label": "Behind a reverse proxy?",
"select": [
{
"text": "No",
"value": "false",
"default": true
},
{
"text": "Yes",
"value": "true"
}
]
}
],
"note": "Set both <b>passwords</b> before you deploy (<code>openssl rand -hex 32</code> makes good ones), since the stack won't start without them. Then open <code>http://&lt;your-host&gt;:9001</code> (or whichever port you picked) and start a pad. Anyone who can reach it can create and edit pads, so keep it off the open internet or put a login in front of it. The admin panel is at <code>/admin</code>, user <code>admin</code>. Pads are stored in Postgres, in the <code>postgres-data</code> volume. Docs: <a href=\"https://docs.etherpad.org\" target=\"_blank\">docs.etherpad.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/etherpad/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Tools"
],
"description": "Eufy Security Web Socket. Edit container and add username & password.",
"env": [
{
"default": "InputUSER-email",
"label": "USERNAME",
"name": "USERNAME"
},
{
"default": "InputPWD",
"label": "PASSWORD",
"name": "PASSWORD"
}
],
"image": "bropat/eufy-security-ws:latest",
"logo": "https://github.com/bropat/eufy-security-ws/raw/master/docs/_media/eufy-security-ws.png",
"name": "eufy-security-ws",
"platform": "linux",
"ports": [
"3993:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Eufy Security WS",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/eufy-security-ws"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 199
},
{
"categories": [
"Productivity",
"Drawing"
],
"description": "Virtual whiteboard for sketching hand-drawn like diagrams. Collaborative and end-to-end encrypted.",
"logo": "https://github.com/excalidraw/excalidraw/raw/master/public/og-image-sm.png",
"name": "excalidraw",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/excalidraw.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Excalidraw",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 200
},
{
"id": 201,
"type": 3,
"title": "ezBookkeeping",
"name": "ezbookkeeping",
"description": "Personal finance app for logging what you spend and earn across accounts and currencies, with receipt photos, scheduled transactions and charts. Imports bank statement files, GnuCash and Firefly III, and installs on a phone like an app. Source: https://github.com/mayswind/ezbookkeeping",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/mayswind/ezbookkeeping/main/public/img/ezbookkeeping-512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "EZBOOKKEEPING_SECRET_KEY",
"label": "Secret key (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or two-factor logins stop working."
},
{
"name": "EZBOOKKEEPING_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or ezBookkeeping can't reach its database."
},
{
"name": "EZBOOKKEEPING_PORT",
"label": "Host port for the web UI",
"default": "8100"
},
{
"name": "EZBOOKKEEPING_URL",
"label": "Address you'll open it on",
"description": "Like http://192.168.1.10:8100/. Receipt photos, profile pictures and the phone QR code all point here, so they break on any other address.",
"default": "http://localhost:8100/"
}
],
"note": "Set both <b>secrets</b> before you deploy (<code>openssl rand -hex 32</code> makes good ones), since the stack won't start without them, and keep them the same when you redeploy. Put the address you'll actually type in the browser in the address field too, or receipt photos won't load. Then open <code>http://&lt;your-host&gt;:8100</code> (or whichever port you picked) and create an account. Tick Use Preset Transaction Categories on the second step, or you start with none. Every account gets its own separate books, but sign-ups stay open, so once you've made yours add <code>EZBOOKKEEPING_SIGNUPS</code> = <code>false</code> to the stack's environment variables and update the stack. Exchange rates come from the European Central Bank, and maps load from OpenStreetMap. Everything lives in Postgres, in the <code>postgres-data</code> volume, with receipt photos and avatars in <code>ezbookkeeping-storage</code>. Docs: <a href=\"https://ezbookkeeping.mayswind.net\" target=\"_blank\">ezbookkeeping.mayswind.net</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/ezbookkeeping/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Factorio Server",
"name": "factorio",
"description": "Headless Factorio via factoriotools/factorio - the community-standard image. Saves, mods, and server settings live on the `/factorio` volume; a new map generates on first boot and the latest save loads thereafter.",
"categories": [
"Game Servers"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "factorio/compose.yaml"
},
"env": [
{
"name": "SAVE_NAME",
"label": "SAVE_NAME",
"default": "miget"
},
{
"name": "UPDATE_MODS_ON_START",
"label": "UPDATE_MODS_ON_START",
"default": "false"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 202
},
{
"id": 203,
"type": 1,
"title": "Fail2ban",
"name": "Fail2ban",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/fail2ban/config<br>mkdir -p /srv/lsio/fail2ban/var/log:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/airsonic:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/apache2:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/authelia:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/emby:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/filebrowser:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/homeassistant:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/lighttpd:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/nextcloud:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/nginx:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/nzbget:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/overseerr:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/prowlarr:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/radarr:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/sabnzbd:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/sonarr:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/unificontroller:ro<br>mkdir -p /srv/lsio/fail2ban/remotelogs/vaultwarden:ro</p>",
"description": "[Fail2ban](http://www.fail2ban.org/) is a daemon to ban hosts that cause multiple authentication errors.",
"categories": [
"Network",
"Security"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/fail2ban-logo.png",
"image": "linuxserver/fail2ban:latest",
"network": "host",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "VERBOSITY",
"label": "VERBOSITY",
"default": "-vv",
"description": "Set the container log verbosity. Valid options are -v, -vv, -vvv, -vvvv, or leaving the value blank or not setting the variable. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/fail2ban/config"
},
{
"container": "/var/log:ro",
"bind": "/srv/lsio/fail2ban/var/log:ro"
},
{
"container": "/remotelogs/airsonic:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/airsonic:ro"
},
{
"container": "/remotelogs/apache2:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/apache2:ro"
},
{
"container": "/remotelogs/authelia:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/authelia:ro"
},
{
"container": "/remotelogs/emby:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/emby:ro"
},
{
"container": "/remotelogs/filebrowser:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/filebrowser:ro"
},
{
"container": "/remotelogs/homeassistant:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/homeassistant:ro"
},
{
"container": "/remotelogs/lighttpd:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/lighttpd:ro"
},
{
"container": "/remotelogs/nextcloud:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/nextcloud:ro"
},
{
"container": "/remotelogs/nginx:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/nginx:ro"
},
{
"container": "/remotelogs/nzbget:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/nzbget:ro"
},
{
"container": "/remotelogs/overseerr:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/overseerr:ro"
},
{
"container": "/remotelogs/prowlarr:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/prowlarr:ro"
},
{
"container": "/remotelogs/radarr:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/radarr:ro"
},
{
"container": "/remotelogs/sabnzbd:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/sabnzbd:ro"
},
{
"container": "/remotelogs/sonarr:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/sonarr:ro"
},
{
"container": "/remotelogs/unificontroller:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/unificontroller:ro"
},
{
"container": "/remotelogs/vaultwarden:ro",
"bind": "/srv/lsio/fail2ban/remotelogs/vaultwarden:ro"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 204,
"type": 1,
"title": "Faster-whisper",
"name": "Faster-whisper",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/faster-whisper/config</p>",
"description": "[Faster-whisper](https://github.com/SYSTRAN/faster-whisper) is a reimplementation of OpenAI's Whisper model using CTranslate2, which is a fast inference engine for Transformer models. This container provides a Wyoming protocol server for faster-whisper.",
"categories": [
"Machine Learning"
],
"platform": "linux",
"image": "linuxserver/faster-whisper:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DEBUG",
"label": "DEBUG",
"default": "",
"description": "If set to `true`, or any other value, the container will output debug logs. [OPTIONAL]"
},
{
"name": "LOCAL_ONLY",
"label": "LOCAL_ONLY",
"default": "",
"description": "If set to `true`, or any other value, the container will not attempt to download models from HuggingFace and will only use locally-provided models. [OPTIONAL]"
},
{
"name": "WHISPER_BEAM",
"label": "WHISPER_BEAM",
"default": "1",
"description": "Number of candidates to consider simultaneously during transcription. [OPTIONAL]"
},
{
"name": "WHISPER_LANG",
"label": "WHISPER_LANG",
"default": "auto",
"description": "Two character code for the language that you will speak to the add-on. [OPTIONAL]"
},
{
"name": "WHISPER_MODEL",
"label": "WHISPER_MODEL",
"default": "auto",
"description": "Whisper model that will be used for transcription. From [here](https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/utils.py#L11-L31). [OPTIONAL]"
}
],
"ports": [
"10300:10300/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/faster-whisper/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 205,
"type": 3,
"title": "FDO",
"description": "FDO",
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/intel.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/fdo/docker-stack.yml"
},
"env": [
{
"name": "owner_api_user",
"label": "API Username"
},
{
"name": "owner_api_password",
"label": "API Password"
}
],
"maintainer": "https://github.com/portainer/templates/",
"categories": []
},
{
"categories": [
"News"
],
"description": "FeedCord is a dead-simple RSS Reader designed to integrate seamlessly with Discord. With just a few configuration steps, you can have a news feed text channel up and running in your server.",
"name": "feedcord",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/feedcord.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Feedcord",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 206
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "Fenrus is a Node application and requires NodeJS to run. Once NodeJS is installed you can run Fenrus",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://user-images.githubusercontent.com/958400/154829266-62206846-c6ef-4718-9910-2b83eb6aa41c.png",
"name": "Fenrus",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/fenrus.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Fenrus",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 207
},
{
"categories": [
"Messenger"
],
"description": "Ferdi is a messaging browser that allows you to combine your favourite messaging services into one application",
"logo": "https://raw.githubusercontent.com/getferdi/server/master/logo.png",
"name": "ferdi-server",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ferdiserver.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ferdi Server",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 208
},
{
"id": 209,
"type": 1,
"title": "Ferdium (container)",
"name": "Ferdium",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ferdium/config</p>",
"description": "[Ferdium](https://ferdium.org/) is a desktop app that helps you organize how you use your favourite apps by combining them into one application.",
"categories": [
"Chat",
"Social"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ferdium-logo.png",
"image": "linuxserver/ferdium:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ferdium/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Messenger"
],
"description": "Ferdium is a messaging browser that allows you to combine your favourite messaging services into one application",
"logo": "https://github.com/ferdium/ferdium-server/raw/main/logo.png",
"name": "ferdium",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ferdium.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ferdium (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 210
},
{
"categories": [
"System"
],
"description": "FetchCord grabs your OS info and displays it as Discord Rich Presence",
"logo": "https://camo.githubusercontent.com/508dbb305be551d7278b5b1decb1a68dbac2558c4a2053da1db44690660d0386/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3639353138323834393437363635373232332f3734323036343435323432313238383037372f46657463684469732e706e67",
"name": "fetchcord",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/fetchcord.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Fetchcord",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 211
},
{
"id": 212,
"type": 1,
"title": "Ffmpeg",
"name": "Ffmpeg",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ffmpeg/config</p>",
"description": "# This container needs special attention. Please check https://hub.docker.com/r/linuxserver/ffmpeg for details.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ffmpeg.png",
"image": "linuxserver/ffmpeg:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ffmpeg/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 213,
"type": 1,
"title": "File browser (container)",
"description": "A web file manager",
"note": "Default credentials: admin/admin",
"categories": [
"Filesystem",
"Storage"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/filebrowser.png",
"image": "filebrowser/filebrowser:latest",
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/data"
},
{
"container": "/srv"
}
],
"command": "--port 80 --database /data/database.db --root /srv",
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "FileBrowser (stack)",
"name": "filebrowser",
"description": "FileBrowser - a fast web UI over a file volume: upload, organize, preview, edit, and share files via public links, with per-user scopes. Apache-2.0, non-root, ~30 MB of Go.",
"categories": [
"Object Storage"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "filebrowser/compose.yaml"
},
"env": [
{
"name": "FB_PASSWORD",
"label": "FB_PASSWORD"
},
{
"name": "FB_USERNAME",
"label": "FB_USERNAME",
"default": "admin"
}
],
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/file-browser.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 214
},
{
"categories": [
"Other",
"Tools"
],
"description": "Web File Browser which can be used as a middleware or standalone app.",
"image": "filebrowser/filebrowser:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/filebrowser.png",
"name": "filebrowser-latest",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://filebrowser.org/\" target=\"_blank\">https://filebrowser.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://filebrowser.org/installation#docker\" target=\"_blank\">https://filebrowser.org/installation#docker</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=30MYRgCObu8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=4 target=\"_blank\">Novaspirit Tech - Installing JDownloader and File Browser On The Pi Docker Server</a><br><br>The default user and password is admin/admin.",
"platform": "linux",
"ports": [
"8082:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "FileBrowser latest",
"type": 1,
"volumes": [
{
"container": "/srv",
"bind": "/portainer/Downloads"
},
{
"container": "/database/filebrowser.db",
"bind": "/portainer/Files/AppData/Config/filebrowser/filebrowser.db"
},
{
"container": "/config/settings.json",
"bind": "/portainer/Files/AppData/Config/filebrowser/settings.json"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 215
},
{
"categories": [
"Other",
"Tools"
],
"description": "[arm][s6-version] Web File Browser which can be used as a middleware or standalone app.",
"image": "filebrowser/filebrowser:s6",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/filebrowser.png",
"name": "filebrowser",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://filebrowser.org/\" target=\"_blank\">https://filebrowser.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://filebrowser.org/installation#docker\" target=\"_blank\">https://filebrowser.org/installation#docker</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=30MYRgCObu8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=4 target=\"_blank\">Novaspirit Tech - Installing JDownloader and File Browser On The Pi Docker Server</a><br><br>The default user and password is admin/admin.",
"platform": "linux",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"ports": [
"8082:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "FileBrowser S6",
"type": 1,
"volumes": [
{
"container": "/srv",
"bind": "/portainer/Downloads"
},
{
"container": "/database/filebrowser.db",
"bind": "/portainer/Files/AppData/Config/filebrowser/filebrowser.db"
},
{
"container": "/config/settings.json",
"bind": "/portainer/Files/AppData/Config/filebrowser/settings.json"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 216
},
{
"categories": [
"Files"
],
"description": "FileGator is a free, open-source, self-hosted web application for managing files and folders.",
"logo": "https://filegator.io/filegator_logo.svg",
"name": "filegator",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/filegator.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Filegator",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 217
},
{
"categories": [
"Downloaders"
],
"description": "Peer-to-peer file transfers in your browser",
"logo": "https://raw.githubusercontent.com/kern/filepizza/master/src/static/images/wordmark.png",
"name": "filepizza",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/filepizza.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Filepizza",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 218
},
{
"type": 3,
"name": "filerun",
"title": "Filerun",
"description": "access your files anywhere through self-hosted secure cloud storage, file backup and sharing for your photos, videos, files and more.",
"logo": "https://mediadepot.github.io/templates/img/filerun-logo.png",
"categories": [
"Documents",
"Other",
"Tools"
],
"env": [],
"repository": {
"url": "https://github.com/mediadepot/templates",
"stackfile": "stacks/filerun/docker-compose.yml"
},
"maintainer": "https://github.com/mediadepot/templates/",
"id": 219
},
{
"categories": [
"Files"
],
"description": "A Dropbox-like file manager that let you manage your data anywhere it is located.",
"logo": "https://downloads.filestash.app/brand/logo_white.svg",
"name": "filestash",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/filestash.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Filestash",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 220
},
{
"id": 221,
"type": 1,
"title": "Filezilla",
"name": "Filezilla",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/filezilla/config</p>",
"description": "[FIleZilla](https://filezilla-project.org/) Client is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive graphical user interface.",
"categories": [
"FTP"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/filezilla-logo.png",
"image": "linuxserver/filezilla:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/filezilla/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 222,
"type": 3,
"title": "Firefly III",
"name": "firefly-iii",
"description": "Personal finance manager for tracking what comes in and goes out, with budgets, subscriptions, recurring transactions, rules and reports. This one runs on Postgres. Source: https://github.com/firefly-iii/firefly-iii",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/public/images/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "FIREFLY_APP_KEY",
"label": "App key (required)",
"description": "Exactly 32 characters. Generate one with: openssl rand -hex 16. Keep it the same when you redeploy, or everyone's logged out and API tokens stop working."
},
{
"name": "FIREFLY_CRON_TOKEN",
"label": "Cron token (required)",
"description": "Exactly 32 characters, and not the same as the app key. Generate one with: openssl rand -hex 16."
},
{
"name": "FIREFLY_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Firefly III can't reach its database."
},
{
"name": "FIREFLY_PORT",
"label": "Host port for the web UI",
"default": "8092"
},
{
"name": "FIREFLY_TZ",
"label": "Timezone",
"description": "Like Europe/London. Transaction dates and the nightly cron use it.",
"default": "UTC"
},
{
"name": "FIREFLY_TRUSTED_PROXIES",
"label": "Trusted proxies",
"description": "Leave blank, unless it's behind a reverse proxy. Then set ** so Firefly III trusts the proxy's headers."
}
],
"note": "Fill in all three <b>secrets</b> before you deploy, since the stack won't start without them. The app key and cron token must be exactly 32 characters (<code>openssl rand -hex 16</code> makes one), and keep all three the same when you redeploy. Then open <code>http://&lt;your-host&gt;:8092</code> (or whichever port you picked) and register. The first account becomes the admin and sign-ups close after it, so do it straight away. A small cron container pings Firefly III at 03:00 every night, which is what creates recurring transactions and fires subscription reminders. Transactions live in Postgres, in the <code>postgres-data</code> volume, and attachments in <code>firefly-upload</code>. Docs: <a href=\"https://docs.firefly-iii.org\" target=\"_blank\">docs.firefly-iii.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/firefly-iii/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 223,
"type": 1,
"title": "Firefox (container)",
"name": "Firefox",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/firefox/config</p>",
"description": "[Firefox](https://www.mozilla.org/en-US/firefox/) Browser, also known as Mozilla Firefox or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/firefox-logo.png",
"image": "linuxserver/firefox:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "FIREFOX_CLI",
"label": "FIREFOX_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Firefox CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/firefox/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Browsers"
],
"description": "Firefox Browser, also known as Mozilla Firefox or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/Firefox.png",
"name": "firefox",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/firefox.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Firefox (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 224
},
{
"categories": [
"Multimedia"
],
"description": "Fireshare: Share your game clips, videos, or other media via unique links.",
"logo": "https://github.com/ShaneIsrael/fireshare/raw/main/app/client/src/assets/logo.png",
"name": "fireshare",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/fireshare.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Fireshare",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 225
},
{
"type": 3,
"title": "Fizzy",
"name": "fizzy",
"description": "Fizzy - 37signals' free, open-source kanban: fast, focused boards for bugs, issues, ideas, and small projects.",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "fizzy/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/fizzy.png",
"env": [
{
"name": "BASE_URL",
"label": "BASE_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "MAILER_FROM_ADDRESS",
"label": "MAILER_FROM_ADDRESS",
"description": "Optional: email for invites and notifications."
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"description": "Rails secret - a long random string."
},
{
"name": "SMTP_ADDRESS",
"label": "SMTP_ADDRESS"
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_USERNAME",
"label": "SMTP_USERNAME"
},
{
"name": "VAPID_PRIVATE_KEY",
"label": "VAPID_PRIVATE_KEY"
},
{
"name": "VAPID_PUBLIC_KEY",
"label": "VAPID_PUBLIC_KEY",
"description": "Optional: Web Push (browser notifications)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 226
},
{
"id": 227,
"type": 3,
"title": "Flagsmith",
"name": "flagsmith",
"description": "Feature flags and remote config for your apps: switch features on per environment, roll out to a percentage or a segment of users, and change values without a deploy, with SDKs for most languages. Source: https://github.com/Flagsmith/flagsmith",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Flagsmith/flagsmith/main/docs/static/img/logo.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "FLAGSMITH_SECRET",
"label": "Secret key (required)",
"description": "Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy."
},
{
"name": "FLAGSMITH_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Flagsmith can't reach its database."
},
{
"name": "FLAGSMITH_SECURE_COOKIES",
"label": "Opening it over plain http?",
"description": "Flagsmith only keeps you logged in over HTTPS unless this is on. Switch it off once it's behind a reverse proxy with HTTPS.",
"select": [
{
"text": "Yes, plain http",
"value": "false",
"default": true
},
{
"text": "No, it's behind HTTPS",
"value": "true"
}
]
},
{
"name": "FLAGSMITH_PORT",
"label": "Host port for the web UI and API",
"default": "8600"
}
],
"note": "Fill in the <b>secret key</b> and <b>database password</b> before you deploy, since the stack won't start without them (<code>openssl rand -hex 32</code> makes a good one of each), and keep both the same when you redeploy. The first start takes a minute or two while it builds the database. Then open it on port 8600 straight away and click <i>Get Started</i>, as whoever gets there first makes the admin account and the first organisation. The free self-hosted edition allows one project per organisation, so for another project click the logo at the top left, then <i>Create Organisation</i>. There's no email set up, so email invites and password resets won't send. Bring teammates in with the invite link under <i>Users and Permissions</i> instead. Anyone who can reach it can sign up too, so once your people are in, add <code>FLAGSMITH_PREVENT_SIGNUP</code> set to <code>true</code> to the stack's environment variables and redeploy (that closes the invite link as well). Point your apps' SDKs at <code>http://&lt;address&gt;:8600/api/v1/</code>. Everything lives in Postgres, in the <code>postgres-data</code> volume. Two things phone home. On every start the server sends Flagsmith a count of your organisations, projects, flags and users (add <code>FLAGSMITH_TELEMETRY</code> set to <code>false</code> to stop it). And the dashboard loads its own feature flags from Flagsmith's cloud, sending your user id, email and organisation name along with them. To keep that in-house, make an organisation just for this with one project in it, copy the client-side key from that project's <i>SDK Keys</i> page, then add <code>FLAGSMITH_UI_FLAGS_KEY</code> set to that key and <code>FLAGSMITH_UI_FLAGS_URL</code> set to <code>/api/v1/</code>, and redeploy. Docs: <a href=\"https://docs.flagsmith.com/deployment-self-hosting\" target=\"_blank\">docs.flagsmith.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/flagsmith/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Flame is self-hosted startpage for your server. Its design is inspired (heavily) by SUI. Flame is very easy to setup and use. With built-in editors, it allows you to setup your very own application hub in no time - no file editing necessary.",
"env": [
{
"default": "",
"label": "Flame Password",
"name": "PASSWORD"
}
],
"image": "pawelmalak/flame:multiarch",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/flame.png",
"name": "Flame",
"platform": "linux",
"ports": [
"5005:5005/tcp"
],
"restart_policy": "unless-stopped",
"title": "Flame",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/Flame/data"
},
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/pawelmalak/flame\" target=\"_blank\">https://github.com/pawelmalak/flame</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/pawelmalak/flame#with-docker-recommended\" target=\"_blank\">https://github.com/pawelmalak/flame#with-docker-recommended</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 228
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "Flame is self-hosted startpage for your server. Its design is inspired (heavily) by SUI. Flame is very easy to setup and use. With built-in editors, it allows you to setup your very own application hub in no time - no file editing necessary.",
"image": "pawelmalak/flame:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/flame.png",
"name": "flame-dashboard",
"platform": "linux",
"ports": [
"5005:5005/tcp"
],
"restart_policy": "unless-stopped",
"title": "Flame-Dashboard",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/flame-dashboard"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 229
},
{
"categories": [
"Other",
"Tools"
],
"description": "FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection.",
"env": [
{
"default": "info",
"label": "LOG_LEVEL",
"name": "LOG_LEVEL"
},
{
"default": "false",
"label": "LOG_HTML",
"name": "LOG_HTML"
},
{
"default": "none",
"label": "CAPTCHA_SOLVER",
"name": "CAPTCHA_SOLVER"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "ghcr.io/flaresolverr/flaresolverr:latest",
"logo": "https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/c48d342b9cfb65d7696b96e9867fcff0ae87a0e2/resources/flaresolverr_logo.svg",
"name": "FlareSolverr",
"platform": "linux",
"ports": [
"8191:8191/tcp"
],
"restart_policy": "unless-stopped",
"title": "FlareSolverr",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Docker Documentation: </b><a href=\"https://github.com/FlareSolverr/FlareSolverr#installation\" target=\"_blank\">https://github.com/FlareSolverr/FlareSolverr#installation</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 230
},
{
"id": 231,
"type": 3,
"title": "flatnotes",
"name": "flatnotes",
"description": "Distraction-free notes app with no folders or database, just a folder of markdown files behind full-text search, tags, wikilinks and a raw or WYSIWYG editor. Source: https://github.com/dullage/flatnotes",
"categories": [
"Productivity",
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/dullage/flatnotes/develop/client/assets/apple-touch-icon.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "FLATNOTES_USERNAME",
"label": "Username",
"default": "admin"
},
{
"name": "FLATNOTES_PASSWORD",
"label": "Password (required)",
"description": "What you'll log in with. Anything long and hard to guess."
},
{
"name": "FLATNOTES_SECRET_KEY",
"label": "Secret key (required)",
"description": "Signs your logins. Generate one with: openssl rand -hex 32"
},
{
"name": "FLATNOTES_PORT",
"label": "Host port for the web UI",
"default": "8780"
}
],
"note": "Set the <b>password</b> and <b>secret key</b> before you deploy (<code>openssl rand -hex 32</code> makes a good key), since the stack won't start without them. Then open <code>http://&lt;your-host&gt;:8780</code> (or whichever port you picked) and log in with that username and password. It's one account, read fresh on every start, so changing the password here and redeploying changes it, and a new secret key just logs you out. Notes are plain <code>.md</code> files in the <code>flatnotes-data</code> volume, with uploads in its <code>attachments</code> folder and the search index in <code>.flatnotes</code>. Docs: <a href=\"https://github.com/dullage/flatnotes/wiki\" target=\"_blank\">github.com/dullage/flatnotes/wiki</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/flatnotes/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 232,
"type": 1,
"title": "Flexget",
"name": "Flexget",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/flexget/config<br>mkdir -p /srv/lsio/flexget/data</p>",
"description": "[Flexget](http://flexget.com/) is a multipurpose automation tool for all of your media.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/flexget-banner.png",
"image": "linuxserver/flexget:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "FG_LOG_LEVEL",
"label": "FG_LOG_LEVEL",
"default": "info",
"description": "Set the FlexGet logging level."
},
{
"name": "FG_LOG_FILE",
"label": "FG_LOG_FILE",
"default": "/config/flexget.log",
"description": "Set the FlexGet log file location."
},
{
"name": "FG_CONFIG_FILE",
"label": "FG_CONFIG_FILE",
"default": "/config/.flexget/config.yml",
"description": "Set the FlexGet config file location."
},
{
"name": "FG_WEBUI_PASSWORD",
"label": "FG_WEBUI_PASSWORD",
"default": "info",
"description": "Set the FlexGet webui password. Pay attention to Bash/YAML reserved characters. [OPTIONAL]"
}
],
"ports": [
"5050:5050/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/flexget/config"
},
{
"container": "/data",
"bind": "/srv/lsio/flexget/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 233,
"type": 1,
"title": "Floating License Server",
"description": "License Server for Softing edgeConnector products",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/softing.png",
"image": "softingindustrial/floating-license-server:latest",
"ports": [
"6200/tcp"
],
"interactive": true,
"volumes": [
{
"container": "/licsrv/licenses"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Downloaders"
],
"description": "A docker image with qBittorrent and the Flood UI, also optional WireGuard VPN support.",
"logo": "https://hotio.dev/img/image-logos/flood.svg",
"name": "flood",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/flood.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Flood",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 234
},
{
"type": 3,
"title": "Flowise",
"name": "flowise",
"description": "Flowise - the visual builder for LLM apps: drag-and-drop chatflows and agentflows over 100+ integrations (models, vector stores, tools), with APIs and embeddable chat widgets. One app container + a managed Postgres.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "flowise/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/flowise.png",
"env": [
{
"name": "APP_URL",
"label": "APP_URL",
"description": "Public URL (set to the app's https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "EXPRESS_SESSION_SECRET",
"label": "EXPRESS_SESSION_SECRET"
},
{
"name": "FLOWISE_SECRETKEY_OVERWRITE",
"label": "FLOWISE_SECRETKEY_OVERWRITE",
"description": "Fixed key for stored credential encryption (survives recreations)."
},
{
"name": "JWT_AUTH_TOKEN_SECRET",
"label": "JWT_AUTH_TOKEN_SECRET",
"description": "Session/JWT signing."
},
{
"name": "JWT_REFRESH_TOKEN_SECRET",
"label": "JWT_REFRESH_TOKEN_SECRET"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 235
},
{
"categories": [
"AI",
"LLM"
],
"description": "Open source UI visual tool to build your customized LLM flow using LangchainJS, written in Node Typescript/Javascript",
"logo": "https://flowiseai.com/_next/static/images/flowise_logo_dark-6c1a356f4868d3deb7864323ff93a0fa.png",
"name": "flowiseai",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/flowiseai.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Flowiseai",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 236
},
{
"categories": [
"Downloaders",
"Tools"
],
"description": "Multi-protocol download manager with a web UI. Handles HTTP/HTTPS, FTP, BitTorrent (DHT/magnet), eD2K/Kad, HLS and DASH, with dynamic file segmentation, token-bucket rate limiting and SQLite-backed resume. Exposes an aria2-compatible JSON-RPC API. GitHub: [zerx-lab/FluxDown](https://github.com/zerx-lab/FluxDown)",
"env": [
{
"default": "UTC",
"label": "Timezone",
"name": "TZ"
}
],
"image": "ghcr.io/zerx-lab/fluxdown-server:0.2.3",
"logo": "https://cdn.jsdelivr.net/gh/zerx-lab/FluxDown@main/assets/logo/fluxdown_logo.svg",
"maintainer": "zerx-lab",
"name": "fluxdown",
"note": "First launch prints a one-time admin token to the container log: <code>docker logs &lt;container&gt; 2>&amp;1 | grep -i token</code>. The management API and the built-in MCP endpoint both require this token. Web UI is served on port 17800.",
"platform": "linux",
"ports": [
"17800:17800/tcp"
],
"restart_policy": "unless-stopped",
"title": "FluxDown",
"type": 1,
"volumes": [
{
"container": "/data"
},
{
"container": "/root/Downloads"
}
],
"id": 237
},
{
"id": 238,
"type": 1,
"title": "Flycast",
"name": "Flycast",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/flycast/config</p>",
"description": "[Flycast](https://github.com/flyinghead/flycast) is a multi-platform Sega Dreamcast, Naomi, Naomi 2, and Atomiswave emulator derived from reicast.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/flycast-logo.png",
"image": "linuxserver/flycast:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/flycast/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 239,
"type": 1,
"title": "Foldingathome",
"name": "Foldingathome",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/foldingathome/config</p>",
"description": "[Folding@home](https://foldingathome.org/) is a distributed computing project for simulating protein dynamics, including the process of protein folding and the movements of proteins implicated in a variety of diseases. It brings together citizen scientists who volunteer to run simulations of protein dynamics on their personal computers. Insights from this data are helping scientists to better understand biology, and providing new opportunities for developing therapeutics.",
"categories": [
"Science"
],
"platform": "linux",
"logo": "https://foldingathome.org/wp-content/uploads/2016/09/folding-at-home-logo.png",
"image": "linuxserver/foldingathome:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "ACCOUNT_TOKEN",
"label": "ACCOUNT_TOKEN",
"default": "",
"description": "Register for an account on `https://app.foldingathome.org` and retrieve account token in settings. Required on first start."
},
{
"name": "MACHINE_NAME",
"label": "MACHINE_NAME",
"default": "",
"description": "Assign a friendly name to this instance (no spaces). Required on first start."
},
{
"name": "CLI_ARGS",
"label": "CLI_ARGS",
"default": "",
"description": "Optionally pass additional cli arguments to `fah-client` on container start. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp",
"7396:7396/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/foldingathome/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Development",
"Version Control"
],
"description": "A self-hosted lightweight software forge, providing Git hosting, code review, issue tracking, and CI/CD. Source: https://codeberg.org/forgejo/forgejo",
"env": [
{
"default": "1000",
"label": "USER_UID",
"name": "USER_UID"
},
{
"default": "1000",
"label": "USER_GID",
"name": "USER_GID"
}
],
"image": "codeberg.org/forgejo/forgejo:15",
"logo": "https://avatars.githubusercontent.com/u/118922216",
"name": "forgejo",
"platform": "linux",
"ports": [
"3000:3000/tcp",
"222:22/tcp"
],
"restart_policy": "unless-stopped",
"title": "Forgejo (container)",
"type": 1,
"volumes": [
{
"container": "/data"
}
],
"id": 240
},
{
"type": 3,
"title": "Forgejo (stack)",
"name": "forgejo",
"description": "Forgejo - the community-governed git forge (the hard fork of Gitea, run by the non-profit Codeberg e.V.): repositories, issues, pull requests, packages, and CI via Forgejo Actions. One light Go binary + a managed Postgres.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "forgejo/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/forgejo.png",
"env": [
{
"name": "ROOT_URL",
"label": "ROOT_URL",
"description": "Full public URL with trailing slash (the app's https domain on Miget) - the web UI and clone URLs embed it.",
"default": "http://localhost:5000/"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 241
},
{
"type": 3,
"title": "Forgejo Runner",
"name": "forgejo-runner",
"description": "A Forgejo Actions runner in `host` mode - CI for your self-hosted Forgejo or for Codeberg, with jobs running as shell steps in this container (no Docker daemon needed). GitHub-Actions-compatible workflow syntax.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "forgejo-runner/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/forgejo.png",
"env": [
{
"name": "FORGEJO_URL",
"label": "FORGEJO_URL",
"description": "Your Forgejo instance (in-project: http://forgejo:5000) or Codeberg.",
"default": "https://codeberg.org"
},
{
"name": "RUNNER_CAPACITY",
"label": "RUNNER_CAPACITY",
"default": "1"
},
{
"name": "RUNNER_LABELS",
"label": "RUNNER_LABELS",
"description": "Jobs target this via runs-on.",
"default": "miget:host"
},
{
"name": "RUNNER_TOKEN",
"label": "RUNNER_TOKEN"
},
{
"name": "RUNNER_UUID",
"label": "RUNNER_UUID",
"description": "From the runner you create in the UI: Settings > Actions > Runners."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 242
},
{
"categories": [
"Other",
"Games"
],
"description": "This docker image provides the FoundryVTT system for hosting your own virtual table top games.",
"env": [
{
"default": "John",
"label": "Foundry Account Name",
"name": "FOUNDRY_USERNAME"
},
{
"default": "password",
"label": "Foundry Password",
"name": "FOUNDRY_PASSWORD"
},
{
"default": "changeme",
"label": "Instance Admin Password",
"name": "FOUNDRY_ADMIN_KEY"
},
{
"default": "true",
"label": "CONTAINER_PRESERVE_CONFIG",
"name": "CONTAINER_PRESERVE_CONFIG"
}
],
"image": "felddy/foundryvtt:release",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/foundrylogo.png",
"name": "FoundryVTT",
"platform": "linux",
"ports": [
"30000:30000/tcp"
],
"restart_policy": "unless-stopped",
"title": "FoundryVTT Server",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/foundryvtt"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://foundryvtt.com/\" target=\"_blank\">https://foundryvtt.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/felddy/foundryvtt\" target=\"_blank\">https://hub.docker.com/r/felddy/foundryvtt</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 243
},
{
"categories": [
"Dashboard",
"IOT"
],
"description": "Freeboard is a turn-key HTML-based 'engine' for dashboards. Besides a nice looking layout engine, it provides a plugin architecture for creating datasources (which fetch data) and widgets (which display data)\u2014 freeboard then does all the work to connect the two together.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/freeboard.jpg",
"name": "freeboard",
"repository": {
"stackfile": "Template/Stack/freeboard.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"ports": [
"8000:80/tcp"
],
"restart_policy": "always",
"title": "Freeboard",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 244
},
{
"id": 245,
"type": 1,
"title": "Freecad",
"name": "Freecad",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/freecad/config</p>",
"description": "[FreeCAD](https://www.freecad.org/) is a general-purpose parametric 3D computer-aided design (CAD) modeler and a building information modeling (BIM) software application with finite element method (FEM) support.",
"categories": [
"3D Modeling"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/freecad-logo.png",
"image": "linuxserver/freecad:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/freecad/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Helpdesk"
],
"description": "FreeScout is the super lightweight free open source help desk and shared inbox written in PHP (Laravel framework) \u2013 self hosted clone of HelpScout.",
"logo": "https://raw.githubusercontent.com/freescout-helpdesk/freescout/master/public/img/logo-300.png",
"name": "freescout",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/freescout.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Freescout",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 246
},
{
"id": 247,
"type": 1,
"title": "Freshrss",
"name": "Freshrss",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/freshrss/config</p>",
"description": "[Freshrss](https://freshrss.org/) is a free, self-hostable aggregator for rss feeds.",
"categories": [
"RSS"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/freshrss-banner.png",
"image": "linuxserver/freshrss:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/freshrss/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Video",
"AI"
],
"description": "A complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.",
"logo": "https://raw.githubusercontent.com/blakeblackshear/frigate/master/docs/static/img/frigate.png",
"name": "frigatenvr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/frigatenvr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Frigate NVR",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 248
},
{
"categories": [
"Audio",
"Multimedia"
],
"description": "A social platform to enjoy and share music.Funkwhale is a community-driven project that lets you listen and share music and audio within a decentralized, open network.",
"logo": "https://funkwhale.audio/img/with-text-500.4aff7861.png",
"name": "funkwhale",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/funkwhale.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Funkwhale",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 249
},
{
"categories": [
"RSS"
],
"description": "A lightweight RSS feed aggregator and reader.",
"name": "fusion",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/fusion.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Fusion",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 250
},
{
"id": 251,
"type": 1,
"title": "Fuuz Device Gateway",
"description": "A secure gateway that connects on-premise devices, PLCs, and data sources to the Fuuz Cloud for seamless, real-time integration.",
"note": "Fill out the configuration below, by default this will be accessible at http://{IP_Address}:5500. If you have questions or issues with setup, review our documentation at support.fuuz.com or contact support at support@fuuz.com",
"categories": [
"Ops",
"Mes",
"Wms"
],
"platform": "linux",
"logo": "https://mfgx-public.s3.us-east-1.amazonaws.com/assets/Favicon_A_60x60.png",
"image": "public.ecr.aws/n9a9v7z5/mfgx-native-app-device-gateway-server:latest",
"ports": [
"5500:5500/tcp",
"5501:5501/tcp"
],
"env": [
{
"name": "FUUZ_API_KEY",
"label": "API Key",
"description": "When the Fuuz API key is provided, the gateway will connect to the cloud on startup and not require the API Key to be created at first launch."
},
{
"name": "FUUZ_GATEWAY_AUTO_UPDATE",
"label": "Enable Auto Update",
"select": [
{
"text": "Yes",
"value": "true",
"default": true
},
{
"text": "No",
"value": "false"
}
]
},
{
"name": "FUUZ_GATEWAY_LOG_LEVEL",
"label": "Log Level",
"select": [
{
"text": "Error",
"value": "error"
},
{
"text": "Warn",
"value": "warn"
},
{
"text": "Info",
"value": "info",
"default": true
},
{
"text": "Debug",
"value": "debug"
},
{
"text": "Verbose",
"value": "verbose"
}
]
},
{
"name": "FUUZ_GATEWAY_LOG_RETENTION_DAYS",
"label": "Log Retention Days",
"default": "30"
},
{
"name": "FUUZ_GATEWAY_PORT",
"label": "Gateway Port",
"default": "5500"
},
{
"name": "FUUZ_GATEWAY_LISTEN_ADDRESS",
"label": "Listen Address",
"default": "0.0.0.0"
}
],
"command": "/fuuzdevicegateway/fuuzdevicegateway",
"volumes": [
{
"container": "/root/.fuuzdevicegateway/"
},
{
"container": "/fuuzdevicegateway/drivers/"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 252,
"type": 2,
"title": "Fuuz In-House Trial",
"description": "Deploy the Fuuz AI-driven Industrial Intelligence Platform. Unify manufacturing operations across MES, WMS, CMMS, and Quality with built-in DataOps integration, rapid application development, and an event-native architecture \u2014 or build your own custom manufacturing applications.",
"note": "For information on how to setup this template please visit our documentation here: https://support.fuuz.com/portal/en/kb/articles/setting-up-in-house-fuuz before you continue.",
"categories": [
"Ops",
"Mes",
"Wms"
],
"platform": "linux",
"logo": "https://mfgx-public.s3.us-east-1.amazonaws.com/assets/Favicon_A_60x60.png",
"repository": {
"url": "https://code.mfgx.io/scm/fp/fuuz-in-house.git",
"stackfile": "trial-stack.yml"
},
"env": [
{
"name": "FUUZ_LICENSE_KEY",
"label": "License key",
"description": "The license key provided by Fuuz. After signing up you will receive this in an email. Ensure you copied the entire license key otherwise it will not properly validate."
},
{
"name": "MONGO_INITDB_ROOT_USERNAME",
"label": "Mongo Root Username",
"description": "Root username for MongoDB. This is used to log into the database and should be kept secure. The value is defaulted to ease of setup for the trial, it's strongly reccomended to create a custom user.",
"default": "mongodb"
},
{
"name": "MONGO_INITDB_ROOT_PASSWORD",
"label": "Mongo Root Password",
"description": "Root password for MongoDB. This is used to log into the database and should be kept secure. The value is defaulted to ease of setup for the trial, it's strongly reccomended to create a strong password.",
"default": "admin"
},
{
"name": "RABBITMQ_DEFAULT_USER",
"label": "RabbitMQ Root Username",
"description": "Root username for RabbitMQ. This is used to log into the RabbitMQ Admin Dashboard and should be kept secure. The value is defaulted to ease of setup for the trial, it's strongly reccomended to create a custom user.",
"default": "rabbitmq"
},
{
"name": "RABBITMQ_DEFAULT_PASS",
"label": "RabbitMQ Root Password",
"description": "Root password for RabbitMQ. This is used to log into the RabbitMQ Admin Dashboard and should be kept secure. The value is defaulted to ease of setup for the trial, it's strongly reccomended to create a strong password.",
"default": "admin"
},
{
"name": "SMTP_PORT",
"label": "SMTP Port",
"description": "Port number for the SMTP server (default is 587)",
"default": "587"
},
{
"name": "SMTP_HOST",
"label": "SMTP Host",
"description": "Hostname or IP address of the SMTP server"
},
{
"name": "SMTP_USER",
"label": "SMTP User",
"description": "Username for SMTP server authentication"
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP Password",
"description": "Password for SMTP server authentication"
},
{
"name": "SMTP_SECURE",
"label": "SMTP Secure",
"select": [
{
"text": "Yes",
"value": "true"
},
{
"text": "No",
"value": "false",
"default": true
}
],
"description": "Whether the connection should use SSL/TLS"
},
{
"name": "SMTP_FROM_EMAIL_ADDRESS",
"label": "SMTP From Address",
"description": "The email address that will appear in the 'From' field of outgoing emails"
},
{
"name": "AWS_S3_ACCESS_KEY_ID",
"label": "S3 Access Key",
"description": "By default this uses the localstack container running within the stack. If you change this value after storing files you will lose access to those files.",
"default": "LSIAaccessKey"
},
{
"name": "AWS_S3_SECRET_ACCESS_KEY",
"label": "S3 Secret Key",
"description": "By default this uses the localstack container running within the stack. If you change this value after storing files you will lose access to those files.",
"default": "LSIAsecretKey"
},
{
"name": "AWS_S3_BUCKET_NAME",
"label": "Bucket Name",
"description": "By default when using the localstack container this will be fuuz-bucket. This only needs to be changed if you are persisting files in S3.",
"default": "fuuz-bucket"
},
{
"name": "AWS_S3_ENDPOINT_URL",
"label": "AWS S3 Endpoint Url",
"default": "http://localstack.fuuz.localhost",
"description": "By default this uses the localstack container running within the stack. If you are using localstack, this url will be in the format 'http://localstack.${MFGX_ENTERPRISE_DOMAIN}'. If you change the MFGX_ENTERPRISE_DOMAIN ensure you update this to match. If you change this value after storing files you will lose access to those files. If you are using S3 set this with your regions url (ex: https://s3.us-east-1.amazonaws.com)."
},
{
"name": "AWS_S3_FORCE_PATH_STYLE",
"label": "AWS S3 Force Path Style",
"select": [
{
"text": "Yes",
"value": "true",
"default": true
},
{
"text": "No",
"value": "false"
}
],
"description": "If you are using S3 instead of localstack set this to No, otherwise leave the default."
},
{
"name": "ENABLE_LOCALSTACK",
"label": "Enable Localstack",
"select": [
{
"text": "Yes",
"value": "true",
"default": true
},
{
"text": "No",
"value": "false"
}
],
"description": "When true, a proxy route will be setup to direct traffic to the localstack container. If you are using S3 this should be set to false."
},
{
"name": "MFGX_ENTERPRISE_DOMAIN",
"label": "Enterprise Domain Name",
"default": "fuuz.localhost",
"description": "The domain name used to access the Fuuz In-House application. By default this will resolve to fuuz.localhost so it can resolve to a local machine. The backend service api will always be defined as `api.<domain>`. If you are creating DNS records for this ensure you include both `api.<domain>` and `<domain>` in your DNS configuration."
},
{
"name": "JWT_EXPIRES_IN",
"label": "Token Expiration",
"default": "15m",
"description": "Duration before a token needs refreshing. Examples: '15m', '2h', '1d'."
},
{
"name": "JWT_MAX_AGE",
"label": "Token Max Age",
"default": "90m",
"description": "How long a token can live for before the user needs to re-authenticate. This should always be greater than the Token Expiration."
},
{
"name": "ALLOW_NON_SSL",
"label": "Allow Non SSL Connections",
"select": [
{
"text": "Yes",
"value": "true",
"default": true
},
{
"text": "No",
"value": "false"
}
],
"description": "By default the stack is not configured to use SSL/TLS. Set this to false if you want the proxy to upgrade any HTTP requests to HTTPS. You will need to provide valid certificates for this to work properly."
},
{
"name": "CERT_DIR",
"label": "Certificate Directory",
"default": "/fuuz/certs",
"description": "Defines where we should look for certificates for the reverse proxy. These aren't required by default as the proxy will generate self-signed certs if no cert is found. The certs need to be named <domain>.crt and <domain>.key to be detected. Review the nginx-proxy logs on startup to determine whether it loaded your certs or generated self-signed ones."
},
{
"name": "ENGINE_OPTIONS_CONCURRENCY",
"label": "Data Flow Node Concurrency",
"select": [
{
"text": "5",
"value": "5"
},
{
"text": "10",
"value": "10",
"default": true
},
{
"text": "15",
"value": "15"
}
],
"description": "How many nodes in a data flow can execute concurrently. Scale further by adding orchestration-worker replicas \u2014 each replica adds this many concurrent node executions."
},
{
"name": "ENGINE_LOGGING_EXECUTION_SUCCEEDED",
"label": "Log Data Flow Node Success",
"select": [
{
"text": "Yes",
"value": "true"
},
{
"text": "No",
"value": "false",
"default": true
}
],
"description": "When true, the engine will log every successful node execution in data flows. It is recommended to leave this as false unless debugging as the database will grow in size rapidly."
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 1,
"name": "gaps",
"title": "Gaps",
"description": "Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection.",
"logo": "https://mediadepot.github.io/templates/img/plex-icon.png",
"image": "housewrecker/gaps:latest",
"categories": [
"Tools",
"Web",
"Other"
],
"ports": [
"8484/tcp"
],
"volumes": [],
"env": [
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.gaps.loadbalancer.server.port",
"value": "8484"
},
{
"name": "traefik.http.routers.gaps.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.gaps.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 253
},
{
"type": 3,
"title": "Garage",
"name": "garage",
"description": "Garage - the S3-compatible object store the self-hosting community moved to after MinIO archived its open source in 2026: a single static Rust binary, AGPL, actively released, designed for exactly this job.",
"categories": [
"Object Storage"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "garage/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/garage.png",
"env": [
{
"name": "GARAGE_ADMIN_TOKEN",
"label": "GARAGE_ADMIN_TOKEN"
},
{
"name": "GARAGE_RPC_SECRET",
"label": "GARAGE_RPC_SECRET"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 254
},
{
"categories": [
"Social",
"Events"
],
"description": "Gathio is a simple, federated, privacy-first event hosting platform.",
"logo": "https://gath.io/og-image.jpg",
"name": "gathio",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/gathio.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Gathio",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 255
},
{
"categories": [
"Monitoring",
"Networking"
],
"description": "Automated developer-oriented status page with highly configurable health checks. Source: https://github.com/TwiN/gatus",
"env": [],
"image": "twinproduction/gatus:stable",
"logo": "https://avatars.githubusercontent.com/u/15699766",
"name": "gatus",
"note": "Mount a config.yaml into /config to define your health checks; Gatus starts with defaults if none is present.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Gatus",
"type": 1,
"volumes": [
{
"container": "/config"
}
],
"id": 256
},
{
"categories": [
"Web",
"Books",
"Tools"
],
"description": "A WebApp Comic Reader for your favorite digital comics. Reach and read your comic library from any web connected device with a modern web browser.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/gazee:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/gazee-logo.png",
"name": "gazee",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Gazee",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Gazee"
},
{
"container": "/comics",
"bind": "/portainer/Comics"
},
{
"container": "/mylar",
"bind": "/portainer/Files/AppData/Gazee"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 257
},
{
"id": 258,
"type": 1,
"title": "Ghost (container)",
"description": "Free and open-source blogging platform",
"categories": [
"Blog"
],
"note": "Access the blog management interface under <code>/ghost/</code>.",
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ghost.png",
"image": "ghost:latest",
"ports": [
"2368/tcp"
],
"volumes": [
{
"container": "/var/lib/ghost/content"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Blog"
],
"description": "Create your own platform on the web. Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.",
"logo": "https://ghost.org/images/logos/logo-black-1.webp",
"name": "ghost",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ghost.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ghost (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 259
},
{
"categories": [
"Finance"
],
"description": "Ghostfolio is an open source wealth management software built with web technology.",
"logo": "https://avatars.githubusercontent.com/u/82473144?s=200",
"name": "Ghostfolio",
"repository": {
"stackfile": "Template/Stack/ghostfolio.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"ports": [
"3663:80/tcp"
],
"restart_policy": "always",
"title": "Ghostfolio",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 260
},
{
"id": 261,
"type": 1,
"title": "Gimp",
"name": "Gimp",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/gimp/config</p>",
"description": "[GIMP](https://www.gimp.org/) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. It is extensible by means of plugins, and scriptable.",
"categories": [
"Image Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/gimp-logo.png",
"image": "linuxserver/gimp:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/gimp/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Web",
"Tools"
],
"description": "Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "gitea/gitea:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/gitea.png",
"name": "gitea",
"note": "Use SQLite3 for the database unless you have an external one setup.",
"ports": [
"3000:3000/tcp",
"222:22/tcp"
],
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Gitea",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/Gitea"
},
{
"container": "/etc/timezone:ro",
"bind": " /etc/timezone"
},
{
"container": "/etc/localtime:ro",
"bind": "/etc/localtime"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 262
},
{
"type": 3,
"title": "GitHub Actions Runner",
"name": "github-runner",
"description": "A self-hosted GitHub Actions runner: your workflows, your hardware, zero per-minute billing. Uses `myoung34/github-runner` (the de-facto env-driven runner image) with PAT-based auto-registration.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "github-runner/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/github.png",
"env": [
{
"name": "ACCESS_TOKEN",
"label": "ACCESS_TOKEN",
"description": "Fine-grained or classic PAT."
},
{
"name": "EPHEMERAL",
"label": "EPHEMERAL",
"description": "true = runner deregisters after each job (clean-slate; pairs with replicas)",
"default": "false"
},
{
"name": "LABELS",
"label": "LABELS",
"default": "self-hosted,linux,x64,miget"
},
{
"name": "ORG_NAME",
"label": "ORG_NAME",
"description": "For org scope (set RUNNER_SCOPE=org and leave REPO_URL empty):"
},
{
"name": "REPO_URL",
"label": "REPO_URL",
"description": "For repo scope:"
},
{
"name": "RUNNER_NAME_PREFIX",
"label": "RUNNER_NAME_PREFIX",
"default": "miget"
},
{
"name": "RUNNER_SCOPE",
"label": "RUNNER_SCOPE",
"description": "repo | org",
"default": "repo"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 263
},
{
"id": 264,
"type": 1,
"title": "Github-desktop",
"name": "Github-desktop",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/github-desktop/config</p>",
"description": "[Github Desktop](https://desktop.github.com/) is an open source Electron-based GitHub app. It is written in TypeScript and uses React.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/github-desktop-icon.png",
"image": "linuxserver/github-desktop:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/github-desktop/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 265,
"type": 1,
"title": "GitLab CE",
"description": "Open-source end-to-end software development platform",
"note": "Default username is <b>root</b>. Check the <a href=\"https://docs.gitlab.com/ee/install/docker.html\" target=\"_blank\">GitLab documentation</a> to get started.",
"categories": [
"Development",
"Project Management"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/gitlab_ce.png",
"image": "gitlab/gitlab-ce:latest",
"ports": [
"80/tcp",
"443/tcp",
"22/tcp"
],
"volumes": [
{
"container": "/etc/gitlab"
},
{
"container": "/var/log/gitlab"
},
{
"container": "/var/opt/gitlab"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "GitLab Runner",
"name": "gitlab-runner",
"description": "A self-hosted GitLab Runner in shell mode: jobs run inside this container, your own compute, no CI-minute quota. Registers itself on first boot and persists registration on a volume.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "gitlab-runner/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitlab.png",
"env": [
{
"name": "CI_SERVER_TOKEN",
"label": "CI_SERVER_TOKEN",
"description": "Runner authentication token (glrt-...): create the runner in GitLab (Settings > CI/CD > Runners > New runner) - tags and run-untagged are set there, server-side"
},
{
"name": "CI_SERVER_URL",
"label": "CI_SERVER_URL",
"description": "gitlab.com or your self-managed GitLab.",
"default": "https://gitlab.com"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 266
},
{
"id": 267,
"type": 1,
"title": "Gitqlient",
"name": "Gitqlient",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/gitqlient/config</p>",
"description": "[GitQlient](https://github.com/francescmm/GitQlient) is a multi-platform Git client originally forked from QGit. Nowadays it goes beyond of just a fork and adds a lot of new functionality.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/gitqlient-icon.png",
"image": "linuxserver/gitqlient:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/gitqlient/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Dashboard",
"Monitoring"
],
"description": "A self-hosted dashboard that puts all your feeds in one place. Source: https://github.com/glanceapp/glance",
"env": [],
"image": "glanceapp/glance:latest",
"logo": "https://avatars.githubusercontent.com/u/159397742",
"name": "glance",
"note": "Glance needs a glance.yml config file in the mounted /app/config directory to start. Add one (see the project's example configuration) and restart.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Glance",
"type": 1,
"volumes": [
{
"container": "/app/config"
}
],
"id": 268
},
{
"categories": [
"Monitoring"
],
"description": "Glances is an open-source system cross-platform monitoring tool. It allows real-time monitoring of various aspects of your system such as CPU, memory, disk, network usage etc.",
"logo": "https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/glances-responsive-webdesign.png",
"name": "glances",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/glances.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Glances",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 269
},
{
"type": 3,
"title": "GlitchTip",
"name": "glitchtip",
"description": "GlitchTip, open-source, Sentry-API-compatible error tracking (point any Sentry SDK at its DSN) at a fraction of self-hosted Sentry's footprint.",
"categories": [
"Error Tracking"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "glitchtip/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/glitchtip.png",
"env": [
{
"name": "GLITCHTIP_DOMAIN",
"label": "GLITCHTIP_DOMAIN",
"description": "Public URL; set to the web app's https domain on Miget (after first deploy).",
"default": "http://localhost:5000"
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY",
"description": "Copy to .env for local `docker compose up`."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 270
},
{
"categories": [
"Proxy"
],
"description": "Simple socks5 server using go-socks5 with authentication options",
"image": "serjs/go-socks5-proxy:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/socks5.png",
"name": "socks5-proxy",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Go-Socks5-Proxy",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hub.docker.com/r/serjs/go-socks5-proxy\" target=\"_blank\">https://hub.docker.com/r/serjs/go-socks5-proxy</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/serjs/go-socks5-proxy\" target=\"_blank\">https://hub.docker.com/r/serjs/go-socks5-proxy</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=IWj1-j2QWvo target=\"_blank\">Novaspirit Tech - Route Docker Traffic Through VPN Container</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 271
},
{
"categories": [
"Personal Finance"
],
"description": "Golang-based web application for personal expense management, focused on a clean monthly workflow and intuitive tracking of recurring and non-recurring costs.",
"name": "gocostweb",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/gocostweb.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "GoCostWeb",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 272
},
{
"categories": [
"Cloud"
],
"description": "Gokapi is a lightweight server to share files, which expire after a set amount of downloads or days. It is similar to the discontinued Firefox Send, with the difference that only the admin is allowed to upload files",
"logo": "https://noted.lol/content/images/2023/02/gokapi-self-hosted-main.png",
"name": "gokapi",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/gokapi.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Gokapi",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 273
},
{
"categories": [
"Tools",
"Documents"
],
"description": "Docker-powered stateless API for PDF files: conversions, generation, merging, and more. Source: https://github.com/gotenberg/gotenberg",
"env": [],
"image": "gotenberg/gotenberg:8",
"logo": "https://avatars.githubusercontent.com/u/66820499",
"name": "gotenberg",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Gotenberg",
"type": 1,
"id": 274
},
{
"categories": [
"Other",
"Tools"
],
"description": "A simple server for sending and receiving messages",
"env": [
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
},
{
"default": "admin",
"label": "GOTIFY_DEFAULTUSER_NAME",
"name": "GOTIFY_DEFAULTUSER_NAME"
},
{
"default": "admin123",
"label": "GOTIFY_DEFAULTUSER_PASS",
"name": "GOTIFY_DEFAULTUSER_PASS"
}
],
"image": "gotify/server-arm7:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/gotify.png",
"name": "gotify",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://gotify.net/\" target=\"_blank\">https://gotify.net/</a><br><b>Official Docker Documentation: </b><a href=\"https://gotify.net/docs/install\" target=\"_blank\">https://gotify.net/docs/install</a><br><br><br>ARM7 Image. Documentation is Available <a href='https://gotify.net/docs/index'>here</a>.",
"platform": "linux",
"ports": [
"9008:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Gotify",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/gotify"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 275
},
{
"categories": [
"Social",
"Fediverse"
],
"description": "An ActivityPub social network server written in Go, providing a lightweight alternative to Mastodon. Source: https://codeberg.org/superseriousbusiness/gotosocial",
"env": [
{
"default": "localhost",
"label": "Your public domain (cannot be changed later)",
"name": "GTS_HOST"
},
{
"default": "sqlite",
"label": "Database type",
"name": "GTS_DB_TYPE"
},
{
"default": "/gotosocial/storage/sqlite.db",
"label": "SQLite database file (kept on the storage volume)",
"name": "GTS_DB_ADDRESS"
},
{
"default": "false",
"label": "Use built-in Let's Encrypt (set false when behind a reverse proxy)",
"name": "GTS_LETSENCRYPT_ENABLED"
}
],
"image": "superseriousbusiness/gotosocial:latest",
"logo": "https://avatars.githubusercontent.com/u/79751420",
"name": "gotosocial",
"note": "Set GTS_HOST to your public domain before first run (it cannot be changed afterwards). GoToSocial serves HTTP on :8080 \u2014 front it with an HTTPS reverse proxy. After the stack is up, create your first user with the CLI: docker exec into the container and run 'gotosocial admin account create' then 'gotosocial admin account promote'. See https://docs.gotosocial.org",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "GoToSocial",
"type": 1,
"volumes": [
{
"container": "/gotosocial/storage"
}
],
"id": 276
},
{
"categories": [
"Analytics",
"Monitoring",
"Visualization"
],
"description": "Grafana is the open source analytics & monitoring solution for every database.",
"logo": "https://upload.wikimedia.org/wikipedia/commons/9/9d/Grafana_logo.png?20170804201233",
"name": "grafana",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/grafana.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Grafana",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 277
},
{
"id": 278,
"type": 3,
"title": "Grafana Dashboard",
"description": "Multi-platform open-source interactive visualization web application",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Grafana_logo.svg/1200px-Grafana_logo.svg.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/grafana/docker-compose.yml"
},
"env": [
{
"name": "grafana_admin",
"label": "Grafana Dashboard Username"
},
{
"name": "grafana_password",
"label": "Grafana Dashboard Password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Grafana Stack",
"name": "grafana-stack",
"description": "Grafana + Prometheus + Loki - dashboards, metrics, and logs for everything in your project, at a flat price instead of per-host or per-GB-ingested SaaS pricing.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "grafana-stack/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/grafana.png",
"env": [
{
"name": "GF_ADMIN_PASSWORD",
"label": "GF_ADMIN_PASSWORD",
"description": "Grafana admin login (user defaults to admin)."
},
{
"name": "GF_ADMIN_USER",
"label": "GF_ADMIN_USER",
"default": "admin"
},
{
"name": "GF_ROOT_URL",
"label": "GF_ROOT_URL",
"description": "Set to the app's https domain on Miget (OAuth/links).",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 279
},
{
"id": 280,
"type": 1,
"title": "Grav",
"name": "Grav",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/grav/config</p>",
"description": "[Grav](https://github.com/getgrav/grav/) is a Fast, Simple, and Flexible, file-based Web-platform.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/grav-logo.png",
"image": "linuxserver/grav:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/grav/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 281,
"type": 3,
"title": "Grist",
"name": "grist",
"description": "Spreadsheet that works like a database, with typed columns, Python formulas, linked tables, charts and forms. Source: https://github.com/gristlabs/grist-core",
"categories": [
"Database",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/gristlabs/grist-core/main/static/icons/grist.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "GRIST_SESSION_SECRET",
"label": "Session secret (required)",
"description": "Signs everyone's login cookies. Generate one with: openssl rand -hex 32"
},
{
"name": "GRIST_PORT",
"label": "Host port for the web UI",
"default": "8484"
}
],
"note": "Set the <b>session secret</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:8484</code> (or whichever port you picked). It asks for a <b>boot key</b> first, which Grist prints in the container's logs every time it starts (look for <code>BOOT KEY</code>), then an admin email, then walks you through Quick setup. Take care on its sign-in step: <i>No authentication</i> means anyone who can reach the port can open and edit everything, so only pick it on a private network. <i>Sign in with getgrist.com</i> and forwarded headers (for Authelia and the like) are the free options, and OIDC needs an activation key. The last step has product telemetry switched on, so untick it there if you'd rather it didn't. Documents, users and settings all live in the <code>grist-data</code> volume. Docs: <a href=\"https://support.getgrist.com/self-managed/\" target=\"_blank\">support.getgrist.com/self-managed</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/grist/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 282,
"type": 1,
"title": "Grocy (container)",
"name": "Grocy",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/grocy/config</p>",
"description": "[Grocy](https://github.com/grocy/grocy) is an ERP system for your kitchen! Cut down on food waste, and manage your chores with this brilliant utility. Keep track of your purchases, how much food you are wasting, what chores need doing and what batteries need charging with this proudly Open Source tool For more information on grocy visit their website and check it out: https://grocy.info",
"categories": [
"Recipes"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/grocy-logo.png",
"image": "linuxserver/grocy:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"9283:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/grocy/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools"
],
"description": "Grocy is an ERP system for your kitchen! Cut down on food waste, and manage your chores with this brilliant utility.\n\nSource: https://github.com/grocy/grocy",
"logo": "https://grocy.info/img/grocy_logo.svg",
"name": "grocy",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/grocy.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Grocy (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 283
},
{
"categories": [
"Remote Control"
],
"description": "A clientless remote desktop gateway.",
"image": "oznu/guacamole:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/guacamole.png",
"name": "guacamole",
"note": "The default login will be guacadmin/guacadmin. It is common practice to add a new admin user and remove the default user for Guacamole.",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Guacamole",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Guacamole"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 284
},
{
"id": 285,
"type": 1,
"title": "Gzdoom",
"name": "Gzdoom",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/gzdoom/config</p>",
"description": "[GZDoom](https://gzdoom.app/) is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/gzdoom-logo.png",
"image": "linuxserver/gzdoom:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/gzdoom/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 286,
"type": 1,
"title": "Habridge",
"name": "Habridge",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/habridge/config</p>",
"description": "[Habridge](https://github.com/bwssytems/ha-bridge/) emulates Philips Hue API to other home automation gateways such as an Amazon Echo/Dot Gen 1 (gen 2 has issues discovering ha-bridge) or other systems that support Philips Hue. The Bridge handles basic commands such as On, Off and brightness commands of the hue protocol. This bridge can control most devices that have a distinct API.",
"categories": [
"Home Automation"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/habridge-logo.png",
"image": "linuxserver/habridge:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SEC_KEY",
"label": "SEC_KEY",
"default": "",
"description": "Key used to secure communication."
}
],
"ports": [
"8080:8080/tcp",
"50000:50000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/habridge/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 287,
"type": 3,
"title": "Halo",
"name": "halo",
"description": "Website and blogging platform with a rich editor, themes, plugins, comments and pages, run from a web console. This one runs on Postgres. Source: https://github.com/halo-dev/halo",
"categories": [
"CMS",
"Web"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/halo-dev/halo/main/ui/src/assets/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "HALO_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Halo can't reach its database."
},
{
"name": "HALO_PORT",
"label": "Host port for the web UI",
"default": "8091"
},
{
"name": "HALO_TZ",
"label": "Timezone",
"description": "Like Europe/London. Post dates on the site use it.",
"default": "UTC"
}
],
"note": "Set the <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it. Then open <code>http://&lt;your-host&gt;:8091</code> (or whichever port you picked) from the address you'll actually use, since the setup page saves it as the site's External URL. That page also creates the admin, and whoever reaches it first gets to, so do it straight away. The console is at <code>/console</code>. The sample post, About page, menu and category it starts with are in Chinese whatever language you pick, so rename or delete them there. Posts and settings live in Postgres, in the <code>postgres-data</code> volume, and uploads, themes and plugins in <code>halo-data</code>. Docs (in Chinese): <a href=\"https://docs.halo.run\" target=\"_blank\">docs.halo.run</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/halo/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 288,
"type": 1,
"title": "Handbrake",
"name": "Handbrake",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/handbrake/config</p>",
"description": "[HandBrake](https://handbrake.fr/) is an open-source tool, built by volunteers, for converting video from nearly any format to a selection of modern, widely supported codecs.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/handbrake-logo.png",
"image": "linuxserver/handbrake:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/handbrake/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity"
],
"description": "Hasty Paste is a fast and minimal paste bin, written in Python using Quart.",
"name": "hasty-paste",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/hasty-paste.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Hasty-Paste",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 289
},
{
"type": 3,
"title": "Hasura",
"name": "hasura",
"description": "Hasura v2 CE - instant GraphQL over Postgres: track tables and get queries, mutations, and live subscriptions with row-level permissions, remote schemas, and event triggers. Stateless single container; everything lives in the database.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "hasura/compose.yaml"
},
"env": [
{
"name": "HASURA_ADMIN_SECRET",
"label": "HASURA_ADMIN_SECRET"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 290
},
{
"categories": [
"Tracking"
],
"description": "Hauk is a fully open source, self-hosted location sharing service. Install the backend code on a PHP-compatible web server, install the companion app on your phone, and you're good to go!",
"logo": "https://github.com/bilde2910/Hauk/raw/master/frontend/assets/logo.svg",
"name": "hauk",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/hauk.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Hauk",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 291
},
{
"categories": [
"Music"
],
"description": "Headphones is an automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, \u00b5Torrent and Blackhole.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/headphones:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/headphones-icon.png",
"name": "headphones",
"platform": "linux",
"ports": [
"8181:8181/tcp"
],
"restart_policy": "unless-stopped",
"title": "Headphones",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Headphones"
},
{
"container": "/Downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/music",
"bind": "/portainer/Music"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 292
},
{
"id": 293,
"type": 1,
"title": "Healthchecks",
"name": "Healthchecks",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/healthchecks/config</p>",
"description": "[Healthchecks](https://github.com/healthchecks/healthchecks) is a watchdog for your cron jobs. It's a web server that listens for pings from your cron jobs, plus a web interface.",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/healthchecks-logo.png",
"image": "linuxserver/healthchecks:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY",
"default": "",
"description": "A secret key used for cryptographic signing. Will generate a random value if one is not supplied and save it to `/config/local_settings.py`."
},
{
"name": "SITE_ROOT",
"label": "SITE_ROOT",
"default": "",
"description": "The site's top-level URL and the port it listens to if different than 80 or 443 (e.g., https://healthchecks.example.com:8000)."
},
{
"name": "SITE_NAME",
"label": "SITE_NAME",
"default": "",
"description": "The site's name (e.g., 'Example Corp HealthChecks')."
},
{
"name": "SUPERUSER_EMAIL",
"label": "SUPERUSER_EMAIL",
"default": "",
"description": "Superuser email."
},
{
"name": "SUPERUSER_PASSWORD",
"label": "SUPERUSER_PASSWORD",
"default": "",
"description": "Superuser password."
},
{
"name": "ALLOWED_HOSTS",
"label": "ALLOWED_HOSTS",
"default": "",
"description": "A comma-separated list of valid hostnames for the server. Default is the domain portion of `SITE_ROOT`. [OPTIONAL]"
},
{
"name": "APPRISE_ENABLED",
"label": "APPRISE_ENABLED",
"default": "False",
"description": "Set to `True` to enable the Apprise integration (https://github.com/caronc/apprise). [OPTIONAL]"
},
{
"name": "CSRF_TRUSTED_ORIGINS",
"label": "CSRF_TRUSTED_ORIGINS",
"default": "",
"description": "A [list](https://docs.python.org/3/tutorial/introduction.html#lists) of trusted origins for unsafe requests (e.g. POST). Defaults to the value of `SITE_ROOT`. [OPTIONAL]"
},
{
"name": "DEBUG",
"label": "DEBUG",
"default": "True",
"description": "Set to `False` to disable. Debug mode relaxes CSRF protections and increases logging verbosity but should be disabled for production instances as it will impact performance and security. [OPTIONAL]"
},
{
"name": "DEFAULT_FROM_EMAIL",
"label": "DEFAULT_FROM_EMAIL",
"default": "",
"description": "From email for alerts. [OPTIONAL]"
},
{
"name": "EMAIL_HOST",
"label": "EMAIL_HOST",
"default": "",
"description": "SMTP host. [OPTIONAL]"
},
{
"name": "EMAIL_PORT",
"label": "EMAIL_PORT",
"default": "",
"description": "SMTP port. [OPTIONAL]"
},
{
"name": "EMAIL_HOST_USER",
"label": "EMAIL_HOST_USER",
"default": "",
"description": "SMTP user. [OPTIONAL]"
},
{
"name": "EMAIL_HOST_PASSWORD",
"label": "EMAIL_HOST_PASSWORD",
"default": "",
"description": "SMTP password. [OPTIONAL]"
},
{
"name": "EMAIL_USE_TLS",
"label": "EMAIL_USE_TLS",
"default": "",
"description": "Use TLS for SMTP (`True` or `False`). [OPTIONAL]"
},
{
"name": "INTEGRATIONS_ALLOW_PRIVATE_IPS",
"label": "INTEGRATIONS_ALLOW_PRIVATE_IPS",
"default": "",
"description": "Defaults to False. Set to True to allow integrations to connect to private IP addresses. [OPTIONAL]"
},
{
"name": "PING_EMAIL_DOMAIN",
"label": "PING_EMAIL_DOMAIN",
"default": "",
"description": "The domain to use for generating ping email addresses. Defaults to `localhost`. [OPTIONAL]"
},
{
"name": "RP_ID",
"label": "RP_ID",
"default": "",
"description": "If using webauthn for 2FA set this to match your Healthchecks domain. Webauthn will only work over https. [OPTIONAL]"
},
{
"name": "SITE_LOGO_URL",
"label": "SITE_LOGO_URL",
"default": "",
"description": "Full URL to custom site logo. [OPTIONAL]"
}
],
"ports": [
"8000:8000/tcp",
"2525:2525/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/healthchecks/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 294,
"type": 1,
"title": "Hedgedoc",
"name": "Hedgedoc",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/hedgedoc/config</p>",
"description": "[HedgeDoc](https://hedgedoc.org/) gives you access to all your files wherever you are. HedgeDoc is a real-time, multi-platform collaborative markdown note editor. This means that you can write notes with other people on your desktop, tablet or even on the phone. You can sign-in via multiple auth providers like Facebook, Twitter, GitHub and many more on the homepage.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hedgedoc-banner.png",
"image": "linuxserver/hedgedoc:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "<hostname or ip>",
"description": "Host address of mariadb database"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "3306",
"description": "Port to access mariadb database default is 3306"
},
{
"name": "DB_USER",
"label": "DB_USER",
"default": "hedgedoc",
"description": "Database user"
},
{
"name": "DB_PASS",
"label": "DB_PASS",
"default": "<secret password>",
"description": "Database password"
},
{
"name": "DB_NAME",
"label": "DB_NAME",
"default": "hedgedoc",
"description": "Database name"
},
{
"name": "CMD_DOMAIN",
"label": "CMD_DOMAIN",
"default": "localhost",
"description": "The address the gui will be accessed at (ie. `192.168.1.1` or `hedgedoc.domain.com`)."
},
{
"name": "CMD_URL_ADDPORT",
"label": "CMD_URL_ADDPORT",
"default": "false",
"description": "Set to `true` if using a port other than `80` or `443`. [OPTIONAL]"
},
{
"name": "CMD_PROTOCOL_USESSL",
"label": "CMD_PROTOCOL_USESSL",
"default": "false",
"description": "Set to `true` if accessing over https via reverse proxy. [OPTIONAL]"
},
{
"name": "CMD_PORT",
"label": "CMD_PORT",
"default": "3000",
"description": "If you wish to access hedgedoc at a port different than 80, 443 or 3000, you need to set this to that port (ie. `CMD_PORT=5000`) and change the port mapping accordingly (5000:5000). [OPTIONAL]"
},
{
"name": "CMD_ALLOW_ORIGIN",
"label": "CMD_ALLOW_ORIGIN",
"default": "['localhost']",
"description": "Comma-separated list of allowed hostnames [OPTIONAL]"
},
{
"name": "CMD_DB_DIALECT",
"label": "CMD_DB_DIALECT",
"default": "",
"description": "This variable allows selecting a database engine (if DB_HOST not set up). Available options are: `mariadb`, `mysql`, `postgres`, `sqlite`. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/hedgedoc/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 295,
"type": 1,
"title": "Heimdall",
"name": "Heimdall",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/heimdall/config</p>",
"description": "[Heimdall](https://heimdall.site) is a way to organise all those links to your most used web sites and web applications in a simple way. Simplicity is the key to Heimdall. Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo.",
"categories": [
"Dashboard"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/heimdall-banner.png",
"image": "linuxserver/heimdall:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "ALLOW_INTERNAL_REQUESTS",
"label": "ALLOW_INTERNAL_REQUESTS",
"default": "false",
"description": "By default, Heimdall blocks lookup requests to private or reserved IP addresses, if your instance is not exposed to the internet, or is behind some level of authentication, you can set this to `true` to allow requests to private IP addresses. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/heimdall/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 296,
"type": 1,
"title": "Helium",
"name": "Helium",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/helium/config</p>",
"description": "[Helium](https://helium.computer/) is a Chromium-based web browser made for people, with love. Privacy-first with unbiased ad-blocking.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/helium-logo.png",
"image": "linuxserver/helium:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "HELIUM_CLI",
"label": "HELIUM_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/helium/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Hermes Agent",
"name": "hermes",
"description": "Hermes Agent (Nous Research), a self-improving AI agent with a learning loop (skills from experience), cron, hooks, and a web dashboard. Official image, single container + `/opt/data` volume (sessions, memories, skills, config all persist).",
"categories": [
"AI Agents"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "hermes/compose.yaml"
},
"env": [
{
"name": "ANTHROPIC_API_KEY",
"label": "ANTHROPIC_API_KEY"
},
{
"name": "HERMES_PASSWORD",
"label": "HERMES_PASSWORD"
},
{
"name": "HERMES_SESSION_SECRET",
"label": "HERMES_SESSION_SECRET"
},
{
"name": "HERMES_USERNAME",
"label": "HERMES_USERNAME",
"default": "admin"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 297
},
{
"id": 298,
"type": 1,
"title": "Hishtory-server",
"name": "Hishtory-server",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/hishtory-server/config</p>",
"description": "[hiSHtory](https://github.com/ddworken/hishtory) is a better shell history. It stores your shell history in context (what directory you ran the command in, whether it succeeded or failed, how long it took, etc). This is all stored locally and end-to-end encrypted for syncing to to all your other computers.",
"categories": [
"Administration"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hishtory-server-icon.png",
"image": "linuxserver/hishtory-server:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "HISHTORY_POSTGRES_DB",
"label": "HISHTORY_POSTGRES_DB",
"default": "postgresql://${HISHTORY_DB_USER}:${HISHTORY_DB_PASS}@hishtory-db:5432/hishtory?sslmode=disable",
"description": "Postgres DB [Connection URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING). Special characters must be [URL encoded](https://en.wikipedia.org/wiki/URL_encoding). [OPTIONAL]"
},
{
"name": "HISHTORY_SQLITE_DB",
"label": "HISHTORY_SQLITE_DB",
"default": "/config/hishtory.db",
"description": "SQLite database path. Needs to be a mounted volume for persistence. Don't set at the same time as HISHTORY_POSTGRES_DB. [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/hishtory-server/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 299,
"type": 3,
"title": "Hister",
"name": "hister",
"description": "Search engine for your own browsing history. A browser extension sends every page you visit to it, and you search the full text of everything you've read, with previews, rules for what gets kept and an MCP server for AI tools. Source: https://github.com/asciimoo/hister",
"categories": [
"Tools",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/asciimoo/hister/master/webui/app/static/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "HISTER_TOKEN",
"label": "Access token (required)",
"description": "What you'll log in with, and what the browser extension sends. Generate one with: openssl rand -hex 32"
},
{
"name": "HISTER_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:4433"
},
{
"name": "HISTER_PORT",
"label": "Host port for the web UI",
"default": "4433"
}
],
"note": "Set the <b>access token</b> (<code>openssl rand -hex 32</code> makes a good one) and the <b>address</b> before you deploy, since the stack won't start without both. The address has to be exactly what you type in the browser, like <code>http://192.168.1.20:4433</code>, with the same port as the host port field. Get it wrong and the page still loads, but search just says \"Cannot connect to Hister\", so fix the address and update the stack. Then open it and sign in with the token as the password. To fill it, install the Hister extension for <a href=\"https://addons.mozilla.org/en-US/firefox/addon/hister/\" target=\"_blank\">Firefox</a> or <a href=\"https://chromewebstore.google.com/detail/hister/cciilamhchpmbdnniabclekddabkifhb\" target=\"_blank\">Chrome</a> and give it the same address and token. Pages are only indexed from then on, and importing your old history is done with the <code>hister</code> command line tool. Everything, the index and settings included, lives in the <code>hister-data</code> volume. Docs: <a href=\"https://hister.org/docs\" target=\"_blank\">hister.org/docs</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/hister/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"AI",
"Productivity",
"Self Hosted"
],
"description": "Self-hosted platform of autonomous, persistent personal AI agents that collaborate, remember, and build their own tools. Reachable via Telegram, WhatsApp, Slack, Discord, Signal and Matrix. Single container with Bun and SQLite, no external infrastructure. Source: https://github.com/MarlBurroW/hivekeep",
"env": [
{
"default": "0.0.0.0",
"label": "Bind address \u2014 keep 0.0.0.0 so the port mapping is reachable",
"name": "HOST"
},
{
"default": "http://localhost:3000",
"label": "External URL for links and webhooks",
"name": "PUBLIC_URL"
}
],
"image": "ghcr.io/marlburrow/hivekeep:latest",
"logo": "https://hivekeep.app/apple-touch-icon.png",
"name": "hivekeep",
"note": "LLM provider keys are added in-app after first-run onboarding, not via environment. If the app is unreachable after deploy, ensure HOST=0.0.0.0.",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Hivekeep",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/var/lib/hivekeep"
}
],
"id": 300
},
{
"categories": [
"Bookmarks"
],
"description": "Hoarder is an open source 'Bookmark Everything' app that uses AI for automatically tagging the content you throw at it.",
"logo": "https://raw.githubusercontent.com/hoarder-app/hoarder/main/screenshots/logo.png",
"name": "hoarder",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/hoarder.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Hoarder",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 301
},
{
"categories": [
"Tools",
"Web",
"Other"
],
"description": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://homarr.vercel.app/\" target=\"_blank\">https://homarr.vercel.app/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/ajnart/homarr\" target=\"_blank\">https://github.com/ajnart/homarr</a><br><br><br>This version is not secured and should only be used if you want Docker integration and you don't worry about users on your network.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "ghcr.io/ajnart/homarr:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/homarr.png",
"name": "homarr",
"platform": "linux",
"ports": [
"7575:7575/tcp"
],
"restart_policy": "unless-stopped",
"title": "Homarr (container)",
"type": 1,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
},
{
"container": "/app/data/configs",
"bind": "/portainer/Files/AppData/Config/Homarr/configs"
},
{
"container": "/app/public/icons",
"bind": "/portainer/Files/AppData/Config/Homarr/icons"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 302
},
{
"categories": [
"Dashboard"
],
"description": "Simplify the management of your server with Homarr - a sleek, modern dashboard that puts all of your apps and services at your fingertips.\n\nSource: https://github.com/ajnart/homarr",
"logo": "https://homarr.dev/img/logo.svg",
"name": "homarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/homarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Homarr (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 303
},
{
"categories": [
"Tools",
"Web",
"Other"
],
"description": "Homarr is a simple and lightweight homepage for your server, that helps you easily access all of your services in one place.",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://homarr.vercel.app/\" target=\"_blank\">https://homarr.vercel.app/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/ajnart/homarr\" target=\"_blank\">https://github.com/ajnart/homarr</a><br><br><br>This version does not allow for interaction with the docker environment for security purposes.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "ghcr.io/ajnart/homarr:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/homarr.png",
"name": "homarr-secured",
"platform": "linux",
"ports": [
"7575:7575/tcp"
],
"restart_policy": "unless-stopped",
"title": "Homarr-Secured",
"type": 1,
"volumes": [
{
"container": "/app/data/configs",
"bind": "/portainer/Files/AppData/Config/Homarr/configs"
},
{
"container": "/app/public/icons",
"bind": "/portainer/Files/AppData/Config/Homarr/icons"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 304
},
{
"id": 305,
"type": 1,
"title": "Homeassistant",
"name": "Homeassistant",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/homeassistant/config</p>",
"description": "[Home Assistant Core](https://www.home-assistant.io/) - Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server",
"categories": [
"Home Automation"
],
"platform": "linux",
"logo": "https://github.com/home-assistant/home-assistant.io/raw/next/source/images/favicon-192x192-full.png",
"image": "linuxserver/homeassistant:latest",
"network": "host",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8123:8123/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/homeassistant/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Inventory",
"Productivity"
],
"description": "Inventory and organization system built for the home user. Source: https://github.com/sysadminsmedia/homebox",
"env": [
{
"default": "UTC",
"label": "Timezone",
"name": "TZ"
}
],
"image": "ghcr.io/sysadminsmedia/homebox:latest",
"logo": "https://avatars.githubusercontent.com/u/151488376",
"name": "homebox",
"platform": "linux",
"ports": [
"7745:7745/tcp"
],
"restart_policy": "unless-stopped",
"title": "Homebox",
"type": 1,
"volumes": [
{
"container": "/data"
}
],
"id": 306
},
{
"categories": [
"Home Automation"
],
"description": "Homebridge allows you to integrate with smart home devices that do not natively support HomeKit. There are over 2,000 Homebridge plugins supporting thousands of different smart accessories.",
"env": [
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1",
"label": "HOMEBRIDGE_CONFIG_UI",
"name": "HOMEBRIDGE_CONFIG_UI"
},
{
"default": "8581",
"label": "HOMEBRIDGE_CONFIG_UI_PORT",
"name": "HOMEBRIDGE_CONFIG_UI_PORT"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "homebridge/homebridge:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/homebridge.png",
"name": "homebridge",
"network": "host",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://homebridge.io/\" target=\"_blank\">https://homebridge.io/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker\" target=\"_blank\">https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker</a><br><br><br>Bringing HomeKit support where there is none",
"platform": "linux",
"privileged": true,
"restart_policy": "unless-stopped",
"title": "Homebridge (container)",
"type": 1,
"volumes": [
{
"container": "/homebridge",
"bind": "/portainer/Files/AppData/Config/homebridge"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 307
},
{
"categories": [
"Smart Home"
],
"description": "HomeKit support for the impatient.",
"logo": "https://raw.githubusercontent.com/homebridge/branding/master/logos/homebridge-color-round-stylized.png",
"name": "homebridge",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/homebridge.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Homebridge (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 308
},
{
"categories": [
"Home Automation"
],
"description": "Debian Homebridge allows you to integrate with smart home devices that do not natively support HomeKit. There are over 2,000 Homebridge plugins supporting thousands of different smart accessories.",
"env": [
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1",
"label": "HOMEBRIDGE_CONFIG_UI",
"name": "HOMEBRIDGE_CONFIG_UI"
},
{
"default": "8581",
"label": "HOMEBRIDGE_CONFIG_UI_PORT",
"name": "HOMEBRIDGE_CONFIG_UI_PORT"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "homebridge/homebridge:ubuntu-arm32v7",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/homebridge.png",
"name": "homebridge-debian",
"network": "host",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://homebridge.io/\" target=\"_blank\">https://homebridge.io/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker\" target=\"_blank\">https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker</a><br><br><br>Bringing HomeKit support where there is none",
"platform": "linux",
"privileged": true,
"restart_policy": "unless-stopped",
"title": "Homebridge - Debian",
"type": 1,
"volumes": [
{
"container": "/homebridge",
"bind": "/portainer/Files/AppData/Config/debian-homebridge"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 309
},
{
"categories": [
"Tools"
],
"description": "Your Budgets, Calendars, Meals, Inventory, Tasks, and so much more in one simple app.For everyone in your household.On all of your devices.In the cloud or self-hosted",
"logo": "https://homechart.app/images/homechart.min.776793e5e4334866f0799e8a84b8448efb1b06cb2762b2bb20f99068ac36136c.png",
"name": "homechart",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/homechart.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Homechart",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 310
},
{
"type": 3,
"title": "Homedex",
"name": "homedex",
"description": "Read-only inventory for your homelab: services, hosts, ports, routes, certificates, domains and changes, discovered from Docker, Proxmox VE, Tailscale and your reverse proxy. It never starts, stops or reconfigures anything. Source: https://github.com/HarshShah0203/homedex",
"categories": [
"Docker",
"Monitoring",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/HarshShah0203/homedex/main/docs/brand/homedex-icon-256.png",
"restart_policy": "unless-stopped",
"repository": {
"url": "https://github.com/HarshShah0203/homedex",
"stackfile": "docker-compose.yml"
},
"env": [
{
"name": "HOMEDEX_ADMIN_PASSWORD",
"label": "Admin password (12 or more characters)",
"description": "Sets the admin password on first start, so the setup page is never open to whoever reaches it first. Only its Argon2id hash is stored; later starts ignore it."
},
{
"name": "HOMEDEX_BIND",
"label": "Address the UI listens on",
"description": "0.0.0.0 publishes the UI on every interface of the host. 127.0.0.1 keeps it on the host only.",
"default": "0.0.0.0"
},
{
"name": "HOMEDEX_PORT",
"label": "Host port for the UI",
"default": "7377"
}
],
"note": "Set the <b>admin password</b> before you deploy: this stack publishes the UI on your LAN, and until an admin exists whoever opens the page first would choose it. Homedex stores only its Argon2id hash on first start and ignores the field afterwards; a password shorter than 12 characters stops the container with an error in its log. Then open <code>http://&lt;host&gt;:7377</code>, sign in and add your first source: the stack's read-only Docker socket proxy is prefilled as <code>tcp://docker-socket-proxy:2375</code>. Homedex only reads; the proxy rejects every Docker API write. Docs: <a href=\"https://github.com/HarshShah0203/homedex#quickstart\" target=\"_blank\">github.com/HarshShah0203/homedex</a>",
"maintainer": "https://github.com/HarshShah0203/homedex/",
"id": 311
},
{
"categories": [
"Monitoring",
"Homelab"
],
"description": "Self-hosted homelab dashboard, one container. Per-container GPU/VRAM attribution (which process holds the card, not just total load), Docker health/logs, systemd status, host vitals (CPU/RAM/disk/temps), multiple hosts over SSH. Alerts via Discord/ntfy/Telegram. Read-only MCP server on :9810. MIT. Source: https://github.com/SikamikanikoBG/homelab-monitor",
"env": [
{
"default": "10",
"description": "Seconds between samples",
"label": "SAMPLE_INTERVAL",
"name": "SAMPLE_INTERVAL"
},
{
"default": "180",
"description": "How long history is kept (days)",
"label": "RETENTION_DAYS",
"name": "RETENTION_DAYS"
}
],
"image": "sikamikaniko123/homelab-monitor:latest",
"logo": "https://raw.githubusercontent.com/SikamikanikoBG/homelab-monitor/main/docs/logo-400.png",
"name": "homelab-monitor",
"network": "host",
"platform": "linux",
"ports": [],
"restart_policy": "unless-stopped",
"title": "HomeLab Monitor",
"type": 1,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock",
"readonly": true
},
{
"container": "/data"
}
],
"id": 312
},
{
"type": 1,
"name": "homepage",
"title": "Homepage (container)",
"description": "A modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels).",
"logo": "https://mediadepot.github.io/templates/img/homepage.png",
"image": "ghcr.io/benphelps/homepage:latest",
"categories": [
"Tools",
"Web",
"Other",
"Stable"
],
"ports": [
"3000/tcp"
],
"volumes": [
{
"container": "/app/config",
"bind": "/opt/mediadepot/apps/homepage"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.homepage.loadbalancer.server.port",
"value": "3000"
},
{
"name": "traefik.http.routers.homepage.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.homepage.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 313
},
{
"categories": [
"Dashboard"
],
"description": "Homepage is a new dashboard implementation that creates a super fast static site.\n\nSource: https://github.com/benphelps/homepage",
"logo": "https://raw.githubusercontent.com/benphelps/homepage/main/images/preview.png",
"name": "homepage",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/homepage.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Homepage (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 314
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "A dead simple static Homepage for your server to keep your services on hand, from a simple yaml configuration file.",
"image": "b4bz/homer:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/homer-dashboard.png",
"name": "homer",
"note": "This container requires a yml file within the config volume. See the documentation here https://github.com/bastienwirtz/homer",
"platform": "linux",
"ports": [
"8902:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Homer",
"type": 1,
"volumes": [
{
"container": "/www/assets",
"bind": "/portainer/Files/AppData/Config/Homer/assets"
},
{
"container": "/www/config.yml",
"bind": "/portainer/Files/AppData/Config/Homer"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 315
},
{
"id": 316,
"type": 1,
"title": "Htpcmanager",
"name": "Htpcmanager",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/htpcmanager/config</p>",
"description": "[Htpcmanager](https://github.com/HTPC-Manager/HTPC-Manager) is a front end for many htpc related applications.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/htpcmanager-icon.png",
"image": "linuxserver/htpcmanager:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8085:8085/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/htpcmanager/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 317,
"type": 1,
"title": "Httpd",
"description": "Open-source HTTP server",
"categories": [
"Webserver"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/httpd.png",
"image": "httpd:latest",
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/usr/local/apache2/htdocs/"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Tools"
],
"description": "Create agents that monitor and act on your behalf.",
"image": "huginn/huginn:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/huginn.png",
"name": "huginn",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Huginn",
"type": 1,
"volumes": [
{
"container": "/var/lib/mysql",
"bind": "/portainer/Files/AppData/Config/huginn"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 318
},
{
"description": "NZBHydra is a meta search for NZB indexers and the \"spiritual successor\" to NZBmegasearcH. It provides easy access to a number of raw and newznab based indexers.",
"env": [
{
"label": "PUID",
"name": "PUID",
"default": "1000",
"preset": true
},
{
"label": "PGID",
"name": "PGID",
"default": "1000",
"preset": true
},
{
"label": "TZ",
"name": "TZ",
"default": "America/Chicago",
"preset": true
}
],
"image": "linuxserver/hydra2:latest",
"logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/hydra-icon.png",
"platform": "linux",
"ports": [
"5076/tcp"
],
"title": "hydra2",
"type": 1,
"volumes": [
{
"container": "/config"
},
{
"container": "/downloads"
}
],
"maintainer": "https://github.com/dnburgess/self-hosted-template/",
"categories": [
"Downloaders",
"Other",
"Tools"
],
"id": 319
},
{
"categories": [
"Finance"
],
"description": "I hate money is a web application made to ease shared budget management. It keeps track of who bought what, when, and for whom; and helps to settle the bills.",
"name": "ihatemoney",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ihatemoney.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "I hate money",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 320
},
{
"categories": [
"Photos",
"AI"
],
"description": "Immich is a high performance self-hosted photo and video backup solution.",
"logo": "https://github.com/immich-app/immich/raw/main/design/immich-logo.svg",
"name": "immich",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/immich.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Immich",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 321
},
{
"type": 3,
"title": "Immich {shmolf}",
"name": "immich",
"categories": [
"Photos",
"Backup"
],
"description": "Self-hosted backup solution for photos and videos on mobile device.",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/immich-logo.svg",
"note": "<a target='_blank' href='https://immich.app'>Application documentation \ud83d\uddd7</a>",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"label": "PGID",
"name": "PGID",
"default": "1000"
},
{
"label": "Immich version",
"name": "IMMICH_VERSION",
"default": "release",
"description": "To want to lock to a specific tag, provide a value such as 'v1.71.0'"
},
{
"label": "Database username",
"name": "DB_USERNAME",
"default": "postgres"
},
{
"label": "Database password",
"name": "DB_PASSWORD",
"default": "please-change-this-to-a-random-secret",
"description": "This should be changed to a random secret"
},
{
"label": "Database name",
"name": "DB_DATABASE_NAME",
"default": "immich"
},
{
"label": "Database hostname",
"name": "DB_HOSTNAME",
"default": "immich_postgres",
"description": "The default value references a service within the stack"
},
{
"label": "File backup location",
"name": "UPLOAD_LOCATION",
"default": "/portainer/Files/AppData/Immich/upload",
"description": "You can leave this path as-is, and the system will auto-create the needed folders. Feel free to change if you desire an alternative location."
},
{
"label": "Redis hostname",
"name": "REDIS_HOSTNAME",
"default": "immich_redis",
"description": "The default value references a service within the stack"
},
{
"default": "2283",
"label": "Http Port",
"name": "PORT"
}
],
"platform": "linux",
"repository": {
"stackfile": "stacks/immich/docker-compose.yml",
"url": "https://github.com/shmolf/portainer-templates"
},
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 322
},
{
"id": 323,
"type": 3,
"title": "Inductive Automation - Ignition Gateway",
"description": "Ignition Gateway is the primary software service that drives everything in Ignition - Single Server Deployment",
"note": "For TZ see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://pbs.twimg.com/profile_images/859108636504805376/QHpq7wuh_400x400.jpg",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/ignition_gw/docker-compose.yml"
},
"env": [
{
"name": "EULA",
"label": "Accept Igntion EULA",
"select": [
{
"text": "Yes, I accept",
"value": "Y",
"default": true
}
]
},
{
"name": "adminuser",
"label": "Gateway UI Admin Username"
},
{
"name": "adminpass",
"label": "Gateway UI Admin Password"
},
{
"name": "TZ",
"label": "Time Zone"
},
{
"name": "gwedition",
"label": "Gateway Edition",
"select": [
{
"text": "Standard",
"value": "standard",
"default": true
},
{
"text": "Edge",
"value": "edge"
},
{
"text": "Maker",
"value": "maker"
}
]
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Infisical",
"name": "infisical",
"description": "Infisical - the open-source secrets manager: projects with environments, secret versioning, references, dynamic secrets, and first-class integrations (Kubernetes operator, CI runners, Terraform, SDKs).",
"categories": [
"Security"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "infisical/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/infisical.png",
"env": [
{
"name": "AUTH_SECRET",
"label": "AUTH_SECRET"
},
{
"name": "ENCRYPTION_KEY",
"label": "ENCRYPTION_KEY"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
},
{
"name": "SITE_URL",
"label": "SITE_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 324
},
{
"type": 3,
"title": "Infisical {shmolf}",
"name": "infisical",
"categories": [
"Secrets",
"Management"
],
"description": "The open-source secret management platform: Sync secrets/configs across your team/infrastructure and prevent secret leaks.",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/infisical-black.webp",
"note": "<a target='_blank' href='https://infisical.com/docs/documentation/getting-started/introduction'>Application documentation \ud83d\uddd7</a>",
"env": [
{
"default": "8078",
"label": "Http Port",
"name": "PORT"
},
{
"default": "c6606cd2daad581c4de96531427aae0d",
"label": "Encryption Key",
"name": "ENCRYPTION_KEY",
"description": "Required key for platform encryption/decryption ops. 32 character hex string"
},
{
"default": "5lrMXKKWCVocS/uerPsl7V+TX/aaUaI7iDkgl3tSmLE=",
"label": "JWT Key",
"name": "AUTH_SECRET",
"description": "Required secrets to sign JWT tokens"
},
{
"default": "postgres_password",
"label": "Postgres Password",
"name": "POSTGRES_PASSWORD"
},
{
"default": "infisical",
"label": "Postgres User",
"name": "POSTGRES_USER"
},
{
"default": "infisical",
"label": "Postgres Database",
"name": "POSTGRES_DB"
},
{
"default": "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}",
"label": "DB Connection URI",
"name": "DB_CONNECTION_URI"
},
{
"default": "http://localhost:8078",
"label": "Website URL",
"name": "SITE_URL"
},
{
"default": "redis://redis:6379",
"label": "Redis URL",
"name": "REDIS_URL"
},
{
"default": "",
"label": "Email Host (Optional)",
"name": "SMTP_HOST"
},
{
"default": "",
"label": "Email Port (Optional)",
"name": "SMTP_PORT"
},
{
"default": "",
"label": "Email Name (Optional)",
"name": "SMTP_NAME"
},
{
"default": "",
"label": "Email Username (Optional)",
"name": "SMTP_USERNAME"
},
{
"default": "",
"label": "Email Password (Optional)",
"name": "SMTP_PASSWORD"
},
{
"default": "",
"label": "Heroku Client ID (Optional)",
"name": "CLIENT_ID_HEROKU",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Heroku Client Secret (Optional)",
"name": "CLIENT_SECRET_HEROKU",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Vercel Client ID (Optional)",
"name": "CLIENT_ID_VERCEL",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Vercel Client Secret (Optional)",
"name": "CLIENT_SECRET_VERCEL",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Vercel Client Slug (Optional)",
"name": "CLIENT_SLUG_VERCEL",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Netlify Client ID (Optional)",
"name": "CLIENT_ID_NETLIFY",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Netlify Client Secret (Optional)",
"name": "CLIENT_SECRET_NETLIFY",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "GitHub Client ID (Optional)",
"name": "CLIENT_ID_GITHUB",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "GitHub Client Secret (Optional)",
"name": "CLIENT_SECRET_GITHUB",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "GitLab Client ID (Optional)",
"name": "CLIENT_ID_GITLAB",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "GitLab Client Secret (Optional)",
"name": "CLIENT_SECRET_GITLAB",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Bitbucket Client ID (Optional)",
"name": "CLIENT_ID_BITBUCKET",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Bitbucket Client Secret (Optional)",
"name": "CLIENT_SECRET_BITBUCKET",
"description": "Optional, only needed if integration is used"
},
{
"default": "",
"label": "Sentry DSN (Optional)",
"name": "SENTRY_DSN",
"description": "Optional, only needed if monitoring is used"
},
{
"default": "",
"label": "Google Client ID (Optional)",
"name": "CLIENT_ID_GOOGLE_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "Google Client Secret (Optional)",
"name": "CLIENT_SECRET_GOOGLE_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "GitHub Client ID (Optional)",
"name": "CLIENT_ID_GITHUB_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "GitHub Client Secret (Optional)",
"name": "CLIENT_SECRET_GITHUB_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "GitLab Client ID (Optional)",
"name": "CLIENT_ID_GITLAB_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "GitLab Client Secret (Optional)",
"name": "CLIENT_SECRET_GITLAB_LOGIN",
"description": "Optional, only needed if SSO is used"
},
{
"default": "",
"label": "Captcha Secret (Optional)",
"name": "CAPTCHA_SECRET",
"description": "Optional, only needed if captcha is used"
},
{
"default": "",
"label": "Captcha Site Key (Optional)",
"name": "NEXT_PUBLIC_CAPTCHA_SITE_KEY",
"description": "Optional, only needed if captcha is used"
},
{
"default": "",
"label": "Plain API Key (Optional)",
"name": "PLAIN_API_KEY",
"description": "Optional, only needed if Plain is used"
},
{
"default": "",
"label": "Plain Wish Label IDs (Optional)",
"name": "PLAIN_WISH_LABEL_IDS",
"description": "Optional, only needed if Plain is used"
}
],
"platform": "linux",
"repository": {
"stackfile": "stacks/infisical/compose.yml",
"url": "https://github.com/shmolf/portainer-templates"
},
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 325
},
{
"categories": [
"Database"
],
"description": "InfluxDB is an open source time series database for recording metrics, events, and analytics.",
"logo": "https://www.niagaramarketplace.com/media/catalog/product/cache/f7420c7cfd302c73440e50c5a6066c3c/m/a/marketplace_icons_13_.png",
"name": "influxdb2",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/influxdb2.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Influxdb",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 326
},
{
"categories": [
"Database",
"Metrics"
],
"description": "InfluxDB is an open source time series database for recording metrics, events, and analytics. Telegraf is an agent for collecting metrics and writing them to InfluxDB or other outputs.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/influxdb_telegraf.jpg",
"name": "influxdb-telegraf",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/influxdb2_telegraf.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Influxdb & Telegraf",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 327
},
{
"categories": [
"Other",
"Tools"
],
"description": "InfluxDB is an open source time series database for recording metrics, events, and analytics.",
"hostname": "rpi-influxdb1810",
"image": "influxdb:1.8.10",
"logo": "https://raw.githubusercontent.com/docker-library/docs/43d87118415bb75d7bb107683e79cd6d69186f67/influxdb/logo.png",
"name": "influxdb1810",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.influxdata.com/\" target=\"_blank\">https://www.influxdata.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://docs.influxdata.com/influxdb/v2.0/install/?t=Docker\" target=\"_blank\">https://docs.influxdata.com/influxdb/v2.0/install/?t=Docker</a><br><br><br>You will need to add /portainer/Files/AppData/Config/Influxdb/config/influxdb.conf",
"platform": "linux",
"ports": [
"8086:8086/tcp"
],
"restart_policy": "unless-stopped",
"title": "Influxdb 1.8.10",
"type": 1,
"volumes": [
{
"container": "/var/lib/influxdb",
"bind": "/portainer/Files/AppData/Config/Influxdb/data"
},
{
"container": "/etc/influxdb",
"bind": "/portainer/Files/AppData/Config/Influxdb/config"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 328
},
{
"id": 329,
"type": 3,
"title": "InfluxDB for Edge",
"description": "InfluxDB Time Series Data Platformm - Single Server deployment",
"note": "Admin Password must be at least 10 characters",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://store-images.s-microsoft.com/image/apps.61965.8c5e9f22-6a18-49a8-b8b9-6632de74e76c.3c45348f-0adf-4238-b024-bb993be0b664.ccdeeb79-9767-4e92-af5a-1b56f274aa99",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/influxdb/docker-compose.yml"
},
"env": [
{
"name": "influxadmin",
"label": "Influx Admin Username"
},
{
"name": "influxadminpass",
"label": "Influx Admin User Password"
},
{
"name": "influxorg",
"label": "Influx Org Name"
},
{
"name": "influxbucket",
"label": "Influx Bucket Name"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 330,
"type": 1,
"title": "Inkscape",
"name": "Inkscape",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/inkscape/config</p>",
"description": "[Inkscape](https://inkscape.org/) is professional quality vector graphics software which runs on Linux, Mac OS X and Windows desktop computers.",
"categories": [
"3D Modeling"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/inkscape-logo.png",
"image": "linuxserver/inkscape:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/inkscape/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 331,
"type": 1,
"title": "Intellij-idea",
"name": "Intellij-idea",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/intellij-idea/config</p>",
"description": "[IntelliJ IDEA](https://www.jetbrains.com/idea/) helps you write code faster with tools that eliminate tedious tasks and let you focus on what matters \u2013 building great software.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/intellij-idea-logo.png",
"image": "linuxserver/intellij-idea:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/intellij-idea/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Multimedia"
],
"description": "Invidious is an open source alternative front-end to YouTube.",
"logo": "https://invidious.io/invidious-colored-vector.svg",
"name": "Invidious",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/invidious.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Invidious",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 332
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Web"
],
"description": "Invoices, Expenses and Tasks built with Laravel and Flutter.",
"env": [
{
"default": "invoice.my.domain",
"label": "URL",
"name": "URL"
},
{
"label": "APP_KEY",
"name": "APP_KEY"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/invoice_ninja.png",
"name": "invoice_ninja",
"note": "The database user is invoice_ninja and the database is ninja_db. Please generate an app key following the documentation <a href='https://github.com/invoiceninja/dockerfiles'>here</a>. ",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/invoice-ninja.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Invoice Ninja (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 333
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Other",
"Web"
],
"description": "Invoices, Expenses and Tasks built with Laravel and Flutter.",
"env": [
{
"default": "invoice.my.domain",
"label": "URL",
"name": "URL"
},
{
"label": "APP_KEY",
"name": "APP_KEY"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/invoice_ninja.png",
"name": "invoice_ninja",
"note": "The database user is invoice_ninja and the database is ninja_db. Please generate an app key following the documentation <a href='https://github.com/invoiceninja/dockerfiles'>here</a>. ",
"platform": "linux",
"repository": {
"stackfile": "stacks/invoice-ninja/docker-stack.yml",
"url": "https://github.com/mikestraney/portainer-templates"
},
"title": "Invoice Ninja (swarm)",
"type": 2,
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 334
},
{
"categories": [
"Home Automation"
],
"description": "IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome components from different manufactures. With the help of plugins (called: adapters) ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "buanet/iobroker:latest",
"logo": "https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png",
"name": "iobroker",
"platform": "linux",
"ports": [
"8081:8081/tcp"
],
"restart_policy": "unless-stopped",
"title": "iobroker",
"type": 1,
"volumes": [
{
"container": "/opt/iobroker",
"bind": "/portainer/Files/AppData/Config/iobrokerdata"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/buanet/ioBroker.docker\" target=\"_blank\">https://github.com/buanet/ioBroker.docker</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/buanet/ioBroker.docker\" target=\"_blank\">https://github.com/buanet/ioBroker.docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 335
},
{
"categories": [
"Network"
],
"description": "IPerf3 Docker Build for Network Performance and Bandwidth Testing",
"name": "iperf",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/iperf.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "iperf",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 336
},
{
"id": 337,
"type": 2,
"title": "IronFunctions",
"description": "Open-source serverless computing platform",
"note": "Deploys the IronFunctions API and UI.",
"categories": [
"Serverless"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ironfunctions.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/ironfunctions/docker-stack.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 1,
"title": "IronFunctions API",
"description": "Open-source serverless computing platform",
"categories": [
"Serverless"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ironfunctions.png",
"image": "iron/functions:latest",
"ports": [
"8080/tcp"
],
"volumes": [
{
"container": "/app/data"
}
],
"privileged": true,
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 338
},
{
"type": 1,
"title": "IronFunctions UI",
"description": "Open-source user interface for IronFunctions",
"categories": [
"Serverless"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ironfunctions.png",
"image": "iron/functions-ui:latest",
"ports": [
"4000/tcp"
],
"volumes": [
{
"container": "/app/data"
}
],
"env": [
{
"name": "API_URL",
"label": "API URL"
}
],
"privileged": true,
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 339
},
{
"categories": [
"Tools",
"Productivity"
],
"description": "Collection of handy online tools for developers, with great UX. Source: https://github.com/CorentinTh/it-tools",
"env": [],
"image": "corentinth/it-tools:latest",
"logo": "https://avatars.githubusercontent.com/u/25065347",
"name": "it-tools",
"platform": "linux",
"ports": [
"8080:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "IT-Tools",
"type": 1,
"id": 340
},
{
"id": 341,
"type": 1,
"title": "Jackett",
"name": "Jackett",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/jackett/config<br>mkdir -p /srv/lsio/jackett/downloads</p>",
"description": "[Jackett](https://github.com/Jackett/Jackett) works as a proxy server: it translates queries from apps (Sonarr, SickRage, CouchPotato, Mylar, etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.",
"categories": [
"Indexers"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jackett-banner.png",
"image": "linuxserver/jackett:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "AUTO_UPDATE",
"label": "AUTO_UPDATE",
"default": "true",
"description": "Allow Jackett to update inside of the container. [OPTIONAL]"
},
{
"name": "RUN_OPTS",
"label": "RUN_OPTS",
"default": "",
"description": "Optionally specify additional arguments to be passed. [OPTIONAL]"
}
],
"ports": [
"9117:9117/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/jackett/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/jackett/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Downloaders",
"Tools"
],
"description": "JDownloader docker image",
"env": [
{
"default": "",
"label": "MYJD_DEVICE_NAME",
"name": "MYJD_DEVICE_NAME"
},
{
"default": "",
"label": "MYJD_USER",
"name": "MYJD_USER"
},
{
"default": "",
"label": "MYJD_PASSWORD",
"name": "MYJD_PASSWORD"
}
],
"image": "jaymoulin/jdownloader:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/jdownloader.png",
"name": "JDownloader",
"platform": "linux",
"ports": [
"3129:3129/tcp"
],
"restart_policy": "unless-stopped",
"title": "JDownloader",
"type": 1,
"volumes": [
{
"container": "/opt/JDownloader/app/cfg",
"bind": "/portainer/Files/AppData/Config/JDownloader"
},
{
"container": "/opt/JDownloader/Downloads",
"bind": "/portainer/Downloads"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://my.jdownloader.org/\" target=\"_blank\">https://my.jdownloader.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/jaymoulin/docker-jdownloader\" target=\"_blank\">https://github.com/jaymoulin/docker-jdownloader</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=30MYRgCObu8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=4 target=\"_blank\">Novaspirit Tech - Installing JDownloader and File Browser On The Pi Docker Server</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 342
},
{
"id": 343,
"type": 1,
"title": "Jellyfin (container)",
"name": "Jellyfin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/jellyfin/config<br>mkdir -p /srv/lsio/jellyfin/data/tvshows<br>mkdir -p /srv/lsio/jellyfin/data/movies</p>",
"description": "[Jellyfin](https://github.com/jellyfin/jellyfin) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.",
"categories": [
"Media Servers",
"Music",
"Audiobooks"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jellyfin-logo.png",
"image": "linuxserver/jellyfin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "JELLYFIN_PublishedServerUrl",
"label": "JELLYFIN_PublishedServerUrl",
"default": "http://192.168.0.5",
"description": "Set the autodiscovery response domain or IP address, include http(s)://. [OPTIONAL]"
}
],
"ports": [
"8096:8096/tcp",
"8920:8920/tcp",
"7359:7359/udp",
"1900:1900/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/jellyfin/config"
},
{
"container": "/data/tvshows",
"bind": "/srv/lsio/jellyfin/data/tvshows"
},
{
"container": "/data/movies",
"bind": "/srv/lsio/jellyfin/data/movies"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Jellyfin (stack)",
"name": "jellyfin",
"description": "Jellyfin - the free, self-hosted media server: stream your movies, TV shows, music, and photos to any device through a web UI and native apps (Android, iOS, Android TV, Roku, Kodi, and more).\n\nSource: https://github.com/jellyfin/jellyfin",
"categories": [
"Media"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "jellyfin/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png",
"env": [
{
"name": "PUBLISHED_SERVER_URL",
"label": "PUBLISHED_SERVER_URL",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 344
},
{
"categories": [
"Video",
"Music",
"Photos",
"Management"
],
"description": "jfa-go is a user management app for Jellyfin (and now Emby) that provides invite-based account creation as well as other features that make one's instance much easier to manage.",
"image": "hrfee/jfa-go:latest",
"logo": "https://github.com/hrfee/jfa-go/raw/main/images/jfa-go-icon.png",
"name": "jfa-go",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://jfa-go.com/\" target=\"_blank\">https://jfa-go.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://wiki.jfa-go.com/\" target=\"_blank\">https://wiki.jfa-go.com/</a><br><br><br>This system is setup to work with either Emby or Jellyfin out of the box. During the initial setup the user will have the option of which server they will be administering.",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Jellyfin-Accounts",
"type": 1,
"network": "bridge",
"ports": [
"8056:8056/tcp"
],
"volumes": [
{
"container": "/jf",
"bind": "/portainer/Files/AppData/Config/Jelllyfin"
},
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/jfago"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 345
},
{
"id": 346,
"type": 3,
"title": "Jellymeme",
"name": "jellymeme",
"description": "Describe a scene from your Jellyfin library and get it as a captioned GIF or clip.",
"note": "Describe a moment the way you'd tell a friend, \"when he admits the robot hand freaks him out\", and Jellymeme finds it in your Jellyfin library. Trim it to the line you want, burn in the subtitles or your own caption, and export a GIF, a clip or a still. Open http://&lt;server&gt;:3000 after it starts.",
"categories": [
"Media"
],
"platform": "linux",
"logo": "https://armanckeser.github.io/selfhost-apps/portainer/jellymeme.png",
"repository": {
"url": "https://github.com/armanckeser/jellymeme",
"stackfile": "docker-compose.selfhost.yml"
},
"env": [
{
"name": "TAG",
"label": "Version",
"default": "1.1.0"
},
{
"name": "PORT",
"label": "Web port on this server",
"default": "3000"
},
{
"name": "AUTH_PASSWORD",
"label": "Password for the app (leave empty for no login)",
"description": "Set one if anyone else on your network can reach this server.",
"default": ""
}
],
"maintainer": "https://github.com/armanckeser/selfhost-apps/"
},
{
"categories": [
"Entertainment"
],
"description": "Jellyseerr is a free and open source fork of Overseerr for managing requests for your media library. It integrates with your existing services, such as Sonarr, Radarr, and Jellyfin!",
"logo": "https://raw.githubusercontent.com/Fallenbagel/jellyseerr/develop/public/logo_full.svg",
"name": "jellyseer",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/jellyseer.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Jellyseer",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 347
},
{
"categories": [
"Other",
"Tools"
],
"description": "Jellyseer is a free and open source software application for managing requests for your media library.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "fallenbagel/jellyseerr:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/jellyseerr.png",
"name": "Jellyseerr",
"platform": "linux",
"ports": [
"5055:5055/tcp"
],
"restart_policy": "unless-stopped",
"title": "Jellyseerr",
"type": 1,
"volumes": [
{
"container": "/app/config",
"bind": "/portainer/Files/AppData/Config/Jellyseerr"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 348
},
{
"type": 1,
"title": "Jenkins (container)",
"description": "Open-source continuous integration tool",
"categories": [
"Continuous Integration"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/jenkins.png",
"image": "jenkins/jenkins:lts",
"ports": [
"8080/tcp",
"50000/tcp"
],
"env": [
{
"name": "JENKINS_OPTS",
"label": "Jenkins options"
}
],
"volumes": [
{
"container": "/var/jenkins_home"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 349
},
{
"type": 3,
"title": "Jenkins (stack)",
"name": "jenkins",
"description": "Jenkins LTS - the automation server: pipelines as code, 1,800+ plugins, and webhooks from every forge. Controller with the built-in node, which runs jobs in-controller - the honest shape for small teams on a PaaS.",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "jenkins/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/jenkins.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 350
},
{
"id": 351,
"type": 1,
"title": "Joomla",
"description": "Another free and open-source CMS",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/joomla.png",
"image": "joomla:latest",
"env": [
{
"name": "JOOMLA_DB_HOST",
"label": "MySQL database host"
},
{
"name": "JOOMLA_DB_PASSWORD",
"label": "Database password"
}
],
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/var/www/html"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 352,
"type": 1,
"title": "Joplin",
"name": "Joplin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/joplin/config</p>",
"description": "[Joplin](https://joplinapp.org/) is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/joplin-logo.png",
"image": "linuxserver/joplin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/joplin/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Dashboard"
],
"description": "Jump is yet another self-hosted startpage for your server designed to be simple, stylish, fast and secure.",
"name": "jump",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/jump.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Jump",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 353
},
{
"id": 354,
"type": 1,
"title": "JupyterLab",
"name": "jupyterlab",
"description": "Python notebooks in the browser for poking at data and plotting it, with a terminal alongside. It's Jupyter's scipy-notebook image, so pandas, NumPy, matplotlib and scikit-learn come installed. Source: https://github.com/jupyter/docker-stacks",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/packages/ui-components/style/icons/jupyter/jupyter.svg",
"image": "quay.io/jupyter/scipy-notebook:latest",
"restart_policy": "unless-stopped",
"ports": [
"8888:8888/tcp"
],
"volumes": [
{
"container": "/home/jovyan"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8888</code>. It asks for a token, which is in the container's logs (the link ending <code>/lab?token=...</code>). Put that token and a new password into Setup a Password underneath, and you'll log in with the password from then on - otherwise the token changes on every restart. Whoever logs in gets a terminal inside the container, so keep it off the open internet unless it's behind HTTPS. Your notebooks, settings, password and anything you <code>pip install --user</code> live in the home folder volume. A plain <code>pip install</code> goes into the image and is gone after an update. Docs: <a href=\"https://jupyter-docker-stacks.readthedocs.io\" target=\"_blank\">jupyter-docker-stacks.readthedocs.io</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 355,
"type": 1,
"title": "Kali-linux",
"name": "Kali-linux",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kali-linux/config</p>",
"description": "[Kali-linux](https://github.com/linuxserver/docker-kali-linux) - is an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments. KALI LINUX \u2122 is a trademark of OffSec.",
"categories": [
"Remote Desktop",
"Security"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kali-logo.png",
"image": "linuxserver/kali-linux:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kali-linux/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 356,
"type": 1,
"title": "Kanboard",
"name": "kanboard",
"description": "Kanban project management that stays out of the way, with boards, swimlanes, subtasks, time tracking, automatic actions and a plugin system. Source: https://github.com/kanboard/kanboard",
"categories": [
"Project Management",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/kanboard/kanboard/main/assets/img/adaptive-favicon.svg",
"image": "kanboard/kanboard:latest",
"restart_policy": "unless-stopped",
"ports": [
"8094:80/tcp"
],
"volumes": [
{
"container": "/var/www/app/data"
},
{
"container": "/var/www/app/plugins"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8094</code> and sign in as <code>admin</code> / <code>admin</code>, then change that password straight away under My profile --&gt; Change password, as it's the same on every install. There are no open sign-ups, the admin adds users. Set Settings --&gt; Application URL to the address you use, so links in emails point to the right place. The SQLite database and attachments live in the data volume, plugins in the other. Docs: <a href=\"https://docs.kanboard.org/v1/admin/docker/\" target=\"_blank\">docs.kanboard.org</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 357,
"type": 3,
"title": "Kaneo",
"name": "kaneo",
"description": "Project management for small teams: kanban boards, a backlog, Gantt charts, labels, time tracking and GitHub, GitLab or Gitea issue sync, in workspaces you invite people into. Source: https://github.com/usekaneo/kaneo",
"categories": [
"Project Management",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/usekaneo/kaneo/main/apps/web/public/favicon.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "KANEO_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:5173."
},
{
"name": "KANEO_SECRET",
"label": "Secret key (required)",
"description": "Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy."
},
{
"name": "KANEO_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Kaneo can't reach its database."
},
{
"name": "KANEO_PORT",
"label": "Host port for the web UI",
"default": "5173"
}
],
"note": "Fill in the <b>address</b>, <b>secret key</b> and <b>database password</b> before you deploy, since the stack won't start without them (<code>openssl rand -hex 32</code> makes a good secret and password), and keep the last two the same when you redeploy. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:5173</code>: the port you're using, and no slash at the end. Your browser reaches Kaneo through that address, so if it's wrong every page just says <i>Something went wrong!</i>. To fix it, change the address in the stack's environment variables and redeploy. Then open it straight away, as the first account made becomes the instance admin. After that anyone who can reach it can sign up, or carry on as a guest, and get a workspace of their own (they can't see yours), so once your people are in, add <code>KANEO_DISABLE_REGISTRATION</code> set to <code>true</code> to the stack's environment variables and redeploy. Invite people from the sidebar: with no email set up you get a link to send them, and it still works with sign-ups closed. Personal ntfy, Gotify and webhook notifications need a <code>KANEO_NOTIFICATION_KEY</code> (another <code>openssl rand -hex 32</code>) added the same way. File uploads in tasks and comments need S3-compatible storage, which this stack doesn't include. Everything else lives in Postgres, in the <code>postgres-data</code> volume. Docs: <a href=\"https://kaneo.app/docs\" target=\"_blank\">kaneo.app/docs</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/kaneo/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Ebooks",
"Comics"
],
"description": "Kapowarr is a software to build and manage a comic book library, fitting in the *arr suite of software.",
"name": "kapowarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/kapowarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Kapowarr",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 358
},
{
"type": 3,
"title": "Karakeep",
"name": "karakeep",
"description": "Karakeep (formerly Hoarder) - a self-hosted \"bookmark everything\" app: save links, notes, and images, and it automatically crawls and archives the page (so your links never rot), takes a screenshot, full-text indexes everything, and can",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "karakeep/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/karakeep.png",
"env": [
{
"name": "MEILI_MASTER_KEY",
"label": "MEILI_MASTER_KEY",
"description": "Meilisearch master key - must be identical on the app and Meilisearch."
},
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET",
"description": "Session secret."
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "OLLAMA_BASE_URL",
"label": "OLLAMA_BASE_URL"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY",
"description": "Optional AI auto-tagging."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 359
},
{
"id": 360,
"type": 1,
"title": "Kasm",
"name": "Kasm",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kasm/opt<br>mkdir -p /srv/lsio/kasm/profiles<br><br></p>",
"description": "[Kasm](https://www.kasmweb.com/?utm_campaign=LinuxServer&utm_source=listing) Workspaces is a docker container streaming platform for delivering browser-based access to desktops, applications, and web services. Kasm uses devops-enabled Containerized Desktop Infrastructure (CDI) to create on-demand, disposable, docker containers that are accessible via web browser. Example use-cases include Remote Browser Isolation (RBI), Data Loss Prevention (DLP), Desktop as a Service (DaaS), Secure Remote Access Services (RAS), and Open Source Intelligence (OSINT) collections. The rendering of the graphical-based containers is powered by the open-source project [KasmVNC](https://www.kasmweb.com/kasmvnc.html?utm_campaign=LinuxServer&utm_source=kasmvnc).",
"categories": [
"Remote Desktop",
"Business"
],
"platform": "linux",
"logo": "https://kasm-ci.s3.amazonaws.com/kasm_wide.png",
"image": "linuxserver/kasm:latest",
"privileged": true,
"env": [
{
"name": "KASM_PORT",
"label": "KASM_PORT",
"default": "443",
"description": "Specify the port you bind to the outside for Kasm Workspaces."
},
{
"name": "DOCKER_HUB_USERNAME",
"label": "DOCKER_HUB_USERNAME",
"default": "USER",
"description": "Optionally specify a DockerHub Username to pull private images. [OPTIONAL]"
},
{
"name": "DOCKER_HUB_PASSWORD",
"label": "DOCKER_HUB_PASSWORD",
"default": "PASS",
"description": "Optionally specify a DockerHub password to pull private images. [OPTIONAL]"
},
{
"name": "DOCKER_MTU",
"label": "DOCKER_MTU",
"default": "1500",
"description": "Optionally specify the mtu options passed to dockerd. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/opt",
"bind": "/srv/lsio/kasm/opt"
},
{
"container": "/profiles",
"bind": "/srv/lsio/kasm/profiles"
},
{
"container": "/dev/input",
"bind": "/dev/input"
},
{
"container": "/run/udev/data",
"bind": "/run/udev/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity"
],
"description": "The Workspace Streaming Platform.Stream your workspace directly to your web browser on any device and from any location.",
"logo": "https://kasmweb.com/assets/images/logo.svg",
"name": "kasmworkspaces",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/kasmworkspaces.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Kasm Workspaces",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 361
},
{
"id": 362,
"type": 1,
"title": "Kavita",
"name": "Kavita",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kavita/config<br>mkdir -p /srv/lsio/kavita/data</p>",
"description": "[Kavita](https://github.com/Kareadita/Kavita) is a fast, feature rich, cross platform reading server. Built with a focus for being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family!",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kavita-logo.png",
"image": "linuxserver/kavita:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"5000:5000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kavita/config"
},
{
"container": "/data",
"bind": "/srv/lsio/kavita/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 363,
"type": 1,
"title": "Kdenlive",
"name": "Kdenlive",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kdenlive/config</p>",
"description": "[Kdenlive](https://kdenlive.org/) is a powerful free and open source cross-platform video editing program made by the KDE community. Feature rich and production ready.",
"categories": [
"Video Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kdenlive-logo.png",
"image": "linuxserver/kdenlive:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kdenlive/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 364,
"type": 1,
"title": "Keepassxc",
"name": "Keepassxc",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/keepassxc/config</p>",
"description": "[KeePassXC](https://keepassxc.org/) is a free and open-source password manager. It started as a community fork of KeePassX (itself a cross-platform port of KeePass).",
"categories": [
"Password Manager"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/keepassxc-logo.png",
"image": "linuxserver/keepassxc:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/keepassxc/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 365,
"type": 3,
"title": "Kener",
"name": "kener",
"description": "Status page with built-in monitoring: it checks your sites, APIs, ports and DNS on a schedule and shows uptime, response times, incidents and planned maintenance on a public page. Source: https://github.com/rajnandan1/kener",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/rajnandan1/kener/main/static/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "KENER_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:3700."
},
{
"name": "KENER_SECRET",
"label": "Secret key (required)",
"description": "Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy."
},
{
"name": "KENER_PORT",
"label": "Host port for the web UI",
"default": "3700"
}
],
"note": "Fill in the <b>address</b> and <b>secret key</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:3700</code>: the port you're using, and no slash at the end. Kener refuses any form sent from another address, so if it's wrong the status page still shows but signing in or saving anything gives you <i>Cross-site POST form submissions are forbidden</i>. To fix it, change the address in the stack's environment variables and redeploy. Then go to <code>/account/signin</code> straight away, as the first person there sets up the admin account. New monitors need a type under Configuration (the service URL on its own is just a link), and only show on the public status page once you add them to it under Pages. The two sample monitors check kener.ing and load their icons from there for every visitor, so delete them when you've added your own. Settings, monitors and their history live in the <code>kener-data</code> volume. Docs: <a href=\"https://kener.ing/docs/\" target=\"_blank\">kener.ing/docs</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/kener/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Automation",
"Orchestration"
],
"description": "Powerful orchestration. Simplified workflows.Unify orchestration for all engineers. Build and govern all your workflows \u2014 Everything-as-Code, and from the UI.",
"logo": "https://kestra.io/cdn-cgi/image/f=webp,w=236,h=123,q=80/landing/header-menu/download-logo.svg",
"name": "kestra",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/kestra.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Kestra",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 366
},
{
"type": 3,
"title": "Keycloak",
"name": "keycloak",
"description": "Keycloak, identity & access management (OIDC, SAML, social login, user federation) backed by a managed Postgres.",
"categories": [
"Auth API Gateway"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "keycloak/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/keycloak.png",
"env": [
{
"name": "KC_ADMIN_PASSWORD",
"label": "KC_ADMIN_PASSWORD"
},
{
"name": "KC_ADMIN_USERNAME",
"label": "KC_ADMIN_USERNAME",
"description": "Bootstrap admin, used to create the first admin account on an empty DB.",
"default": "admin"
},
{
"name": "KC_HOSTNAME",
"label": "KC_HOSTNAME",
"description": "Public URL Keycloak should advertise, e.g."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 367
},
{
"id": 368,
"type": 1,
"title": "Kicad",
"name": "Kicad",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kicad/config</p>",
"description": "[KiCad](https://www.kicad.org/) - A Cross Platform and Open Source Electronics Design Automation Suite.",
"categories": [
"3D Modeling"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kicad-logo.png",
"image": "linuxserver/kicad:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kicad/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Kilo (headless)",
"name": "kilo",
"description": "Kilo, open-source AI coding agent, running in server mode (`kilo serve`) on Miget: a persistent remote agent whose HTTP+SSE API your Kilo clients attach to (IDE extension, `kilo attach`, or the Cloud Agents web UI via Remote Connections).",
"categories": [
"AI Agents"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "kilo/compose.yaml"
},
"env": [
{
"name": "ANTHROPIC_API_KEY",
"label": "ANTHROPIC_API_KEY"
},
{
"name": "KILO_SERVER_PASSWORD",
"label": "KILO_SERVER_PASSWORD"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 369
},
{
"id": 370,
"type": 1,
"title": "Kimai",
"name": "Kimai",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kimai/config</p>",
"description": "[Kimai](https://kimai.org/) is a professional grade time-tracking application, free and open-source. It handles use-cases of freelancers as well as companies with dozens or hundreds of users. Kimai was build to track your project times and ships with many advanced features, including but not limited to: JSON API, invoicing, data exports, multi-timer and punch-in punch-out mode, tagging, multi-user - multi-timezones - multi-language ([over 30 translations existing](https://hosted.weblate.org/projects/kimai/)!), authentication via SAML/LDAP/Database, two-factor authentication (2FA) with TOTP, customizable role and team permissions, responsive design, user/customer/project specific rates, advanced search & filtering, money and time budgets, advanced reporting, support for [plugins](https://www.kimai.org/store/) and so much more.",
"categories": [
"Finance",
"Business"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kimai-logo.png",
"image": "linuxserver/kimai:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "APP_SECRET",
"label": "APP_SECRET",
"default": "",
"description": "Random string used for session encryption. Generate using e.g. `openssl rand -hex 32`."
},
{
"name": "DATABASE_URL",
"label": "DATABASE_URL",
"default": "mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version",
"description": "Configure your database connection, see Application Setup instructions."
},
{
"name": "TRUSTED_HOSTS",
"label": "TRUSTED_HOSTS",
"default": "kimai.example.com",
"description": "Domain or IP you will be using to access Kimai. Can be a regex like `localhost|127.0.0.1|kimai.example.com`"
},
{
"name": "TRUSTED_PROXIES",
"label": "TRUSTED_PROXIES",
"default": "127.0.0.1/32",
"description": "If behind a reverse proxy set this to its IP or network CIDR so that Kimai trusts its headers. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kimai/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 371,
"type": 3,
"title": "KitchenOwl",
"name": "kitchenowl",
"description": "Grocery list and recipe manager for households, with shopping lists that sync live between everyone, recipes you can add to the list in one go, a meal planner and shared expenses. Source: https://github.com/TomBursch/kitchenowl",
"categories": [
"Productivity",
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/TomBursch/kitchenowl/main/kitchenowl/assets/icon/icon-rounded.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "KITCHENOWL_SECRET",
"label": "Secret key (required)",
"description": "Signs everyone's logins. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or everyone gets logged out."
},
{
"name": "KITCHENOWL_PORT",
"label": "Host port for the web UI",
"default": "8070"
}
],
"note": "Set the <b>secret key</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it. Then open <code>http://&lt;your-host&gt;:8070</code> (or whichever port you picked) and the first page creates the admin account. There's no setup code, so do it straight after deploying. Sign-ups are off, so the admin adds everyone else under Settings --&gt; Users, then adds them to a household's members. The SQLite database and uploaded photos live in the <code>kitchenowl-data</code> volume. Docs: <a href=\"https://docs.kitchenowl.org/latest/self-hosting/\" target=\"_blank\">docs.kitchenowl.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/kitchenowl/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Offline"
],
"description": "Internet. Offline.Store any website on your mobile phone or computer, easily.",
"logo": "https://www.kiwix.org/wp-content/uploads/kiwix-logo-995x200-1.png",
"name": "kiwix",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/kiwix.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Kiwix",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 372
},
{
"type": 3,
"name": "klaxon",
"title": "Klaxon",
"description": "Klaxon is a free, quick to set up and easy to use robot that checks websites regularly so you don't have to.",
"logo": "https://mediadepot.github.io/templates/img/klaxon-logo.png",
"categories": [
"Documents",
"Other",
"Tools"
],
"env": [
{
"name": "SMTP_PROVIDER",
"label": "SMTP_PROVIDER",
"default": "SENDGRID"
},
{
"name": "SENDGRID_USERNAME",
"label": "SENDGRID_USERNAME",
"default": ""
},
{
"name": "SENDGRID_PASSWORD",
"label": "SENDGRID_PASSWORD",
"default": ""
},
{
"name": "ADMIN_EMAILS",
"label": "ADMIN_EMAILS",
"default": ""
}
],
"repository": {
"url": "https://github.com/mediadepot/templates",
"stackfile": "stacks/klaxon/docker-compose.yml"
},
"maintainer": "https://github.com/mediadepot/templates/",
"id": 373
},
{
"categories": [
"Other",
"3D Printers",
"Tools"
],
"description": "Klipper is a 3d-Printer firmware. It combines the power of a general purpose computer with one or more micro-controllers. See the features document for more information on why you should use Klipper.",
"env": [
{
"default": "/dev/ttymxc3",
"label": "3D_PRINTER_DEVICE",
"name": "3D_PRINTER_DEVICE"
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/drupal.png",
"name": "klipper-mainsail-moonraker",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hub.docker.com/r/mkuf/klipper\" target=\"_blank\">https://hub.docker.com/r/mkuf/klipper</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/mkuf/klipper\" target=\"_blank\">https://hub.docker.com/r/mkuf/klipper</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_klipper.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_klipper.sh | bash</h3><br><br>First you will need to download a printer.conf file from https://github.com/Klipper3d/klipper/tree/master/config and copy it to ",
"platform": "linux",
"repository": {
"stackfile": "stack/klipper.yml",
"url": "https://github.com/pi-hosted/pi-hosted/"
},
"restart_policy": "unless-stopped",
"title": "Klipper[Testing], Mainsail, Moonraker",
"type": 3,
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 374
},
{
"categories": [
"Video"
],
"description": "Headless installation of Kodi\u2122 (formerly known as XBMC\u2122), to enable library updates.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/kodi-headless:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/kodi-icon.png",
"name": "kodi-headless",
"platform": "linux",
"ports": [
"8080/tcp",
"9777/udp"
],
"restart_policy": "unless-stopped",
"title": "Kodi Headless",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Kodi"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 375
},
{
"categories": [
"Tools"
],
"description": "Koillection is a self-hosted collection manager created to keep track of physical (mostly) collections of any kind like books, DVDs, stamps, games..",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://user-images.githubusercontent.com/20560781/80213166-0e560e00-8639-11ea-944e-4f79fdbcef55.png",
"name": "Koillection",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/koillection.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Koillection",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 376
},
{
"id": 377,
"type": 1,
"title": "Kometa",
"name": "Kometa",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/kometa/config</p>",
"description": "[Kometa](https://github.com/Kometa-Team/Kometa) is a powerful tool designed to give you complete control over your media libraries. With Kometa, you can take your customization to the next level, with granular control over metadata, collections, overlays, and much more.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kometa-banner.png",
"image": "linuxserver/kometa:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "KOMETA_CONFIG",
"label": "KOMETA_CONFIG",
"default": "/config/config.yml",
"description": "Specify a custom config file to use. [OPTIONAL]"
},
{
"name": "KOMETA_TIMES",
"label": "KOMETA_TIMES",
"default": "03:00",
"description": "Comma-separated list of times to update each day. Format: `HH:MM`. [OPTIONAL]"
},
{
"name": "KOMETA_RUN",
"label": "KOMETA_RUN",
"default": "False",
"description": "Set to `True` to run without the scheduler. [OPTIONAL]"
},
{
"name": "KOMETA_TESTS",
"label": "KOMETA_TESTS",
"default": "False",
"description": "Set to `True` to run in debug mode with only collections that have `test: true`. [OPTIONAL]"
},
{
"name": "KOMETA_NO_MISSING",
"label": "KOMETA_NO_MISSING",
"default": "False",
"description": "Set to `True` to run without any of the missing movie/show functions. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/kometa/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Books",
"Tools"
],
"description": "Komga is a free and open source comics/mangas/magazines server.",
"image": "gotson/komga:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/komga.png",
"name": "komga",
"platform": "linux",
"ports": [
"8995:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Komga",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/komga/config"
},
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/komga/data"
},
{
"container": "/etc/timezone",
"bind": "/etc/timezone",
"readonly": true
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/gotson/komga\" target=\"_blank\">https://github.com/gotson/komga</a><br><b>Official Docker Documentation: </b><a href=\"https://komga.org/\" target=\"_blank\">https://komga.org/</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 378
},
{
"type": 3,
"title": "Kong Gateway",
"name": "kong",
"description": "DB-backed Kong Gateway (OSS) in front of your project's apps, deployable locally with plain Docker Compose or to Miget as a compose stack.",
"categories": [
"Auth API Gateway"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "kong/compose.yaml"
},
"env": [
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "ADMIN_USERNAME",
"label": "ADMIN_USERNAME",
"description": "Basic-auth credentials for Kong Manager (the `admin` service).",
"default": "admin"
},
{
"name": "KONG_PG_DATABASE",
"label": "KONG_PG_DATABASE",
"default": "kong"
},
{
"name": "KONG_PG_HOST",
"label": "KONG_PG_HOST",
"description": "Local development values, copy to .env for `docker compose up`.",
"default": "db"
},
{
"name": "KONG_PG_PASSWORD",
"label": "KONG_PG_PASSWORD"
},
{
"name": "KONG_PG_USER",
"label": "KONG_PG_USER",
"default": "kong"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 379
},
{
"id": 380,
"type": 1,
"title": "Krita",
"name": "Krita",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/krita/config</p>",
"description": "[Krita](https://krita.org/en/) is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.",
"categories": [
"Image Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/krita-logo.png",
"image": "linuxserver/krita:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/krita/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 381,
"type": 3,
"title": "Kumbara",
"name": "kumbara",
"description": "Budgeting that files your bank feed for you and opens instantly on your phone.",
"note": "Kumbara pulls your bank transactions through SimpleFIN and files what it recognizes. For the rest it asks once per merchant, and one answer covers every charge from that merchant. Transfers between your own accounts are paired, so they never count as spending. Open http://&lt;server&gt;:5182 after it starts.",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://armanckeser.github.io/selfhost-apps/portainer/kumbara.png",
"repository": {
"url": "https://github.com/armanckeser/kumbara",
"stackfile": "app/docker-compose.selfhost.yml"
},
"env": [
{
"name": "TAG",
"label": "Version",
"default": "0.27.0"
},
{
"name": "PORT",
"label": "Web port on this server",
"default": "5182"
},
{
"name": "AUTH_PASSWORD",
"label": "Password for the app (leave empty for no login)",
"description": "Set one if anyone else on your network can reach this server.",
"default": ""
}
],
"maintainer": "https://github.com/armanckeser/selfhost-apps/"
},
{
"id": 382,
"type": 3,
"title": "Langflow",
"name": "langflow",
"description": "Visual builder for AI agents and workflows: drag together models, prompts, tools, vector stores and MCP servers on a canvas, chat with the result in a playground, then call it as an API or serve it as an MCP server. Source: https://github.com/langflow-ai/langflow",
"categories": [
"AI",
"Automation",
"Development"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/langflow-ai/langflow/main/src/frontend/src/assets/LangflowLogoColor.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "LANGFLOW_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For signing in as langflow. Only used to create the account on the very first start."
},
{
"name": "LANGFLOW_DB_PASSWORD",
"label": "Database password (required)",
"description": "Letters and numbers only, since it goes into a database URL. Generate one with: openssl rand -hex 32"
},
{
"name": "LANGFLOW_PORT",
"label": "Host port for the web UI",
"default": "7860"
}
],
"note": "Set both <b>passwords</b> before you deploy, since the stack won't start without them. The first start takes a couple of minutes, then open <code>http://&lt;your-host&gt;:7860</code> (or whichever port you picked) and sign in as <code>langflow</code> with your admin password. Changing that password on the form later does nothing. Add your AI provider's key under Settings --&gt; Model Providers (Ollama works too). The sign-up link makes accounts that stay locked until an admin switches them on, and the open-source version only does that through its API, so treat it as a one-person app. Any account can run its own Python on the server, so only switch on people you trust. Langflow sends anonymous usage stats to its makers. To stop it, add <code>LANGFLOW_TELEMETRY_OFF</code> set to <code>true</code> to the stack's environment variables and redeploy. Uploaded files and its generated keys live in the <code>langflow-data</code> volume, your flows and settings in <code>postgres-data</code>. Docs: <a href=\"https://docs.langflow.org/deployment-docker\" target=\"_blank\">docs.langflow.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/langflow/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Langfuse",
"name": "langfuse",
"description": "Langfuse v3 - open-source LLM engineering platform: tracing, evaluations, prompt management, and usage dashboards. This template mirrors the official self-host topology.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "langfuse/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/langfuse.png",
"env": [
{
"name": "CLICKHOUSE_PASSWORD",
"label": "CLICKHOUSE_PASSWORD"
},
{
"name": "ENCRYPTION_KEY",
"label": "ENCRYPTION_KEY"
},
{
"name": "MINIO_ROOT_PASSWORD",
"label": "MINIO_ROOT_PASSWORD"
},
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET"
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"description": "Public URL of the web app (set to the https domain after first deploy).",
"default": "http://localhost:5000"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -base64 24"
},
{
"name": "SALT",
"label": "SALT",
"default": "# openssl rand -base64 32"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 383
},
{
"id": 384,
"type": 1,
"title": "Lazylibrarian",
"name": "Lazylibrarian",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/lazylibrarian/config<br>mkdir -p /srv/lsio/lazylibrarian/downloads<br>mkdir -p /srv/lsio/lazylibrarian/books</p>",
"description": "[Lazylibrarian](https://lazylibrarian.gitlab.io/) is a program to follow authors and grab metadata for all your digital reading needs. It uses a combination of HardCover, OpenLibrary, Librarything, GoodReads, and optionally GoogleBooks as sources for author info and book info.",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/lazylibrarian-icon.png",
"image": "linuxserver/lazylibrarian:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DOCKER_MODS",
"label": "DOCKER_MODS",
"default": "linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg",
"description": "Allows additional functionality to be added, e.g. the Calibredb import program (optional, more info below) [OPTIONAL]"
}
],
"ports": [
"5299:5299/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/lazylibrarian/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/lazylibrarian/downloads"
},
{
"container": "/books",
"bind": "/srv/lsio/lazylibrarian/books"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Docker"
],
"description": "Lazytainer monitors network traffic to containers. If there is traffic, the container runs, otherwise the container is stopped/paused.",
"name": "lazytainer",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/lazytainer.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Lazytainer",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 385
},
{
"id": 386,
"type": 1,
"title": "Ldap-auth",
"name": "Ldap-auth",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ldap-auth/config</p>",
"description": "[Ldap-auth](https://github.com/nginxinc/nginx-ldap-auth) software is for authenticating users who request protected resources from servers proxied by nginx. It includes a daemon (ldap-auth) that communicates with an authentication server, and a webserver daemon that generates an authentication cookie based on the user\u2019s credentials. The daemons are written in Python for use with a Lightweight Directory Access Protocol (LDAP) authentication server (OpenLDAP or Microsoft Windows Active Directory 2003 and 2012).",
"categories": [
"Administration",
"Security"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ldap-auth-logo.png",
"image": "linuxserver/ldap-auth:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "FERNETKEY",
"label": "FERNETKEY",
"default": "",
"description": "Optionally define a custom valid fernet key (only needed if container is frequently recreated, or if using multi-node setups, invalidating previous authentications) [OPTIONAL]"
},
{
"name": "CERTFILE",
"label": "CERTFILE",
"default": "",
"description": "Optionally point this to a certificate file to enable HTTP over SSL (HTTPS) for the ldap auth daemon [OPTIONAL]"
},
{
"name": "KEYFILE",
"label": "KEYFILE",
"default": "",
"description": "Optionally point this to the private key file, matching the certificate file referred to in CERTFILE [OPTIONAL]"
}
],
"ports": [
"8888:8888/tcp",
"9000:9000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ldap-auth/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity"
],
"description": "Leantime is an open source project management solution to make your ideas reality.",
"logo": "https://s3-us-west-2.amazonaws.com/leantime-website/wp-content/uploads/2022/07/24022056/logo-large.png",
"name": "leantime",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/leantime.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Leantime",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 387
},
{
"categories": [
"Tools",
"Web"
],
"description": "This container sets up an Nginx webserver and reverse proxy with php support and a built-in letsencrypt client that automates free SSL server certificate generation and renewal processes. It also contains fail2ban for intrusion prevention.\r\n \r\n Before running this container, make sure that the url and subdomains are properly forwarded to this container's host.\r\n \r\n - Port 443 on the internet side of the router should be forwarded to this container's port 443.\r\n - If you need a dynamic dns provider, you can use the free provider duckdns.org where the url will be yoursubdomain.duckdns.org and the subdomains can be www,ftp,cloud\r\n - The container detects changes to url and subdomains, revokes existing certs and generates new ones during start. \r\n - It also detects changes to the DHLEVEL parameter and replaces the dhparams file.\r\n \r\n - If you'd like to password protect your sites, you can use htpasswd. Run the following command on your host to generate the htpasswd file docker exec -it letsencrypt htpasswd -c /config/nginx/.htpasswd &lt;username&gt;",
"env": [
{
"label": "EMAIL",
"name": "EMAIL",
"default": "-Xms256m -Xmx512m",
"preset": true
},
{
"label": "URL",
"name": "URL",
"default": "-Xms256m -Xmx512m",
"preset": true
},
{
"label": "SUBDOMAINS",
"name": "SUBDOMAINS",
"default": "www,",
"preset": true
},
{
"label": "ONLY_SUBDOMAINS",
"name": "ONLY_SUBDOMAINS",
"default": "false",
"preset": true
},
{
"label": "DHLEVEL",
"name": "DHLEVEL",
"default": "2048",
"preset": true
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "VALIDATION",
"name": "VALIDATION",
"default": "http",
"preset": true
},
{
"label": "DNSPLUGIN",
"name": "DNSPLUGIN",
"default": "http",
"preset": true
}
],
"image": "linuxserver/letsencrypt:latest",
"logo": "https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/master/Images/letsencrypt.png",
"name": "letsencrypt",
"platform": "linux",
"ports": [
"80/tcp",
"443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Let's Encrypt",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/LetsEncrypt"
}
],
"maintainer": "https://github.com/SelfhostedPro/selfhosted_templates/",
"id": 388
},
{
"categories": [
"Tools",
"Web"
],
"description": "This container sets up an Nginx webserver and reverse proxy with php support and a built-in letsencrypt client that automates free SSL server certificate generation and renewal processes. It also contains fail2ban for intrusion prevention.",
"env": [
{
"label": "EMAIL",
"name": "EMAIL",
"default": "-Xms256m -Xmx512m",
"preset": true
},
{
"label": "URL",
"name": "URL",
"default": "-Xms256m -Xmx512m",
"preset": true
},
{
"label": "SUBDOMAINS",
"name": "SUBDOMAINS",
"default": "www,",
"preset": true
},
{
"label": "ONLY_SUBDOMAINS",
"name": "ONLY_SUBDOMAINS",
"default": "false",
"preset": true
},
{
"label": "DHLEVEL",
"name": "DHLEVEL",
"default": "2048",
"preset": true
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "VALIDATION",
"name": "VALIDATION",
"default": "http",
"preset": true
},
{
"label": "DNSPLUGIN",
"name": "DNSPLUGIN",
"default": "http",
"preset": true
}
],
"image": "linuxserver/swag:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/letsencrypt.png",
"name": "letsencrypt / SWAG",
"note": "Before running this container, make sure that the url and subdomains are properly forwarded to this container's host.<ul><li>- Port 443 on the internet side of the router should be forwarded to this container's port 443.</li><li>- If you need a dynamic dns provider, you can use the free provider duckdns.org where the url will be yoursubdomain.duckdns.org and the subdomains can be www,ftp,cloud</li><li>- The container detects changes to url and subdomains, revokes existing certs and generates new ones during start.</li><li>- It also detects changes to the DHLEVEL parameter and replaces the dhparams file.</li><li>- If you'd like to password protect your sites, you can use htpasswd. Run the following command on your host to generate the htpasswd file <code>docker exec -it letsencrypt htpasswd -c /config/nginx/.htpasswd &lt;username&gt;</code>",
"platform": "linux",
"ports": [
"80/tcp",
"443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Let's Encrypt / SWAG",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/LetsEncrypt"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 389
},
{
"type": 3,
"title": "Letta",
"name": "letta",
"description": "Letta (the MemGPT lineage) - an agent server with memory as the core primitive: agents live server-side with self-editing persistent memory, and clients (SDKs, the hosted ADE at app.letta.com) connect to them over the REST API.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "letta/compose.yaml"
},
"env": [
{
"name": "ANTHROPIC_API_KEY",
"label": "ANTHROPIC_API_KEY"
},
{
"name": "LETTA_SERVER_PASSWORD",
"label": "LETTA_SERVER_PASSWORD",
"description": "API password (clients send it as a bearer token)."
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY",
"description": "At least one model provider (billed to you)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 390
},
{
"type": 1,
"title": "LibreDB Studio",
"name": "libredb-studio",
"description": "Self-hosted database IDE you use from a browser, covering forty-two engines - PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, Redis, ClickHouse, Cassandra, Elasticsearch and more - with a schema browser and query history on all of them, and ER diagrams and EXPLAIN plans wherever the engine declares keys or returns a plan. Source: https://github.com/libredb/libredb-studio",
"categories": [
"Database",
"Tools",
"Development"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/libredb/libredb-studio/main/public/logo.svg",
"image": "ghcr.io/libredb/libredb-studio:latest",
"restart_policy": "unless-stopped",
"ports": [
"3006:3000/tcp"
],
"volumes": [
{
"container": "/app/data"
}
],
"env": [
{
"name": "AUTH_COOKIE_SECURE",
"label": "Reached over plain HTTP, with no HTTPS in front",
"description": "Leave it false to reach the app at http://your-host:3006. Without it the session cookie is marked Secure, the browser throws it away over plain HTTP, and sign-in returns you to the login page while the container stays healthy. The cookie then travels in cleartext, so keep it to a trusted network and set this to true once a reverse proxy puts HTTPS in front.",
"default": "false"
},
{
"name": "STORAGE_PROVIDER",
"label": "Where saved connections are kept",
"description": "sqlite keeps them in the volume below, so they survive the container being recreated. The alternatives are local, which keeps them in the browser instead, so a volume backup holds none of them, and postgres for a shared server.",
"default": "sqlite",
"preset": true
},
{
"name": "STORAGE_SQLITE_PATH",
"label": "Path of that SQLite file",
"description": "Inside the volume, so it persists.",
"default": "/app/data/libredb-storage.db",
"preset": true
}
],
"note": "Open <code>http://&lt;your-host&gt;:3006</code>. On the first start the app creates the admin account <code>admin@libredb.org</code>, generates its password and its signing secret, and prints the password to the container log, so read the log before signing in. Both are kept in <code>/app/data</code> and reused on later starts, which is why setting <code>ADMIN_PASSWORD</code> on its own afterwards does not change the stored one: to replace it, set <code>ADMIN_PASSWORD</code> to the new value and <code>ADMIN_PASSWORD_RESET=true</code> together for one start, then remove the flag. Saved connections, query history and the app's SQLite file all live under <code>/app/data</code>, which the volume covers. The databases you connect to are not part of this template, which runs LibreDB Studio alone. MIT licensed, no paid tier. Docs: <a href=\"https://libredb.org\">libredb.org</a>",
"maintainer": "https://github.com/libredb/libredb-studio/",
"id": 391
},
{
"categories": [
"Other",
"Tools"
],
"description": "An alternative private front-end to Reddit",
"image": "libreddit/libreddit:armv7",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/libreddit.png",
"name": "libreddit",
"platform": "linux",
"ports": [
"8088:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "libreddit",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/libreddit"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://libreddit.silkky.cloud/\" target=\"_blank\">https://libreddit.silkky.cloud/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/spikecodes/libreddit#2-docker\" target=\"_blank\">https://github.com/spikecodes/libreddit#2-docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 392
},
{
"id": 393,
"type": 1,
"title": "Libreoffice",
"name": "Libreoffice",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/libreoffice/config</p>",
"description": "[LibreOffice](https://www.libreoffice.org/) is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity.",
"categories": [
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/libreoffice-logo.png",
"image": "linuxserver/libreoffice:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/libreoffice/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"description": "Libresonic is a free, web-based media streamer, providing ubiqutious access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room. /music = Location of music. /media = Location of other media. /podcasts = Location of podcasts. /playlists = Location for playlists storage. CONTEXT_PATH is for setting url-base in reverse proxy setups - (optional) Default user/pass is admin/admin",
"env": [
{
"label": "CONTEXT_PATH",
"name": "CONTEXT_PATH",
"default": "",
"preset": true
},
{
"label": "PUID",
"name": "PUID",
"default": "1000",
"preset": true
},
{
"label": "PGID",
"name": "PGID",
"default": "1000",
"preset": true
},
{
"label": "TZ",
"name": "TZ",
"default": "America/Chicago",
"preset": true
}
],
"image": "linuxserver/libresonic:latest",
"logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/libresonic.png",
"platform": "linux",
"ports": [
"4040/tcp"
],
"title": "libresonic",
"type": 1,
"volumes": [
{
"container": "/music"
},
{
"container": "/playlists"
},
{
"container": "/podcasts"
},
{
"container": "/media"
},
{
"container": "/config"
}
],
"maintainer": "https://github.com/dnburgess/self-hosted-template/",
"categories": [
"Music"
],
"id": 394
},
{
"id": 395,
"type": 1,
"title": "Librespeed",
"name": "Librespeed",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/librespeed/config</p>",
"description": "[Librespeed](https://github.com/librespeed/speedtest) is a very lightweight Speedtest implemented in Javascript, using XMLHttpRequest and Web Workers. No Flash, No Java, No Websocket, No Bullshit.",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/librespeed/speedtest/master/.logo/logo3.png",
"image": "linuxserver/librespeed:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PASSWORD",
"label": "PASSWORD",
"default": "PASSWORD",
"description": "Set the password for the results database."
},
{
"name": "CUSTOM_RESULTS",
"label": "CUSTOM_RESULTS",
"default": "false",
"description": "(optional) set to `true` to enable custom results page in `/config/www/results/index.php`. [OPTIONAL]"
},
{
"name": "DB_TYPE",
"label": "DB_TYPE",
"default": "sqlite",
"description": "Defaults to `sqlite`, can also be set to `mysql` or `postgresql`. [OPTIONAL]"
},
{
"name": "DB_NAME",
"label": "DB_NAME",
"default": "DB_NAME",
"description": "Database name. Required for mysql and pgsql. [OPTIONAL]"
},
{
"name": "DB_HOSTNAME",
"label": "DB_HOSTNAME",
"default": "DB_HOSTNAME",
"description": "Database address. Required for mysql and pgsql. [OPTIONAL]"
},
{
"name": "DB_USERNAME",
"label": "DB_USERNAME",
"default": "DB_USERNAME",
"description": "Database username. Required for mysql and pgsql. [OPTIONAL]"
},
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD",
"default": "DB_PASSWORD",
"description": "Database password. Required for mysql and pgsql. [OPTIONAL]"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "DB_PORT",
"description": "Database port. Required for mysql. [OPTIONAL]"
},
{
"name": "IPINFO_APIKEY",
"label": "IPINFO_APIKEY",
"default": "ACCESS_TOKEN",
"description": "Access token from ipinfo.io. Required for detailed IP information. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/librespeed/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 396,
"type": 3,
"title": "LibreTranslate",
"name": "libretranslate",
"description": "Machine translation server with a page for translating text and documents, plus a JSON API for other apps to call. Runs its own models, so nothing you translate leaves the box. Source: https://github.com/LibreTranslate/LibreTranslate",
"categories": [
"Tools",
"AI"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/77352747?s=256",
"restart_policy": "unless-stopped",
"env": [
{
"name": "LIBRETRANSLATE_LANGUAGES",
"label": "Languages",
"description": "Two-letter codes, comma separated, like en,es,fr,de,it,ja. Each one is a couple of hundred MB of models to download.",
"default": "en,es,fr,de"
},
{
"name": "LIBRETRANSLATE_PORT",
"label": "Host port for the web UI",
"default": "5100"
}
],
"note": "Open <code>http://&lt;your-host&gt;:5100</code> (or whichever port you picked). The first start downloads models for the languages you listed, about 900 MB for the default four, so give it a minute or two before the page answers. There are no accounts, so anyone who can reach it can use it and its API (reference at <code>/docs</code>). Keep it on your LAN, or see the docs for API keys and rate limits. To add languages later, change the list and update the stack, and the new ones download on the next start. Each start also checks for model updates. The models live in the <code>libretranslate-models</code> volume. Codes: <a href=\"https://docs.libretranslate.com/guides/supported_languages/\" target=\"_blank\">supported languages</a>. Docs: <a href=\"https://docs.libretranslate.com\" target=\"_blank\">docs.libretranslate.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/libretranslate/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 397,
"type": 1,
"title": "Librewolf",
"name": "Librewolf",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/librewolf/config</p>",
"description": "[LibreWolf](https://librewolf.net/) is a custom and independent version of Firefox, with the primary goals of privacy, security and user freedom. LibreWolf also aims to remove all the telemetry, data collection and annoyances, as well as disabling anti-freedom features like DRM.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/librewolf-logo.png",
"image": "linuxserver/librewolf:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "LIBREWOLF_CLI",
"label": "LIBREWOLF_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple LibreWolf CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/librewolf/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 398,
"type": 1,
"title": "Lidarr",
"name": "Lidarr",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/lidarr/config<br>mkdir -p /srv/lsio/lidarr/music<br>mkdir -p /srv/lsio/lidarr/downloads</p>",
"description": "[Lidarr](https://github.com/lidarr/Lidarr) is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
"categories": [
"Media Management",
"Music"
],
"platform": "linux",
"logo": "https://github.com/lidarr/Lidarr/raw/develop/Logo/400.png",
"image": "linuxserver/lidarr:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8686:8686/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/lidarr/config"
},
{
"container": "/music",
"bind": "/srv/lsio/lidarr/music"
},
{
"container": "/downloads",
"bind": "/srv/lsio/lidarr/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Media"
],
"description": "Self-hosted, on-demand audio streaming platform that brings the Spotify experience to your personal music library. Features music streaming, podcast subscriptions, audiobook integration, playlist generation, and Lidarr integration for music discovery.",
"logo": "https://raw.githubusercontent.com/Chevron7Locked/lidify/main/assets/logo.png",
"name": "lidify",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/lidify.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Lidify",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 399
},
{
"categories": [
"Media"
],
"description": "Self-hosted, on-demand audio streaming platform that brings the Spotify experience to your personal music library. Features music streaming, podcast subscriptions, audiobook integration, playlist generation, and Lidarr integration for music discovery.",
"logo": "https://raw.githubusercontent.com/Chevron7Locked/lidify/main/assets/logo.png",
"name": "lidify",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/lidify-full.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Lidify-full",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 400
},
{
"id": 401,
"type": 1,
"title": "Limnoria",
"name": "Limnoria",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/limnoria/config</p>",
"description": "[Limnoria](https://github.com/ProgVal/limnoria) A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins. Successor of the well-known Supybot.",
"categories": [
"Irc"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/limnoria-icon.png",
"image": "linuxserver/limnoria:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/limnoria/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Bookmarks",
"Productivity"
],
"description": "Self-hosted bookmark manager that is minimal and fast. Source: https://github.com/sissbruecker/linkding",
"env": [
{
"default": "admin",
"label": "Admin username",
"name": "LD_SUPERUSER_NAME"
},
{
"default": "changeme",
"label": "Admin password",
"name": "LD_SUPERUSER_PASSWORD"
},
{
"default": "",
"label": "Admin email (optional)",
"name": "LD_SUPERUSER_EMAIL"
}
],
"image": "sissbruecker/linkding:latest",
"logo": "https://avatars.githubusercontent.com/u/357820",
"name": "linkding",
"platform": "linux",
"ports": [
"9090:9090/tcp"
],
"restart_policy": "unless-stopped",
"title": "Linkding",
"type": 1,
"volumes": [
{
"container": "/etc/linkding/data"
}
],
"id": 402
},
{
"categories": [
"Social"
],
"description": "Self-hosted open-source Linktree alternative. LinkStack is a highly customizable link sharing platform with an intuitive, easy to use user interface.",
"logo": "https://linkstack.org/wp-content/uploads/2023/04/logo-animated.svg",
"name": "linkstack",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/linkstack.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Linkstack",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 403
},
{
"type": 3,
"title": "Linkwarden",
"name": "linkwarden",
"description": "Linkwarden - a bookmark manager that actually keeps your links: every save is preserved as a screenshot, PDF, readable HTML, and an archive.org snapshot, so a dead page is still readable years later.",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "linkwarden/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/linkwarden.png",
"env": [
{
"name": "DISABLE_REGISTRATION",
"label": "DISABLE_REGISTRATION",
"description": "Set true after creating your accounts.",
"default": "false"
},
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET"
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"description": "IMPORTANT: include the /api/v1/auth suffix.",
"default": "http://localhost:5000/api/v1/auth"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 404
},
{
"categories": [
"Email",
"Marketing"
],
"description": "High performance self-hosted newsletter and mailing list manager with a modern dashboard. Source: https://github.com/knadh/listmonk",
"env": [
{
"default": "admin",
"label": "Super-admin username (set on first install)",
"name": "LISTMONK_ADMIN_USER"
},
{
"default": "",
"label": "Super-admin password (min 8 chars; blank = first-run setup screen)",
"name": "LISTMONK_ADMIN_PASSWORD"
}
],
"logo": "https://avatars.githubusercontent.com/u/17838164",
"name": "listmonk",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/listmonk.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Listmonk",
"type": 3,
"id": 405
},
{
"type": 3,
"title": "LiteLLM",
"name": "litellm",
"description": "LiteLLM proxy - one OpenAI-compatible endpoint in front of every LLM provider (Anthropic, OpenAI, Gemini, Bedrock, Mistral, local, \u2026) with virtual keys, per-key budgets, spend tracking, fallbacks and retries.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "litellm/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/litellm.png",
"env": [
{
"name": "LITELLM_MASTER_KEY",
"label": "LITELLM_MASTER_KEY",
"description": "Admin/master key - must start with sk-."
},
{
"name": "LITELLM_SALT_KEY",
"label": "LITELLM_SALT_KEY",
"description": "Encrypts provider API keys stored in the DB."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 406
},
{
"id": 407,
"type": 3,
"title": "Litmus Edge",
"description": "Litmus Edge is an edge data platform that enables industrial AI at scale. It connects, processes, and analyzes real-time OT data at the edge to power smart manufacturing.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://www.gravatar.com/avatar/3c545a4e847eb960bfc9bf5bf877c979?s=120&r=g&d=404",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/litmus_edge/docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 408,
"type": 3,
"title": "Litmus Edge Digital Factory Demo",
"description": "Demo System for Litmus Edge. Litmus Edge is an edge data platform that enables industrial AI at scale. It connects, processes, and analyzes real-time OT data at the edge to power smart manufacturing. Note: Requires 5GB Disk Space / 3GB RAM available on the Host for deployment to succeed.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://www.gravatar.com/avatar/3c545a4e847eb960bfc9bf5bf877c979?s=120&r=g&d=404",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/litmusedge_dfd/docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Social"
],
"description": "LittleLink is an open source DIY self-hosted alternative to services like Linktree and many.link. ",
"logo": "https://littlelink.io/images/avatar@2x.png",
"name": "littlelink-server",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/littlelink.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"ports": [
"3000:3000/tcp"
],
"title": "Littlelink Server",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 409
},
{
"id": 410,
"type": 3,
"title": "Livebook",
"name": "livebook",
"description": "Interactive Elixir notebooks saved as plain Markdown, with charts, tables, maps and forms built in, plus a way to turn a notebook into a small web app. Pulls in any Hex package from inside a notebook. Source: https://github.com/livebook-dev/livebook",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/livebook-dev/livebook/main/assets/public/images/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "LIVEBOOK_PASSWORD",
"label": "Password (required)",
"description": "What you'll log in with, 12 characters or more. Generate one with: openssl rand -hex 16"
},
{
"name": "LIVEBOOK_SECRET_KEY_BASE",
"label": "Secret key (required)",
"description": "Signs your login, so it survives restarts and updates. Generate one with: openssl rand -base64 48"
},
{
"name": "LIVEBOOK_PORT",
"label": "Host port for the web UI",
"default": "8590"
}
],
"note": "Set the <b>password</b> and <b>secret key</b> before you deploy, since the stack won't start without both. Then open <code>http://&lt;your-host&gt;:8590</code> (or whichever port you picked) and log in. Charts and widgets load from port <b>8591</b> on the same host, so keep that one open too - it's fixed, and changing it breaks every output. Notebooks save to the <code>livebook-notebooks</code> volume (<code>/data</code> in the file picker), and settings live in <code>livebook-config</code>. Packages you pull in with <code>Mix.install</code> download again after an update, which is normal. Whoever logs in can run any code on the server, so keep it off the open internet unless it's behind HTTPS. Docs: <a href=\"https://hexdocs.pm/livebook\" target=\"_blank\">hexdocs.pm/livebook</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/livebook/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "LiveKit",
"name": "livekit",
"description": "LiveKit - the Apache-2.0 WebRTC server powering modern voice agents and video apps: rooms, tracks, selective forwarding, and the Agents framework ecosystem. Single Go binary.",
"categories": [
"Voice Realtime"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "livekit/compose.yaml"
},
"env": [
{
"name": "LIVEKIT_API_KEY",
"label": "LIVEKIT_API_KEY",
"description": "API key/secret pair (any opaque strings)."
},
{
"name": "LIVEKIT_API_SECRET",
"label": "LIVEKIT_API_SECRET"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 411
},
{
"type": 3,
"title": "LiveKit Agents",
"name": "livekit-agents",
"description": "A voice AI agent worker on the LiveKit Agents framework: it joins LiveKit rooms and converses - Deepgram for ears, ElevenLabs for voice, any OpenAI-compatible LLM for the brain (the catalogue's `litellm` gateway slots in via",
"categories": [
"Voice Realtime"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "livekit-agents/compose.yaml"
},
"env": [
{
"name": "DEEPGRAM_API_KEY",
"label": "DEEPGRAM_API_KEY"
},
{
"name": "ELEVEN_API_KEY",
"label": "ELEVEN_API_KEY",
"description": "Provider keys (use what your agent's pipeline needs; billed to you)."
},
{
"name": "LIVEKIT_API_KEY",
"label": "LIVEKIT_API_KEY"
},
{
"name": "LIVEKIT_API_SECRET",
"label": "LIVEKIT_API_SECRET"
},
{
"name": "LIVEKIT_URL",
"label": "LIVEKIT_URL",
"description": "Your LiveKit server (in-project: ws://livekit:5000) or LiveKit Cloud.",
"default": "ws://livekit:5000"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 412
},
{
"id": 413,
"type": 3,
"title": "LiveSwitch (stack)",
"description": "A basic LiveSwitch compose with gateway, caching, database and media server",
"categories": [
"Media"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/liveswitch.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/liveswitch/docker-compose.yml"
},
"env": [
{
"name": "POSTGRES_PASSWORD",
"label": "Postgres password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 414,
"type": 2,
"title": "LiveSwitch (swarm)",
"description": "A basic LiveSwitch stack with gateway, caching, database and media server",
"categories": [
"Media"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/liveswitch.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/liveswitch/docker-stack.yml"
},
"env": [
{
"name": "POSTGRES_PASSWORD",
"label": "Postgres password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Tools",
"Productivity"
],
"description": "This project is a lightweight authentication server that provides an opinionated, simplified LDAP interface for authentication.",
"env": [
{
"default": "somesecretjwt",
"label": "LLDAP_JWT_SECRET",
"name": "LLDAP_JWT_SECRET"
},
{
"default": "someadminpassword",
"label": "LLDAP_LDAP_USER_PASS",
"name": "LLDAP_LDAP_USER_PASS"
},
{
"default": "dc=example,dc=com",
"label": "LLDAP_LDAP_BASE_DN",
"name": "LLDAP_LDAP_BASE_DN"
}
],
"image": "nitnelave/lldap:stable-debian",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/lldap.png",
"name": "LLDAP",
"platform": "linux",
"ports": [
"3890:3890/tcp",
"17170:17170/tcp"
],
"restart_policy": "unless-stopped",
"title": "LLDAP",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/lldap/data"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/nitnelave/lldap\" target=\"_blank\">https://github.com/nitnelave/lldap</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/nitnelave/lldap\" target=\"_blank\">https://github.com/nitnelave/lldap</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_lldap.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_lldap.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 415
},
{
"id": 416,
"type": 1,
"title": "Lm-studio",
"name": "Lm-studio",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/lm-studio/config</p>",
"description": "[LM Studio](https://lmstudio.ai/) can run local AI models like gpt-oss, Llama, Gemma, Qwen, and DeepSeek privately on your computer.",
"categories": [
"Remote Desktop",
"AI"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/lmstudio-logo.png",
"image": "linuxserver/lm-studio:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/lm-studio/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Monitoring",
"Logs"
],
"description": " A Lightweight Tool that monitors Docker Container Logs for predefined keywords or regex patterns and sends Notifications.",
"logo": "https://github.com/clemcer/loggifly/raw/main/images/icon.png",
"name": "loggifly",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/loggifly.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Loggifly",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 417
},
{
"type": 3,
"title": "Logto",
"name": "logto",
"description": "Logto - the open-source Auth0 experience: pre-built hosted sign-in pages, OIDC/OAuth, social logins, organizations, MFA, and clean SDKs for every framework. MPL-2.0, one container + a managed Postgres.",
"categories": [
"Auth API Gateway"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "logto/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/logto.png",
"env": [
{
"name": "ADMIN_ENDPOINT",
"label": "ADMIN_ENDPOINT",
"default": "http://localhost:5001"
},
{
"name": "ENDPOINT",
"label": "ENDPOINT",
"description": "Public URLs of the two apps (set to the https domains on Miget).",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 418
},
{
"type": 1,
"name": "logzio-logs-collector",
"title": "Logzio Logs Collector",
"description": "Docker container that uses Filebeat to collect logs from other Docker containers and forward those logs to your Logz.io account.",
"logo": "https://mediadepot.github.io/templates/img/logzio-icon.png",
"image": "logzio/docker-collector-logs:latest",
"categories": [
"Tools"
],
"ports": [],
"privileged": true,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock",
"readonly": true
},
{
"container": "/var/lib/docker/containers",
"bind": "/var/lib/docker/containers"
}
],
"env": [
{
"name": "LOGZIO_TOKEN",
"label": "LOGZIO_TOKEN",
"default": "REPLACE-LOGZIO-TOKEN-HERE"
},
{
"name": "LOGZIO_URL",
"label": "LOGZIO_URL",
"default": "listener.logz.io:5015"
}
],
"labels": [],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 419
},
{
"type": 1,
"name": "logzio-metrics-collector",
"title": "Logzio Metrics Collector",
"description": "Docker Metrics Collector is a container that runs Metricbeat with the modules you enable at runtime.",
"logo": "https://mediadepot.github.io/templates/img/logzio-icon.png",
"image": "logzio/docker-collector-metrics:latest",
"categories": [
"Tools"
],
"ports": [],
"privileged": true,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock",
"readonly": true
},
{
"container": "/hostfs/sys/fs/cgroup",
"bind": "/sys/fs/cgroup",
"readonly": true
},
{
"container": "/hostfs/proc",
"bind": "/proc",
"readonly": true
},
{
"container": "/hostfs",
"bind": "/",
"readonly": true
}
],
"env": [
{
"name": "LOGZIO_TOKEN",
"label": "LOGZIO_TOKEN",
"default": "REPLACE-LOGZIO-TOKEN-HERE"
},
{
"name": "LOGZIO_MODULES",
"label": "LOGZIO_MODULES",
"default": "system,docker"
}
],
"labels": [],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 420
},
{
"id": 421,
"type": 1,
"title": "Lollypop",
"name": "Lollypop",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/lollypop/config</p>",
"description": "[Lollypop](https://wiki.gnome.org/Apps/Lollypop) is a lightweight modern music player designed to work excellently on the GNOME desktop environment.",
"categories": [
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/lollypop-icon.png",
"image": "linuxserver/lollypop:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/lollypop/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 422,
"type": 1,
"title": "Luanti",
"name": "Luanti",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/luanti/config/.minetest</p>",
"description": "[Luanti](https://www.luanti.org/) (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/minetest-icon.png",
"image": "linuxserver/luanti:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CLI_ARGS",
"label": "CLI_ARGS",
"default": "--gameid devtest",
"description": "Optionally specify any [CLI variables](https://wiki.luanti.net/Command_line) you want to launch the app with [OPTIONAL]"
}
],
"ports": [
"30000:30000/udp"
],
"volumes": [
{
"container": "/config/.minetest",
"bind": "/srv/lsio/luanti/config/.minetest"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 423,
"type": 1,
"title": "LubeLogger",
"name": "lubelogger",
"description": "Vehicle maintenance and fuel tracker: log services, repairs, fuel-ups, taxes and odometer readings for each car, attach receipts, and get reminders when something's due. Source: https://github.com/hargata/lubelog",
"categories": [
"Productivity",
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/hargata/lubelog/main/wwwroot/defaults/lubelogger_icon_192.png",
"image": "ghcr.io/hargata/lubelogger:latest",
"restart_policy": "unless-stopped",
"ports": [
"8180:8080/tcp"
],
"volumes": [
{
"container": "/App/data"
},
{
"container": "/root/.aspnet/DataProtection-Keys"
}
],
"env": [
{
"name": "LUBELOGGER_LOCALE_OVERRIDE",
"label": "Locale",
"description": "Sets the currency, number and date format, like en-GB or de-DE.",
"default": "en-US"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8180</code>. There's no login out of the box, so anyone who can reach it can see and change everything until you turn one on under Settings --&gt; Admin --&gt; Enable Authentication, which sets up the root account. Vehicles, records, uploaded receipts and settings live in the first volume, and the second keeps everyone logged in across updates. The server checks GitHub for new versions and its sponsor list. Docs: <a href=\"https://docs.lubelogger.com\" target=\"_blank\">docs.lubelogger.com</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Analytics"
],
"description": "Open source monitoring tool built with Node.js & React",
"logo": "https://raw.githubusercontent.com/KSJaay/Lunalytics/main/public/LogoWithName.png",
"name": "lunalytics",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/lunalytics.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Lunalytics",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 424
},
{
"id": 425,
"type": 1,
"title": "Lychee",
"name": "Lychee",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/lychee/config<br>mkdir -p /srv/lsio/lychee/pictures</p>",
"description": "[Lychee](https://lycheeorg.github.io/) is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely.",
"categories": [
"Photos"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/lychee-icon.png",
"image": "linuxserver/lychee:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DB_CONNECTION",
"label": "DB_CONNECTION",
"default": "",
"description": "DB type, from `sqlite`, `mysql`, `pqsql`."
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "",
"description": "DB server hostname. For `mysql` and `pgsql` only."
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "",
"description": "DB server port. For `mysql` and `pgsql` only."
},
{
"name": "DB_USERNAME",
"label": "DB_USERNAME",
"default": "",
"description": "DB user. For `mysql` and `pgsql` only."
},
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD",
"default": "",
"description": "DB password. For `mysql` and `pgsql` only."
},
{
"name": "DB_DATABASE",
"label": "DB_DATABASE",
"default": "",
"description": "Path to DB file for `sqlite`. DB name for `mysql` and `pgsql`."
},
{
"name": "APP_NAME",
"label": "APP_NAME",
"default": "Lychee",
"description": "The gallery name. [OPTIONAL]"
},
{
"name": "APP_URL",
"label": "APP_URL",
"default": "",
"description": "The URL you will use to access Lychee including protocol, and port where appropriate. [OPTIONAL]"
},
{
"name": "TRUSTED_PROXIES",
"label": "TRUSTED_PROXIES",
"default": "",
"description": "Set to the IP or netmask covering your reverse proxy, if running behind one. Set to `*` to trust all IPs (**do not** use `*` if exposed to the internet`). [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/lychee/config"
},
{
"container": "/pictures",
"bind": "/srv/lsio/lychee/pictures"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Development",
"Productivity"
],
"description": "Self-hostable AI config management platform for AGENTS.md, CLAUDE.md, Cursor rules, and 30+ AI assistant formats. Source: https://github.com/GeiserX/LynxPrompt",
"env": [
{
"description": "Generate with: openssl rand -hex 32",
"label": "Session secret (required)",
"name": "NEXTAUTH_SECRET"
},
{
"description": "Generate with: openssl rand -hex 24",
"label": "Database password (required)",
"name": "DB_PASSWORD"
},
{
"description": "Such as http://192.168.1.10:3000 or https://lynxprompt.example.com",
"label": "Address you open it on (required)",
"name": "APP_URL"
},
{
"description": "Sign-in is a link sent by mail",
"label": "SMTP server (required)",
"name": "SMTP_HOST"
},
{
"description": "From address of the sign-in mails",
"label": "Sender address (required)",
"name": "SMTP_FROM"
},
{
"default": "587",
"description": "465 uses TLS",
"label": "SMTP port",
"name": "SMTP_PORT"
},
{
"default": "",
"description": "Leave empty if the server needs no login",
"label": "SMTP user",
"name": "SMTP_USER"
},
{
"default": "",
"label": "SMTP password",
"name": "SMTP_PASSWORD"
},
{
"default": "",
"description": "This address becomes super-admin on its first sign-in",
"label": "Super-admin email",
"name": "SUPERADMIN_EMAIL"
}
],
"logo": "https://avatars.githubusercontent.com/u/9169332",
"name": "lynxprompt",
"note": "LynxPrompt listens on port 3000 and keeps its database in the pgdata volume and uploaded images in the uploads volume. Sign-in is a link sent by mail, so fill in the SMTP fields, and set APP_URL to the address you open it on. Generate the secrets with openssl rand -hex 32 and openssl rand -hex 24. All options: https://github.com/GeiserX/LynxPrompt/blob/main/env.example",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/lynxprompt.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "LynxPrompt",
"type": 3,
"id": 426
},
{
"id": 427,
"type": 3,
"title": "MaestroHub",
"description": "Industrial data orchestrator with a Unified Namespace, drag-and-drop pipelines, and 40+ protocol connectors. Built-in MCP server brings AI agents into your operational data stack.",
"note": "Welcome to MaestroHub!\n\n\u2022 Open http://&lt;host&gt;:8080 to create your admin account\n\u2022 MQTT clients can connect to &lt;host&gt;:1883 (TCP) or &lt;host&gt;:8083 (WebSocket)\n\u2022 Data persists in the maestrohub-data Docker volume \u2014 back it up before destroying the stack\n\u2022 Get started guide: https://docs.maestrohub.com/overview/get-started",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/219120420?s=400&u=699c593f7490c79736e08eec580fd9af40278576&v=4",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/maestrohub/docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 1,
"title": "Magento 2",
"description": "Open-source e-commerce platform",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/magento.png",
"image": "alankent/gsd:latest",
"ports": [
"80/tcp",
"3000/tcp",
"3001/tcp"
],
"volumes": [
{
"container": "/var/www/html/"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 428
},
{
"categories": [
"Email"
],
"description": "Mailpile is an e-mail client!/search engine and a personal webmail server/easy way to encrypt your e-mail/easy way to encrypt your e-mail ",
"logo": "https://www.mailpile.is/img/icon-512x512.png",
"name": "mailpile",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/mailpile.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Mailpile",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 429
},
{
"type": 3,
"title": "Mailpit",
"name": "mailpit",
"description": "Mailpit - the modern dev mail catcher (MailHog's actively-maintained successor, MIT): an SMTP sink plus a fast web UI with search, HTML preview, link checking, and an API. Stop sending test emails to real inboxes.",
"categories": [
"Email Newsletters"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mailpit/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mailpit.png",
"env": [
{
"name": "MP_UI_AUTH",
"label": "MP_UI_AUTH",
"description": "Web UI basic auth (user:password).",
"default": "admin:change-me"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 430
},
{
"id": 431,
"type": 1,
"title": "Maintainerr",
"name": "maintainerr",
"description": "Library tidier for Plex, Jellyfin and Emby. You write rules like \"nobody's watched it in six months\", it gathers what matches into a leaving-soon collection, then has Sonarr and Radarr delete it once the grace period's up. Source: https://github.com/Maintainerr/Maintainerr",
"categories": [
"Media"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Maintainerr/Maintainerr/development/apps/ui/public/logo_icon.svg",
"image": "ghcr.io/maintainerr/maintainerr:3",
"restart_policy": "unless-stopped",
"ports": [
"6246:6246/tcp"
],
"volumes": [
{
"container": "/opt/data"
}
],
"env": [
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London, for when the rules run",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:6246</code> and pick your media server, then add Sonarr, Radarr and Seerr under Services if you use them. There's no login at all, so anyone who can reach it can change your rules and delete your media - keep it on your own network, or behind a proxy that asks for a password. Each rule's collection waits out a grace period (30 days unless you change it) before anything's deleted, so you can check what it caught first. The database and logs live in the <code>/opt/data</code> volume. It sends an anonymous usage report once a week, on until you switch it off under Settings --&gt; About --&gt; Telemetry. Docs: <a href=\"https://docs.maintainerr.info\" target=\"_blank\">docs.maintainerr.info</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Music"
],
"description": "Simple self-hosted music scrobble database to create personal listening statistics. No recommendations, no social network, no nonsense.",
"env": [
{
"default": "malojapassword",
"label": "MALOJA_FORCE_PASSWORD",
"name": "MALOJA_FORCE_PASSWORD"
},
{
"default": "/data",
"label": "MALOJA_DATA_DIRECTORY",
"name": "MALOJA_DATA_DIRECTORY"
}
],
"image": "krateng/maloja:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/maloja.png",
"name": "maloja",
"platform": "linux",
"ports": [
"42010:42010/tcp"
],
"restart_policy": "unless-stopped",
"title": "Maloja",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/Maloja/Data"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/krateng/maloja\" target=\"_blank\">https://github.com/krateng/maloja</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/krateng/maloja/blob/master/README.md\" target=\"_blank\">https://github.com/krateng/maloja/blob/master/README.md</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_maloja.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_maloja.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 432
},
{
"id": 433,
"type": 1,
"title": "Mame",
"name": "Mame",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mame/config<br>mkdir -p /srv/lsio/mame/mame:ro</p>",
"description": "[MAME](https://www.mamedev.org/) is a free and open-source emulator designed to emulate the hardware of arcade games, video game consoles, old computers and other systems in software on modern personal computers.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mame-logo.png",
"image": "linuxserver/mame:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mame/config"
},
{
"container": "/mame:ro",
"bind": "/srv/lsio/mame/mame:ro"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 434,
"type": 3,
"title": "Manubes Edge Node",
"description": "High-performance cloud platform for industrial production management. Manubes is a no-code solution that is used to structure, monitor and control production data, systems and processes in the cloud.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/inray-manubes.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/inray-manubes-edge-node/docker-compose.yml"
},
"env": [
{
"name": "MANUBES_SECRET",
"label": "manubes secret"
},
{
"name": "ACCEPT_EULA",
"label": "Accept EULA",
"select": [
{
"text": "Yes, I accept",
"value": "true",
"default": true
}
]
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 435,
"type": 1,
"title": "Manyfold",
"name": "Manyfold",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/manyfold/config<br>mkdir -p /srv/lsio/manyfold/libraries</p>",
"description": "[Manyfold](https://github.com/manyfold3d/manyfold/) is an open source, self-hosted web application for managing a collection of 3D models, particularly focused on 3D printing.",
"categories": [
"3D Printing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/manyfold-logo.png",
"image": "linuxserver/manyfold:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DATABASE_URL",
"label": "DATABASE_URL",
"default": "",
"description": "Database connection URL. For sqlite use `sqlite3:/config/manyfold.sqlite3`. For postgres or mariadb use `<scheme>://<username>:<password>@<hostname>:<port>/<db name>` where `<scheme>` is `postgresql` or `mysql2`. Special characters in username/password must be [URL encoded](https://en.wikipedia.org/wiki/Percent-encoding)."
},
{
"name": "REDIS_URL",
"label": "REDIS_URL",
"default": "",
"description": "Redis/Valkey database URL in `redis://<hostname>:<port>/<db number>` format."
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"default": "",
"description": "Browser session and database encryption key. If unset a random one will be generated on init, the database is locked to this key."
}
],
"ports": [
"3214:3214/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/manyfold/config"
},
{
"container": "/libraries",
"bind": "/srv/lsio/manyfold/libraries"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 436,
"type": 1,
"title": "MariaDB (container)",
"description": "Performance beyond MySQL",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mariadb.png",
"image": "mariadb:latest",
"env": [
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "Root password"
}
],
"ports": [
"3306/tcp"
],
"volumes": [
{
"container": "/var/lib/mysql"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "MariaDB (stack)",
"name": "mariadb",
"description": "MariaDB 11.8 - the community-developed MySQL fork, as a single self-hosted node. Drop-in compatible with MySQL for most applications, configured through the official image's environment variables, with data on a volume.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mariadb/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mariadb.png",
"env": [
{
"name": "MARIADB_DATABASE",
"label": "MARIADB_DATABASE",
"description": "Application database + user created on first boot.",
"default": "app"
},
{
"name": "MARIADB_PASSWORD",
"label": "MARIADB_PASSWORD"
},
{
"name": "MARIADB_ROOT_PASSWORD",
"label": "MARIADB_ROOT_PASSWORD",
"description": "Root password (required)."
},
{
"name": "MARIADB_USER",
"label": "MARIADB_USER",
"default": "app"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 437
},
{
"type": 3,
"title": "MariaDB Galera",
"name": "mariadb-galera",
"description": "3-node MariaDB 11.8 LTS cluster with Galera synchronous multi-primary replication - every node accepts writes, any node can die. Runs the OFFICIAL mariadb image (the Galera library ships in it); clustering is pure command-line flags.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mariadb-galera/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mariadb.png",
"env": [
{
"name": "MARIADB_APP_PASSWORD",
"label": "MARIADB_APP_PASSWORD"
},
{
"name": "MARIADB_ROOT_PASSWORD",
"label": "MARIADB_ROOT_PASSWORD"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 438
},
{
"type": 3,
"title": "MariaDB Replication",
"name": "mariadb-replication",
"description": "Asynchronous MariaDB replication: one primary accepts writes and streams its binary log to a read-only replica. This is the classic read-scaling / hot-standby topology.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mariadb-replication/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mariadb.png",
"env": [
{
"name": "MARIADB_DATABASE",
"label": "MARIADB_DATABASE",
"description": "Application database + user (created on the primary, replicates down).",
"default": "app"
},
{
"name": "MARIADB_PASSWORD",
"label": "MARIADB_PASSWORD"
},
{
"name": "MARIADB_REPLICATION_PASSWORD",
"label": "MARIADB_REPLICATION_PASSWORD"
},
{
"name": "MARIADB_REPLICATION_USER",
"label": "MARIADB_REPLICATION_USER",
"description": "Replication account (created on the primary, used by the replica).",
"default": "repl"
},
{
"name": "MARIADB_ROOT_PASSWORD",
"label": "MARIADB_ROOT_PASSWORD",
"description": "Root password (both nodes - must match)."
},
{
"name": "MARIADB_USER",
"label": "MARIADB_USER",
"default": "app"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 439
},
{
"id": 440,
"type": 3,
"title": "marimo",
"name": "marimo",
"description": "Python notebooks saved as plain .py files, where running a cell reruns everything that depends on it, with SQL cells, interactive widgets and a dataframe explorer built in. pandas, Polars, DuckDB and Altair come installed. Source: https://github.com/marimo-team/marimo",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/marimo-team/marimo/main/frontend/public/apple-touch-icon.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "MARIMO_PASSWORD",
"label": "Password (required)",
"description": "What you'll log in with. Anything long and hard to guess, or generate one with: openssl rand -hex 16"
},
{
"name": "MARIMO_SESSION_SECRET",
"label": "Session secret",
"description": "Keeps you logged in across restarts and updates. Generate one with: openssl rand -hex 32. Left blank, every restart logs you out."
},
{
"name": "MARIMO_PORT",
"label": "Host port for the web UI",
"default": "2718"
}
],
"note": "Set the <b>password</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:2718</code> (or whichever port you picked) and log in with it. The home page lists every notebook in the <code>marimo-notebooks</code> volume, marimo's tutorials included, and new ones save there as plain <code>.py</code> files. Your settings live in <code>marimo-home</code>. Packages you add from inside a notebook go into the container rather than a volume, so they're gone after an update and you'll need to install them again. Whoever logs in can run any Python on the server, so keep it off the open internet unless it's behind HTTPS. Docs: <a href=\"https://docs.marimo.io\" target=\"_blank\">docs.marimo.io</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/marimo/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Notes"
],
"description": "Markopolis is like the self hosted version of Obsidian Publish.",
"name": "markopolis",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/markopolis.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Markopolis",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 441
},
{
"categories": [
"News"
],
"description": "Marreta is a tool that breaks down access barriers and elements that hinder reading!",
"name": "marreta",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/marreta.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Marreta",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 442
},
{
"id": 443,
"type": 1,
"title": "Mastodon (container)",
"name": "Mastodon",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mastodon/config</p>",
"description": "[Mastodon](https://github.com/mastodon/mastodon/) is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones..",
"categories": [
"Social"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mastodon-banner.png",
"image": "linuxserver/mastodon:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "LOCAL_DOMAIN",
"label": "LOCAL_DOMAIN",
"default": "example.com",
"description": "This is the unique identifier of your server in the network. It cannot be safely changed later."
},
{
"name": "REDIS_HOST",
"label": "REDIS_HOST",
"default": "redis",
"description": "Redis server hostname"
},
{
"name": "REDIS_PORT",
"label": "REDIS_PORT",
"default": "6379",
"description": "Redis port"
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "db",
"description": "Postgres database hostname"
},
{
"name": "DB_USER",
"label": "DB_USER",
"default": "mastodon",
"description": "Postgres username"
},
{
"name": "DB_NAME",
"label": "DB_NAME",
"default": "mastodon",
"description": "Postgres db name"
},
{
"name": "DB_PASS",
"label": "DB_PASS",
"default": "mastodon",
"description": "Postgres password"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "5432",
"description": "Postgres port"
},
{
"name": "ES_ENABLED",
"label": "ES_ENABLED",
"default": "false",
"description": "Enable or disable Elasticsearch (requires a separate ES instance)"
},
{
"name": "ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY",
"label": "ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY",
"default": "",
"description": "Primary key for [Active Record Encryption](https://github.com/mastodon/mastodon/pull/29831/files)."
},
{
"name": "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY",
"label": "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY",
"default": "",
"description": "Deterministic key for [Active Record Encryption](https://github.com/mastodon/mastodon/pull/29831/files)."
},
{
"name": "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT",
"label": "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT",
"default": "",
"description": "Derivation salt for [Active Record Encryption](https://github.com/mastodon/mastodon/pull/29831/files)."
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"default": "",
"description": "Browser session secret. Changing it will break all active browser sessions."
},
{
"name": "OTP_SECRET",
"label": "OTP_SECRET",
"default": "",
"description": "MFA secret. Changing it after initial setup will break two-factor authentication."
},
{
"name": "VAPID_PRIVATE_KEY",
"label": "VAPID_PRIVATE_KEY",
"default": "",
"description": "Push notification private key. Changing it after initial setup will break push notifications."
},
{
"name": "VAPID_PUBLIC_KEY",
"label": "VAPID_PUBLIC_KEY",
"default": "",
"description": "Push notification public key. Changing it after initial setup will break push notifications."
},
{
"name": "SMTP_SERVER",
"label": "SMTP_SERVER",
"default": "mail.example.com",
"description": "SMTP server for email notifications"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "25",
"description": "SMTP server port"
},
{
"name": "SMTP_LOGIN",
"label": "SMTP_LOGIN",
"default": "",
"description": "SMTP username"
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD",
"default": "",
"description": "SMTP password"
},
{
"name": "SMTP_FROM_ADDRESS",
"label": "SMTP_FROM_ADDRESS",
"default": "notifications@example.com",
"description": "From address for emails send from Mastodon"
},
{
"name": "S3_ENABLED",
"label": "S3_ENABLED",
"default": "false",
"description": "Enable or disable S3 storage of uploaded files"
},
{
"name": "WEB_DOMAIN",
"label": "WEB_DOMAIN",
"default": "mastodon.example.com",
"description": "This can be set if you want your server identifier to be different to the subdomain hosting Mastodon. See [https://docs.joinmastodon.org/admin/config/#basic](https://docs.joinmastodon.org/admin/config/#basic) [OPTIONAL]"
},
{
"name": "ES_HOST",
"label": "ES_HOST",
"default": "es",
"description": "Elasticsearch server hostname [OPTIONAL]"
},
{
"name": "ES_PORT",
"label": "ES_PORT",
"default": "9200",
"description": "Elasticsearch port [OPTIONAL]"
},
{
"name": "ES_USER",
"label": "ES_USER",
"default": "elastic",
"description": "Elasticsearch username [OPTIONAL]"
},
{
"name": "ES_PASS",
"label": "ES_PASS",
"default": "elastic",
"description": "Elasticsearch password [OPTIONAL]"
},
{
"name": "S3_BUCKET",
"label": "S3_BUCKET",
"default": "",
"description": "S3 bucket hostname [OPTIONAL]"
},
{
"name": "AWS_ACCESS_KEY_ID",
"label": "AWS_ACCESS_KEY_ID",
"default": "",
"description": "S3 bucket access key ID [OPTIONAL]"
},
{
"name": "AWS_SECRET_ACCESS_KEY",
"label": "AWS_SECRET_ACCESS_KEY",
"default": "",
"description": "S3 bucket secret access key [OPTIONAL]"
},
{
"name": "S3_ALIAS_HOST",
"label": "S3_ALIAS_HOST",
"default": "",
"description": "Alternate hostname for object fetching if you are front the S3 connections. [OPTIONAL]"
},
{
"name": "SIDEKIQ_ONLY",
"label": "SIDEKIQ_ONLY",
"default": "false",
"description": "Only run the sidekiq service in this container instance. For large scale instances that need better queue handling. [OPTIONAL]"
},
{
"name": "SIDEKIQ_QUEUE",
"label": "SIDEKIQ_QUEUE",
"default": "",
"description": "The name of the sidekiq queue to run in this container. See [notes](https://docs.joinmastodon.org/admin/scaling/#sidekiq-queues). [OPTIONAL]"
},
{
"name": "SIDEKIQ_DEFAULT",
"label": "SIDEKIQ_DEFAULT",
"default": "false",
"description": "Set to `true` on the main container if you're running additional sidekiq instances. It will run the `default` queue. [OPTIONAL]"
},
{
"name": "SIDEKIQ_THREADS",
"label": "SIDEKIQ_THREADS",
"default": "5",
"description": "The number of threads for sidekiq to use. See [notes](https://docs.joinmastodon.org/admin/scaling/#sidekiq-threads). [OPTIONAL]"
},
{
"name": "DB_POOL",
"label": "DB_POOL",
"default": "5",
"description": "The size of the DB connection pool, must be *at least* the same as `SIDEKIQ_THREADS`. See [notes](https://docs.joinmastodon.org/admin/scaling/#sidekiq-threads). [OPTIONAL]"
},
{
"name": "NO_CHOWN",
"label": "NO_CHOWN",
"default": "",
"description": "Set to `true` to skip chown of /config on init. *READ THE APPLICATION NOTES BEFORE SETTING THIS*. [OPTIONAL]"
},
{
"name": "MASTODON_PROMETHEUS_EXPORTER_ENABLED",
"label": "MASTODON_PROMETHEUS_EXPORTER_ENABLED",
"default": "",
"description": "If set to `true`, Mastodon\u2019s Ruby processes (web & Sidekiq) will enable the Prometheus instrumentation. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp",
"443:443/tcp",
"9394:9394/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mastodon/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Social"
],
"description": "Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones..\n\nSource: https://github.com/mastodon/mastodon",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mastodon-banner.png",
"name": "mastodon",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/mastodon.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Mastodon (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 444
},
{
"id": 445,
"type": 3,
"title": "Mathesar",
"name": "mathesar",
"description": "Spreadsheet-like interface for PostgreSQL, for browsing, editing and linking tables without SQL, building queries by pointing and clicking and importing CSVs. Runs on its own database or connects to Postgres you already have. Source: https://github.com/mathesar-foundation/mathesar",
"categories": [
"Database",
"Productivity"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/64070190?s=256",
"restart_policy": "unless-stopped",
"env": [
{
"name": "MATHESAR_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Mathesar can't reach its database."
},
{
"name": "MATHESAR_PORT",
"label": "Host port for the web UI",
"default": "8250"
}
],
"note": "Set the <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it, and keep it the same when you redeploy. Then open <code>http://&lt;your-host&gt;:8250</code> (or whichever port you picked) and make the admin account straight away, as whoever gets there first owns it. That page comes with two boxes ticked, a one-time install ping and anonymous usage stats, both sent to Mathesar, so untick them if you'd rather not (usage stats can also be switched off under Administration --&gt; Settings). Connect Database --&gt; Create a New Database makes one on the bundled Postgres, with sample data if you like, or point it at a Postgres server you already run. Your browser checks GitHub for new releases. The bundled database lives in the <code>postgres-data</code> volume, and the secret key that encrypts saved database passwords is made on first start in <code>mathesar-secrets</code>, so keep both. Docs: <a href=\"https://docs.mathesar.org\" target=\"_blank\">docs.mathesar.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/mathesar/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Analytics"
],
"description": "Google Analytics alternative that protects your data and your customers' privacy",
"logo": "https://gallery.ncnet.nl/upload/2020/05/22/20200522171613-9205fa32.png",
"name": "matomo",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/matomo.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"ports": [
"8282:80/tcp"
],
"title": "Matomo",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 446
},
{
"type": 3,
"title": "Mattermost",
"name": "mattermost",
"description": "Mattermost - open-source team chat: channels, threads, DMs, voice calls, slash commands, integrations, and plugins. Team Edition image on a managed Postgres - it listens on :5000 directly, so no proxy.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mattermost/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mattermost.png",
"env": [
{
"name": "MM_SITE_URL",
"label": "MM_SITE_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 447
},
{
"id": 448,
"type": 1,
"title": "Mautic (container)",
"description": "Open-source marketing automation platform",
"categories": [
"Marketing"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mautic.png",
"image": "mautic/mautic:latest",
"env": [
{
"name": "MAUTIC_DB_HOST",
"label": "MySQL database host"
},
{
"name": "MAUTIC_DB_PASSWORD",
"label": "Database password"
}
],
"ports": [
"80/tcp"
],
"volumes": [
{
"container": "/var/www/html"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Marketing"
],
"description": "Mautic provides free and open source marketing automation software available to everyone. ",
"logo": "https://www.mautic.org/themes/custom/mauticorg_base/logo.svg",
"name": "mautic",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/mautic.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Mautic (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 449
},
{
"type": 3,
"name": "mayan",
"title": "Mayan EDMS",
"description": "Mayan EDMS is an electronic vault for your documents.",
"logo": "https://mediadepot.github.io/templates/img/mayan-logo.png",
"categories": [
"Documents",
"Tools"
],
"repository": {
"url": "https://github.com/mediadepot/templates",
"stackfile": "stacks/mayan/docker-compose.yml"
},
"maintainer": "https://github.com/mediadepot/templates/",
"id": 450
},
{
"categories": [
"Other"
],
"description": "McMyAdmin 2 is the leading web control panel and administration console for Minecraft servers.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/mcmyadmin2:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/mcmyadmin-icon.png",
"name": "mcmyadmin2",
"platform": "linux",
"ports": [
"8080:8080/tcp",
"25565:25565/tcp"
],
"restart_policy": "unless-stopped",
"title": "McMyAdmin 2",
"type": 1,
"volumes": [
{
"container": "/minecraft"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 451
},
{
"categories": [
"Other",
"Tools"
],
"description": "A self-hosted recipe manager and meal planner",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
},
{
"default": "2",
"label": "WEB_CONCURRENCY",
"name": "WEB_CONCURRENCY"
},
{
"default": "8",
"label": "MAX_WORKERS",
"name": "MAX_WORKERS"
},
{
"default": "true",
"label": "RECIPE_PUBLIC",
"name": "RECIPE_PUBLIC"
},
{
"default": "true",
"label": "RECIPE_SHOW_NUTRITION",
"name": "RECIPE_SHOW_NUTRITION"
},
{
"default": "true",
"label": "RECIPE_SHOW_ASSETS",
"name": "RECIPE_SHOW_ASSETS"
},
{
"default": "true",
"label": "RECIPE_LANDSCAPE_VIEW",
"name": "RECIPE_LANDSCAPE_VIEW"
},
{
"default": "false",
"label": "RECIPE_DISABLE_COMMENTS",
"name": "RECIPE_DISABLE_COMMENTS"
},
{
"default": "false",
"label": "RECIPE_DISABLE_AMOUNT",
"name": "RECIPE_DISABLE_AMOUNT"
}
],
"image": "hkotel/mealie:v0.4.3",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/mealie.png",
"name": "mealie",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hay-kot.github.io/mealie/\" target=\"_blank\">https://hay-kot.github.io/mealie/</a><br><b>Official Docker Documentation: </b><a href=\"https://hay-kot.github.io/mealie/documentation/getting-started/install/\" target=\"_blank\">https://hay-kot.github.io/mealie/documentation/getting-started/install/</a><br><br><br>Default Credentials: Username: changeme@email.com Password: MyPassword. Documentation is Available <a href='https://hay-kot.github.io/mealie/documentation/getting-started/install/'>here</a>.",
"platform": "linux",
"ports": [
"9925:9000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Mealie",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/mealie"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 452
},
{
"categories": [
"Analytics"
],
"description": "Medama Analytics is an open-source project dedicated to providing self-hostable, cookie-free website analytics.",
"logo": "https://raw.githubusercontent.com/medama-io/medama/main/.github/images/banner-dark.svg",
"name": "medama",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/medama.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Medama",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 453
},
{
"id": 454,
"type": 1,
"title": "Mediaelch",
"name": "Mediaelch",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mediaelch/config</p>",
"description": "[MediaElch](https://github.com/Komet/MediaElch) is a MediaManager for Kodi. Information about Movies, TV Shows, Concerts and Music are stored as nfo files. Fanarts are downloaded automatically from fanart.tv. Using the nfo generator, MediaElch can be used with other MediaCenters as well.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mediaelch-logo.png",
"image": "linuxserver/mediaelch:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mediaelch/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 455,
"type": 1,
"title": "Medusa (container)",
"name": "Medusa",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/medusa/config<br>mkdir -p /srv/lsio/medusa/downloads<br>mkdir -p /srv/lsio/medusa/tv</p>",
"description": "[Medusa](https://pymedusa.com/) is an automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/medusa-icon.png",
"image": "linuxserver/medusa:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8081:8081/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/medusa/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/medusa/downloads"
},
{
"container": "/tv",
"bind": "/srv/lsio/medusa/tv"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"CMS"
],
"description": "Medusa is an open-source headless commerce engine that enables developers to create amazing digital commerce experiences.",
"logo": "https://user-images.githubusercontent.com/7554214/153162406-bf8fd16f-aa98-4604-b87b-e13ab4baf604.png",
"name": "medusa",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/medusa.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Medusa (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 456
},
{
"categories": [
"Search"
],
"description": "Meilisearch is a **RESTful search API**. It aims to be a **ready-to-go solution** for everyone who wants a **fast and relevant search experience** for their end-users",
"logo": "https://docs.meilisearch.com/logo.svg",
"name": "Meilisearch",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/meilisearch.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Meilisearch",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 457
},
{
"id": 458,
"type": 1,
"title": "Melonds",
"name": "Melonds",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/melonds/config</p>",
"description": "[melonDS](https://melonds.kuribo64.net/) aims at providing fast and accurate Nintendo DS emulation.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/melonds-logo.png",
"image": "linuxserver/melonds:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/melonds/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Memos",
"name": "memos",
"description": "Memos - the lightweight note hub: quick markdown notes with tags, search, and selective sharing. A single Go binary on SQLite, MIT-licensed - the \"capture a thought in two seconds\" tool, on your infrastructure.",
"categories": [
"Productivity Pm"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "memos/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/memos.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 459
},
{
"id": 460,
"type": 1,
"title": "Mermaid Live Editor",
"name": "mermaid-live-editor",
"description": "Browser editor for Mermaid diagrams, previewing flowcharts, sequence, class, Gantt and dozens of other diagram types live as you write them in plain text, then exporting them as PNG or SVG or sharing them as a link. Source: https://github.com/mermaid-js/mermaid-live-editor",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/mermaid-js/mermaid-live-editor/develop/static/favicon.svg",
"image": "ghcr.io/mermaid-js/mermaid-live-editor:latest",
"restart_policy": "unless-stopped",
"ports": [
"8980:8080/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8980</code>. There's no login and nothing to back up on the server, since your diagram and its history are kept in your browser's own storage, so another browser or a cleared cache starts empty. Share puts the whole diagram in the link, and Actions --&gt; PNG or SVG downloads it straight from your browser. The pink banner, Save diagram, Edit visually and Contact sales all belong to Mermaid Chart, the makers' paid service, and the two save buttons send your diagram there when clicked, as do the mermaid.ink and Kroki links under Actions. Otherwise the only outside request is the Config tab fetching its schema from mermaid.js.org. Docs: <a href=\"https://mermaid.js.org/intro/\" target=\"_blank\">mermaid.js.org</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Remote Control"
],
"description": "MeshCentral is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet. ",
"logo": "https://repository-images.githubusercontent.com/101663032/a0f76700-4b4f-11eb-981e-ee7eea9fddf2",
"name": "meshcentral",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/meshcentral.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Meshcentral",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 461
},
{
"type": 3,
"title": "Metabase",
"name": "metabase",
"description": "Metabase OSS - the BI tool non-analysts actually use: point-and-click questions, dashboards, and SQL when you want it. One JVM container + a managed Postgres for the app database.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "metabase/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/metabase.png",
"env": [
{
"name": "MB_SITE_URL",
"label": "MB_SITE_URL",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 462
},
{
"categories": [
"Downloaders"
],
"description": "Web GUI for youtube-dl (using the yt-dlp fork) with playlist support. Allows you to download videos from YouTube and dozens of other sites (https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md)",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "alexta69/metube:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/metube.png",
"name": "MeTube",
"platform": "linux",
"ports": [
"8081:8081/tcp"
],
"restart_policy": "unless-stopped",
"title": "MeTube",
"type": 1,
"volumes": [
{
"container": "/downloads",
"bind": "/portainer/Downloads"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hub.docker.com/r/alexta69/metube\" target=\"_blank\">https://hub.docker.com/r/alexta69/metube</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/alexta69/metube\" target=\"_blank\">https://github.com/alexta69/metube</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 463
},
{
"id": 464,
"type": 2,
"title": "Microsoft OMS Agent",
"description": "Microsoft Operations Management Suite Linux agent.",
"categories": [
"Ops"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/microsoft-oms/docker-stack.yml"
},
"env": [
{
"name": "AZURE_WORKSPACE_ID",
"label": "Workspace ID",
"description": "Azure Workspace ID"
},
{
"name": "AZURE_PRIMARY_KEY",
"label": "Primary key",
"description": "Azure primary key"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Multimedia"
],
"description": "Your media enjoyed through a minimal lightweight media server.",
"logo": "https://github.com/midarrlabs/midarr-server/raw/master/priv/static/logo.svg",
"name": "midarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/midarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Midarr",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 465
},
{
"categories": [
"Other",
"Tools",
"Games"
],
"description": "This docker image provides a Minecraft Server that will automatically download the latest stable version at startup. You can also run/upgrade to any specific version or the latest snapshot. See the Versions section below for more information.",
"env": [
{
"default": "TRUE",
"label": "EULA",
"name": "EULA"
}
],
"image": "itzg/minecraft-server:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/minecraft.png",
"name": "minecraft",
"platform": "linux",
"ports": [
"25565:25565/tcp"
],
"restart_policy": "unless-stopped",
"title": "Minecraft Server (container)",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/Minecraft-data"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.minecraft.net/en-us\" target=\"_blank\">https://www.minecraft.net/en-us</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/itzg/docker-minecraft-server#using-docker-compose\" target=\"_blank\">https://github.com/itzg/docker-minecraft-server#using-docker-compose</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 466
},
{
"type": 3,
"title": "Minecraft Server (stack)",
"name": "minecraft",
"description": "Minecraft Java Edition via itzg/minecraft-server - the standard image: env-driven, supports Paper/Fabric/Forge/Vanilla, and downloads the server jar at runtime (nothing redistributed).",
"categories": [
"Game Servers"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "minecraft/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/minecraft.png",
"env": [
{
"name": "EULA",
"label": "EULA",
"description": "Mojang's EULA (https://aka.ms/MinecraftEULA) - YOU accept it."
},
{
"name": "MEMORY",
"label": "MEMORY",
"description": "JVM heap.",
"default": "2G"
},
{
"name": "MOTD",
"label": "MOTD",
"default": "A Miget Minecraft Server"
},
{
"name": "TYPE",
"label": "TYPE",
"description": "PAPER (recommended), VANILLA, FABRIC, FORGE, ...",
"default": "PAPER"
},
{
"name": "VERSION",
"label": "VERSION",
"default": "LATEST"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 467
},
{
"categories": [
"Other"
],
"description": "Server version of minetest, a free, open source alternative to minecraft.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/minetest:latest",
"logo": "https://raw.githubusercontent.com/linuxserver/beta-templates/master/lsiodev/img/minetest-icon.png",
"name": "minetest",
"platform": "linux",
"ports": [
"30000:30000/udp"
],
"restart_policy": "unless-stopped",
"title": "Minetest",
"type": 1,
"volumes": [
{
"container": "/config/.minetest"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 468
},
{
"categories": [
"Feed Reader"
],
"description": "Miniflux is a minimalist and opinionated feed reader.",
"name": "miniflux",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/miniflux.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Miniflux",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 469
},
{
"id": 470,
"type": 1,
"title": "Minio (container)",
"description": "A distributed object storage server built for cloud applications and devops",
"categories": [
"Storage"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/minio.png",
"image": "quay.io/minio/minio:latest",
"ports": [
"9000/tcp",
"9001/tcp"
],
"env": [
{
"name": "MINIO_ROOT_USER",
"label": "Root user"
},
{
"name": "MINIO_ROOT_PASSWORD",
"label": "Root password"
}
],
"volumes": [
{
"container": "/data"
},
{
"container": "/root/.minio"
}
],
"command": "server /data --console-address ':9001'",
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "MinIO (stack)",
"name": "minio",
"description": "MinIO, S3-compatible object storage, single node + 20 GB volume, with the web console as the public entrypoint.",
"categories": [
"Object Storage"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "minio/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/minio.png",
"env": [
{
"name": "MINIO_ROOT_PASSWORD",
"label": "MINIO_ROOT_PASSWORD"
},
{
"name": "MINIO_ROOT_USER",
"label": "MINIO_ROOT_USER",
"default": "minio-admin"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 471
},
{
"id": 472,
"type": 1,
"title": "Minisatip",
"name": "Minisatip",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/minisatip/config</p>",
"description": "[Minisatip](https://github.com/catalinii/minisatip) is a multi-threaded satip server version 1.2 that runs under Linux and it was tested with DVB-S, DVB-S2, DVB-T, DVB-T2, DVB-C, DVB-C2, ATSC and ISDB-T cards.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/minisatip-icon.png",
"image": "linuxserver/minisatip:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "RUN_OPTS",
"label": "RUN_OPTS",
"default": "",
"description": "Specify specific run params for minisatip"
}
],
"ports": [
"8875:8875/tcp",
"554:554/tcp",
"1900:1900/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/minisatip/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 473,
"type": 1,
"title": "Modmanager",
"name": "Modmanager",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/modmanager/config</p>",
"description": "# This container needs special attention. Please check https://hub.docker.com/r/linuxserver/modmanager for details.",
"categories": [
"Docker"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver-ls-logo.png",
"image": "linuxserver/modmanager:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/modmanager/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 474,
"type": 1,
"title": "Modrinth",
"name": "Modrinth",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/modrinth/config</p>",
"description": "[Modrinth App](https://modrinth.com/) is a unique, open source launcher that allows you to play your favorite mods, and keep them up to date, all in one neat little package.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/modrinth-logo.png",
"image": "linuxserver/modrinth:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/modrinth/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 475,
"type": 1,
"title": "Mongo",
"description": "Open-source document-oriented database",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mongo.png",
"image": "mongo:latest",
"ports": [
"27017/tcp"
],
"volumes": [
{
"container": "/data/db"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "MongoDB Replica Set",
"name": "mongodb",
"description": "3-node MongoDB 8 replica set (`rs0`), deployable locally with plain Docker Compose or to Miget as a compose stack.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mongodb/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mongodb.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 476
},
{
"categories": [
"Social"
],
"description": "Monica is a great open source personal relationship management system to organize the interactions with your loved ones.",
"logo": "https://raw.githubusercontent.com/docker-library/docs/b962028212dbd77c9531dbcf8d5a81db79d4a735/monica/logo.svg",
"name": "monica",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/monica.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Monica",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 477
},
{
"categories": [
"Learning"
],
"description": "Moodle is a learning platform designed to provide educators, administrators and learners with a single robust, secure and integrated system to create personalised learning environments.",
"logo": "https://download.moodle.org/theme/moodleorgcleaned/pix/moodle_logo_TM.svg",
"name": "moodle",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/moodle.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Moodle",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 478
},
{
"type": 1,
"name": "syncserver",
"title": "Mozilla Syncserver",
"description": "Run-Your-Own Firefox Sync Server",
"logo": "https://mediadepot.github.io/templates/img/firefox-logo.png",
"image": "mozilla/syncserver:latest",
"categories": [
"Tools"
],
"ports": [
"5000/tcp"
],
"volumes": [
{
"container": "/data",
"bind": "/opt/mediadepot/apps/syncserver"
}
],
"env": [
{
"name": "SYNCSERVER_PUBLIC_URL",
"label": "SYNCSERVER_PUBLIC_URL",
"default": "https://syncserver.depot.lan"
},
{
"name": "SYNCSERVER_SECRET_FILE",
"label": "SYNCSERVER_SECRET_FILE",
"default": "/data/secret_key"
},
{
"name": "SYNCSERVER_SQLURI",
"label": "SYNCSERVER_SQLURI",
"default": "sqlite:////data/syncserver.db"
},
{
"name": "SYNCSERVER_BATCH_UPLOAD_ENABLED",
"label": "SYNCSERVER_BATCH_UPLOAD_ENABLED",
"default": "true"
},
{
"name": "SYNCSERVER_FORCE_WSGI_ENVIRON",
"label": "SYNCSERVER_FORCE_WSGI_ENVIRON",
"default": "false"
},
{
"name": "PORT",
"label": "PORT",
"default": "5000"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.syncservere.loadbalancer.server.port",
"value": "5000"
},
{
"name": "traefik.http.routers.syncserver.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.syncserver.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 479
},
{
"id": 480,
"type": 1,
"title": "Msedge",
"name": "Msedge",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/msedge/config</p>",
"description": "[Microsoft Edge](https://www.microsoft.com/edge) is a cross-platform web browser developed by Microsoft and based on Chromium.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/edge-logo.png",
"image": "linuxserver/msedge:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "EDGE_CLI",
"label": "EDGE_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/msedge/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 481,
"type": 1,
"title": "Mstream",
"name": "Mstream",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mstream/config<br>mkdir -p /srv/lsio/mstream/music</p>",
"description": "[Mstream](https://mstream.io/) is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere. There are mobile apps available for both Android and iPhone.",
"categories": [
"Media Servers",
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mstream-icon.png",
"image": "linuxserver/mstream:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mstream/config"
},
{
"container": "/music",
"bind": "/srv/lsio/mstream/music"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 482,
"type": 1,
"title": "Mullvad-browser",
"name": "Mullvad-browser",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mullvad-browser/config</p>",
"description": "The [Mullvad Browser](https://mullvad.net/en/browser) is a privacy-focused web browser developed in a collaboration between Mullvad VPN and the Tor Project. It\u2019s designed to minimize tracking and fingerprinting. You could say it\u2019s a Tor Browser to use without the Tor Network. Instead, you can use it with a trustworthy VPN.",
"categories": [
"Web Browser",
"VPN"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mullvad-browser-logo.png",
"image": "linuxserver/mullvad-browser:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "LOCAL_NET",
"label": "LOCAL_NET",
"default": "192.168.0.0/16",
"description": "If using a VPN, set this to your local LAN IP range using CIDR notation. Without it you will be unable to access the web interface. If you have multiple ranges or a complex LAN setup you will need to manage this yourself in the wg0.conf, see the App Setup section for details. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mullvad-browser/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Voice",
"Chat"
],
"description": "Mumble is a voicechat program for gamers written on top of Qt and Opus. Murmur is the server backend for Mumble.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
}
],
"image": "goofball222/murmur:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/Mumble-logo.png",
"name": "murmur",
"platform": "linux",
"ports": [
"64738:64738/tcp",
"64738:64738/udp"
],
"restart_policy": "unless-stopped",
"title": "Murmur",
"type": 1,
"volumes": [
{
"container": "/etc/localtime",
"bind": "/etc/localtime:ro"
},
{
"container": "/opt/murmur/config",
"bind": "/portainer/Files/Config/Murmur"
},
{
"container": "/opt/murmur/data",
"bind": "/portainer/Files/Murmur/data"
},
{
"container": "/opt/murmur/log",
"bind": "/portainer/Files/Murmur/log"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 483
},
{
"categories": [
"Music",
"Tools"
],
"description": "MusicBrainz is an open music encyclopedia that collects music metadata and makes it available to the public.",
"env": [
{
"label": "BRAINZCODE",
"name": "BRAINZCODE",
"default": "",
"preset": true
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/musicbrainz:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/musicbrainz-icon.png",
"name": "musicbrainz",
"platform": "linux",
"ports": [
"5000:5000/tcp"
],
"restart_policy": "unless-stopped",
"title": "MusicBrainz",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/MusicBrainz"
},
{
"container": "/data",
"bind": "/portainer/Files/AppData/MusicBrainz"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 484
},
{
"categories": [
"Web",
"Tools"
],
"description": "A lightweight portal to view, manage your HTPC apps without having to run anything more than a PHP enabled webserver. With Muximux you don't need to keep multiple tabs open, or bookmark the URL to all of your apps.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/muximux:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/muximux-icon.png",
"name": "muximux",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Muximux",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Muximux"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 485
},
{
"id": 486,
"type": 3,
"title": "MyIP",
"name": "myip",
"description": "IP toolbox for checking your own connection: your IPv4 and IPv6 addresses and where they look like they are, which sites you can reach, WebRTC and DNS leak tests, a speed test, and lookups for MTR, DNS records and whois. Source: https://github.com/jason5ng32/MyIP",
"categories": [
"Networking",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/jason5ng32/MyIP/main/public/logos/ios-logo-512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "MYIP_HOSTS",
"label": "Host name or IP you'll open it on (required)",
"description": "Just the host, no http:// and no port, like 192.168.1.20 or myip.example.com. For several, use commas and no spaces."
},
{
"name": "MYIP_PORT",
"label": "Host port for the web UI",
"default": "18966"
}
],
"note": "Fill in the <b>host name or IP</b> you'll open it on before you deploy, since the stack won't start without one. That's just the host part of the address, like <code>192.168.1.20</code> or <code>myip.example.com</code>, with no <code>http://</code> and no port. MyIP's server only answers lookups for pages opened on a host it knows (plus localhost), so if it's missing or wrong the page loads but your IP cards sit there loading forever. To fix it, change it in the stack's environment variables and redeploy. More than one host goes in as a list with commas and no spaces, like <code>192.168.1.20,myip.example.com</code>, since a space quietly breaks the host after it. Then open <code>http://&lt;your-host&gt;:18966</code> (or whichever port you picked). There's no login and nothing stored. Checking your connection is the whole point, so the page talks to lots of outside services: its makers' ipcheck.ing probes, IP lookup services (through the server), leak-test servers and the sites in the connectivity test. Docs: <a href=\"https://github.com/jason5ng32/MyIP#readme\" target=\"_blank\">github.com/jason5ng32/MyIP</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/myip/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Downloaders",
"Books"
],
"description": "An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/mylar:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/mylar-icon.png",
"name": "mylar",
"platform": "linux",
"ports": [
"8090:8090/tcp"
],
"restart_policy": "unless-stopped",
"title": "Mylar",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Mylar"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/comics",
"bind": "/portainer/Comics"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 487
},
{
"id": 488,
"type": 1,
"title": "Mylar3",
"name": "Mylar3",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mylar3/config<br>mkdir -p /srv/lsio/mylar3/comics<br>mkdir -p /srv/lsio/mylar3/downloads</p>",
"description": "[Mylar3](https://github.com/MylarComics/mylar3) is an automated Comic Book downloader (cbr/cbz) for use with NZB and torrents written in python. It supports SABnzbd, NZBGET, and many torrent clients in addition to DDL.",
"categories": [
"Books",
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mylar-icon.png",
"image": "linuxserver/mylar3:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8090:8090/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mylar3/config"
},
{
"container": "/comics",
"bind": "/srv/lsio/mylar3/comics"
},
{
"container": "/downloads",
"bind": "/srv/lsio/mylar3/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"title": "MySQL (container)",
"description": "The most popular open-source database",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mysql.png",
"image": "mysql:latest",
"env": [
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "Root password"
}
],
"ports": [
"3306/tcp"
],
"volumes": [
{
"container": "/var/lib/mysql"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 489
},
{
"type": 3,
"title": "MySQL (stack)",
"name": "mysql",
"description": "MySQL 8.4 LTS - the world's most popular open- source relational database, as a single self-hosted node. Configured entirely through the official image's environment variables, with data on a volume.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mysql/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mysql.png",
"env": [
{
"name": "MYSQL_DATABASE",
"label": "MYSQL_DATABASE",
"description": "Application database + user created on first boot.",
"default": "app"
},
{
"name": "MYSQL_PASSWORD",
"label": "MYSQL_PASSWORD"
},
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "MYSQL_ROOT_PASSWORD",
"description": "Root password (required)."
},
{
"name": "MYSQL_USER",
"label": "MYSQL_USER",
"default": "app"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 490
},
{
"type": 3,
"title": "MySQL InnoDB Cluster",
"name": "mysql-innodb-cluster",
"description": "3-node high availability using MySQL Group Replication - the engine that MySQL InnoDB Cluster is built on.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mysql-innodb-cluster/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/mysql.png",
"env": [
{
"name": "MYSQL_REPLICATION_PASSWORD",
"label": "MYSQL_REPLICATION_PASSWORD",
"description": "Group Replication recovery account password (created by the init on every node)."
},
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "MYSQL_ROOT_PASSWORD",
"description": "Root password (all nodes - must match)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 491
},
{
"id": 492,
"type": 1,
"title": "Mysql-workbench",
"name": "Mysql-workbench",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/mysql-workbench/config</p>",
"description": "[MySQL Workbench](https://www.mysql.com/products/workbench/) is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more.",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mysql-workbench-icon.png",
"image": "linuxserver/mysql-workbench:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/mysql-workbench/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "n8n",
"title": "n8n (container)",
"description": "n8n allows you to build flexible workflows focused on deep data integration.",
"logo": "https://mediadepot.github.io/templates/img/n8n.png",
"image": "docker.n8n.io/n8nio/n8n:latest",
"categories": [
"Other",
"Tools"
],
"ports": [
"5678/tcp"
],
"volumes": [
{
"container": "/home/node/.n8n",
"bind": "/opt/mediadepot/apps/n8n"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "GENERIC_TIMEZONE",
"label": "GENERIC_TIMEZONE",
"default": "America/Los_Angeles",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles",
"preset": true
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.n8n.loadbalancer.server.port",
"value": "5678"
},
{
"name": "traefik.http.routers.n8n.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.n8n.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 493
},
{
"categories": [
"Automation"
],
"description": "The world's most popular workflow automation platform for technical teams",
"logo": "https://avatars.githubusercontent.com/u/45487711?s=48&v=4",
"name": "n8n",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/n8n.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "N8n (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 494
},
{
"type": 3,
"title": "NATS Cluster",
"name": "nats",
"description": "NATS - the lightweight, blazing-fast messaging system: subjects, pub/sub, request/reply, and JetStream for persistent streams and key-value/object stores.",
"categories": [
"Streaming Messaging"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "nats/compose.yaml"
},
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 495
},
{
"categories": [
"Multimedia",
"Music"
],
"description": "Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://github.com/navidrome/navidrome/raw/master/resources/logo-192x192.png",
"name": "Navidrome",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/navidrome.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Navidrome",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 496
},
{
"categories": [
"Other"
],
"description": "Simple room management system for n.eko. Self hosted rabb.it alternative. --Please add .env file as stated in neko.yml",
"logo": "https://raw.githubusercontent.com/m1k1o/neko/master/docs/_media/logo.png",
"name": "neko",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/neko.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Neko",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 497
},
{
"categories": [
"Network"
],
"description": "WIFI / LAN intruder detector. Scans for devices connected to your network and alerts you if new and unknown devices are found.",
"logo": "https://avatars.githubusercontent.com/u/96159884?s=48&v=4",
"name": "NetAlertX",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/netalertx.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "NetAlertX",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 498
},
{
"type": 1,
"name": "netbootxyz",
"title": "Netboot.xyz (container)",
"description": "Netbootxyz is a way to PXE boot various operating system installers or utilities from one place within the BIOS without the need of having to go retrieve the media to run the tool",
"logo": "https://mediadepot.github.io/templates/img/netbootxyz.jpg",
"image": "linuxserver/netbootxyz:latest",
"categories": [
"Downloaders",
"Other",
"Tools"
],
"ports": [
"3000/tcp",
"69/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/netbootxyz"
},
{
"container": "/assets",
"bind": "/media/storage/software/netbootxyz"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.netbootxyz.loadbalancer.server.port",
"value": "3000"
},
{
"name": "traefik.http.routers.netbootxyz.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.netbootxyz.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 499
},
{
"categories": [
"Development"
],
"description": "netboot.xyz is a convenient place to boot into any type of operating system or utility disk without the need of having to go spend time retrieving the ISO just to run it",
"logo": "https://netboot.xyz/img/nbxyz-logo.svg",
"name": "netboot.xyz",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/netbootxyz.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Netboot.xyz (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 500
},
{
"id": 501,
"type": 1,
"title": "Netbox",
"name": "Netbox",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/netbox/config</p>",
"description": "[Netbox](https://github.com/netbox-community/netbox) is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. It is intended to function as a domain-specific source of truth for network operations.",
"categories": [
"Administration",
"Business"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/netbox-logo.png",
"image": "linuxserver/netbox:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SUPERUSER_EMAIL",
"label": "SUPERUSER_EMAIL",
"default": "",
"description": "Email address for `admin` account"
},
{
"name": "SUPERUSER_PASSWORD",
"label": "SUPERUSER_PASSWORD",
"default": "",
"description": "Password for `admin` account"
},
{
"name": "ALLOWED_HOST",
"label": "ALLOWED_HOST",
"default": "",
"description": "The hostname you will use to access the app (e.g., netbox.example.com)"
},
{
"name": "DB_NAME",
"label": "DB_NAME",
"default": "",
"description": "Database name (default: netbox)"
},
{
"name": "DB_USER",
"label": "DB_USER",
"default": "",
"description": "Database user"
},
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD",
"default": "",
"description": "Database password"
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "",
"description": "Database host (default: postgres)"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "",
"description": "Database port (default: 5432)"
},
{
"name": "REDIS_HOST",
"label": "REDIS_HOST",
"default": "",
"description": "Redis host (default: redis)"
},
{
"name": "REDIS_PORT",
"label": "REDIS_PORT",
"default": "",
"description": "Redis port number (default: 6379)"
},
{
"name": "REDIS_USERNAME",
"label": "REDIS_USERNAME",
"default": "",
"description": "Redis username (default: none)"
},
{
"name": "REDIS_PASSWORD",
"label": "REDIS_PASSWORD",
"default": "",
"description": "Redis password (default: none)"
},
{
"name": "REDIS_DB_TASK",
"label": "REDIS_DB_TASK",
"default": "",
"description": "Redis database ID for tasks (default: 0)"
},
{
"name": "REDIS_DB_CACHE",
"label": "REDIS_DB_CACHE",
"default": "",
"description": "Redis database ID for caching (default: 1)"
},
{
"name": "BASE_PATH",
"label": "BASE_PATH",
"default": "",
"description": "The path you will use to access the app (i.e., /netbox, default: none) [OPTIONAL]"
},
{
"name": "CSRF_TRUSTED_ORIGINS",
"label": "CSRF_TRUSTED_ORIGINS",
"default": "",
"description": "List of comma-separated, single quoted, trusted origins. Must include protocol, and port if applicable (default: []) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_ENABLED",
"label": "REMOTE_AUTH_ENABLED",
"default": "",
"description": "Enable remote authentication (default: False) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_BACKEND",
"label": "REMOTE_AUTH_BACKEND",
"default": "",
"description": "Python path to the custom Django authentication backend to use for external user authentication (default: netbox.authentication.RemoteUserBackend) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_HEADER",
"label": "REMOTE_AUTH_HEADER",
"default": "",
"description": "Name of the HTTP header which informs NetBox of the currently authenticated user. (default: HTTP_REMOTE_USER) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_AUTO_CREATE_USER",
"label": "REMOTE_AUTH_AUTO_CREATE_USER",
"default": "",
"description": "If true, NetBox will automatically create local accounts for users authenticated via a remote service (default: False) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_DEFAULT_GROUPS",
"label": "REMOTE_AUTH_DEFAULT_GROUPS",
"default": "",
"description": "The list of groups to assign a new user account when created using remote authentication (default: []) [OPTIONAL]"
},
{
"name": "REMOTE_AUTH_DEFAULT_PERMISSIONS",
"label": "REMOTE_AUTH_DEFAULT_PERMISSIONS",
"default": "",
"description": "A mapping of permissions to assign a new user account when created using remote authentication (default: {}) [OPTIONAL]"
}
],
"ports": [
"8000:8000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/netbox/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Troubleshoot slowdowns and anomalies in your infrastructure with thousands of per-second metrics, meaningful visualizations, and insightful health alarms with zero configuration.",
"env": [
{
"default": "1000",
"label": "DOCKER_USR",
"name": "DOCKER_USR"
},
{
"default": "1000",
"label": "DOCKER_GRP",
"name": "DOCKER_GRP"
}
],
"image": "netdata/netdata:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/netdata.png",
"name": "netdata",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.netdata.cloud/\" target=\"_blank\">https://www.netdata.cloud/</a><br><b>Official Docker Documentation: </b><a href=\"https://learn.netdata.cloud/docs/agent/packaging/docker\" target=\"_blank\">https://learn.netdata.cloud/docs/agent/packaging/docker</a><br><br><br>Documentation is Available <a href='https://learn.netdata.cloud/'>here</a>.",
"platform": "linux",
"ports": [
"19999:19999/tcp"
],
"restart_policy": "unless-stopped",
"title": "Netdata",
"type": 1,
"volumes": [
{
"container": "/etc/netdata",
"bind": "/portainer/Files/AppData/Config/netdata/netdataconfig"
},
{
"container": "/var/lib/netdata",
"bind": "/portainer/Files/AppData/Config/netdata/netdatalib"
},
{
"container": "/host/etc/passwd:ro",
"bind": "/etc/passwd"
},
{
"container": "/host/etc/group:ro",
"bind": "/etc/group"
},
{
"container": "/host/proc:ro",
"bind": "/proc"
},
{
"container": "/host/sys:ro",
"bind": "/sys"
},
{
"container": "/host/etc/os-release:ro",
"bind": "/etc/os-release"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 502
},
{
"id": 503,
"type": 1,
"title": "Nextcloud (container)",
"name": "Nextcloud",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/nextcloud/config<br>mkdir -p /srv/lsio/nextcloud/data</p>",
"description": "[Nextcloud](https://nextcloud.com/) gives you access to all your files wherever you are. Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices. Through Nextcloud you also access, sync and share your existing data on that FTP drive at the office, a Dropbox or a NAS you have at home.",
"categories": [
"Cloud",
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nextcloud-icon.png",
"image": "linuxserver/nextcloud:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/nextcloud/config"
},
{
"container": "/data",
"bind": "/srv/lsio/nextcloud/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Web"
],
"description": "Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/nextcloud-icon.png",
"name": "nextcloud",
"note": "The database user is nextcloud and the database is nextcloud_db. The host of the database will be located at the bottom of the DB conotainer in portainer.",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/nextcloud.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Nextcloud (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 504
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Other",
"Web"
],
"description": "Where are your photos and documents? With Nextcloud you pick a server of your choice, at home, in a data center or at a provider. And that is where your files will be. Nextcloud runs on that server, protecting your data and giving you access from your desktop or mobile devices.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "DATABASE_PASSWORD",
"name": "DATABASE_PASSWORD"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/nextcloud-icon.png",
"name": "nextcloud",
"note": "The database user is nextcloud and the database is nextcloud_db. The host of the database will be located at the bottom of the DB conotainer in portainer.",
"platform": "linux",
"repository": {
"stackfile": "stacks/nextcloud/docker-stack.yml",
"url": "https://github.com/mikestraney/portainer-templates"
},
"title": "Nextcloud (swarm)",
"type": 2,
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 505
},
{
"type": 2,
"title": "NextcloudStack (swarm)",
"description": "Nextcloud setup with a MySQL database",
"note": "Deploys a Nextcloud instance connected to a MySQL database.",
"categories": [
"Cloud"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/mikestraney/portainer-templates/master/Images/nextcloud-icon.png",
"repository": {
"url": "https://github.com/mikestraney/portainer-templates",
"stackfile": "stacks/nextcloud/docker-stack.yml"
},
"env": [
{
"label": "MYSQL_PASSWORD",
"name": "mypassword",
"description": "password for sql"
},
{
"label": "MYSQL_ROOT_PASSWORD",
"name": "myrpassword",
"description": "root password for sql"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 506
},
{
"categories": [
"Remote Control"
],
"description": "The open source server management software for SSH, VNC & RDP",
"logo": "https://docs.nexterm.dev/logo.png",
"name": "nexterm",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/nexterm.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Nexterm",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 507
},
{
"id": 508,
"type": 1,
"title": "Nginx",
"description": "High performance web server",
"categories": [
"Webserver"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/nginx.png",
"image": "nginx:latest",
"ports": [
"80/tcp",
"443/tcp"
],
"volumes": [
{
"container": "/etc/nginx"
},
{
"container": "/usr/share/nginx/html"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Proxy",
"Tools"
],
"description": "Nginx Proxy Manager enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.",
"image": "jc21/nginx-proxy-manager:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/proxy_mgr.png",
"name": "nginx-proxy-manager",
"platform": "linux",
"env": [
{
"label": "DB_SQLITE_FILE",
"name": "DB_SQLITE_FILE",
"default": "/data/database.sqlite"
}
],
"ports": [
"80:80/tcp",
"81:81/tcp",
"443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Nginx Proxy Manager (container)",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/Nginx-Proxy/data"
},
{
"container": "/etc/letsencrypt",
"bind": "/portainer/Files/AppData/Config/Nginx-Proxy/letsencrypt"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 509
},
{
"categories": [
"Proxy",
"Tools",
"Network"
],
"description": "Nginx Proxy Manager enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.",
"image": "jc21/nginx-proxy-manager:latest",
"logo": "https://nginxproxymanager.com/icon.png",
"name": "npm",
"repository": {
"stackfile": "Template/Stack/npm.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"ports": [
"8000:80/tcp"
],
"restart_policy": "always",
"title": "Nginx Proxy Manager (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 510
},
{
"categories": [
"Proxy",
"Tools"
],
"description": "Nginx Proxy Manager v2 with sqlite and Goaccess Charts enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. Please see the install document at https://github.com/pi-hosted/pi-hosted/tree/master/docs installing the template",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
},
{
"default": "false",
"label": "SKIP_ARCHIVED_LOGS",
"name": "SKIP_ARCHIVED_LOGS",
"description": "Defaults to false. Set to true to skip archived logs, i.e. proxy-host*.gz"
},
{
"default": "false",
"label": "BASIC_AUTH",
"name": "BASIC_AUTH",
"description": "Defaults to false. Set to true to enable nginx basic authentication. Docker container needs to stopped or restarted each time this flag is modified. This allows for the .htpasswd file to be changed accordingly."
},
{
"default": "user",
"label": "BASIC_AUTH_USERNAME Ignore if Basic Auth set to false",
"name": "BASIC_AUTH_USERNAME",
"description": "(Optional) Requires BASIC_AUTH to bet set to true. Username for basic authentication."
},
{
"default": "Password",
"label": "BASIC_AUTH_PASSWORD Ignore if Basic Auth set to false",
"name": "BASIC_AUTH_PASSWORD",
"description": "(Optional) Requires BASIC_AUTH to bet set to true. Password for basic authentication."
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/proxy_mgr.png",
"name": "nginx-proxy-manager-sqllite-goaccess",
"platform": "linux",
"ports": [
"80:80/tcp",
"81:81/tcp",
"443:443/tcp",
"7880:7880/tcp"
],
"repository": {
"stackfile": "stack/nginx-proxy-manager-sqlite-goaccess.yml",
"url": "https://github.com/pi-hosted/pi-hosted"
},
"restart_policy": "unless-stopped",
"title": "Nginx Proxy Manager v2 with Sqlite and Goaccess Charts",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://nginxproxymanager.com/\" target=\"_blank\">https://nginxproxymanager.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://nginxproxymanager.com/setup/#running-the-app\" target=\"_blank\">https://nginxproxymanager.com/setup/#running-the-app</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/nginx_proxy_manager.md\" target=\"_blank\">nginx_proxy_manager.md</a></h3><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=yl2Laxbqvo8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=10 target=\"_blank\">Novaspirit Tech - Installing Nginx Proxy Manager on Docker</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 511
},
{
"categories": [
"Proxy",
"Tools"
],
"description": "Nginx Proxy Manager v2 with Sqlite enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. Please see the install document at https://github.com/pi-hosted/pi-hosted/tree/master/docs installing the template",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "jc21/nginx-proxy-manager:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/proxy_mgr.png",
"name": "nginx-proxy-manager-sqlite",
"platform": "linux",
"ports": [
"80:80/tcp",
"81:81/tcp",
"443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Nginx Proxy Manager v2 with Sqllite",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/nginx-proxy-manager/data"
},
{
"container": "/etc/letsencrypt",
"bind": "/portainer/Files/AppData/Config/nginx-proxy-manager/letsencrypt"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://nginxproxymanager.com/\" target=\"_blank\">https://nginxproxymanager.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://nginxproxymanager.com/setup/\" target=\"_blank\">https://nginxproxymanager.com/setup/</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/nginx_proxy_manager.md\" target=\"_blank\">nginx_proxy_manager.md</a></h3><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=yl2Laxbqvo8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=10 target=\"_blank\">Novaspirit Tech - Installing Nginx Proxy Manager on Docker</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 512
},
{
"categories": [
"Proxy",
"Tools"
],
"description": "[DEVEL] Not ready for production. Nginx Proxy Manager v3 Develop enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. Please see the install document at https://github.com/pi-hosted/pi-hosted/tree/master/docs installing the template",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "jc21/nginx-proxy-manager:v3",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/proxy_mgr.png",
"name": "nginx-proxy-manager-v3",
"platform": "linux",
"ports": [
"80:80/tcp",
"81:81/tcp",
"443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Nginx Proxy Manager v3 [DEVEL] NOT READY FOR USE",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/nginx-proxy-manager-v3/data"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://nginxproxymanager.com/\" target=\"_blank\">https://nginxproxymanager.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://nginxproxymanager.com/setup/\" target=\"_blank\">https://nginxproxymanager.com/setup/</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/nginx_proxy_manager.md\" target=\"_blank\">nginx_proxy_manager.md</a></h3><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=yl2Laxbqvo8&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=10 target=\"_blank\">Novaspirit Tech - Installing Nginx Proxy Manager on Docker</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 513
},
{
"id": 514,
"type": 1,
"title": "Ngircd",
"name": "Ngircd",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ngircd/config</p>",
"description": "[Ngircd](https://ngircd.barton.de/) is a free, portable and lightweight Internet Relay Chat server for small or private networks, developed under the GNU General Public License (GPL). It is easy to configure, can cope with dynamic IP addresses, and supports IPv6, SSL-protected connections as well as PAM for authentication. It is written from scratch and not based on the original IRCd.",
"categories": [
"Irc"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ngircd-logo.png",
"image": "linuxserver/ngircd:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"6667:6667/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ngircd/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools",
"Web"
],
"description": "A free and open source alternative Twitter front-end focused on privacy and performance.",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/nitter.png",
"name": "nitter",
"repository": {
"stackfile": "stack/nitter.yml",
"url": "https://github.com/pi-hosted/pi-hosted/"
},
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Nitter",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://nitter.net/\" target=\"_blank\">https://nitter.net/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/zedeus/nitter\" target=\"_blank\">https://github.com/zedeus/nitter</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 515
},
{
"id": 516,
"type": 3,
"title": "NocoBase",
"name": "nocobase",
"description": "No-code platform for building internal tools and business apps: define your own data tables and relations, then build pages, forms, kanbans and calendars on top, with roles, permissions and workflows. Source: https://github.com/nocobase/nocobase",
"categories": [
"Database",
"Productivity"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/66196787?s=256",
"restart_policy": "unless-stopped",
"env": [
{
"name": "NOCOBASE_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "For signing in as admin@nocobase.com. Only used on the very first start."
},
{
"name": "NOCOBASE_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or NocoBase can't reach its database."
},
{
"name": "NOCOBASE_PORT",
"label": "Host port for the web UI",
"default": "13000"
}
],
"note": "Set both <b>passwords</b> before you deploy, since the stack won't start without them. The first start installs everything and takes a minute or two (the log shows a few APP_COMMANDING errors while it does, which is normal). Then open <code>http://&lt;your-host&gt;:13000</code> (or whichever port you picked) and sign in as <code>admin@nocobase.com</code> with your admin password. Changing that password on the form later does nothing, so use Change password in the user menu at the top right instead. Anyone who can reach it can sign up, and new accounts see nothing until you give their role some permissions. To stop sign-ups, untick Allow to sign up under Settings --&gt; Authentication --&gt; basic --&gt; Configure. Uploads and its generated keys live in the <code>nocobase-storage</code> volume, everything else in <code>postgres-data</code>. Docs: <a href=\"https://docs.nocobase.com\" target=\"_blank\">docs.nocobase.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/nocobase/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Productivity",
"Development",
"No Code"
],
"description": "Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.",
"logo": "https://github.com/nocodb/nocodb/raw/develop/packages/nc-gui/assets/img/icons/512x512.png",
"name": "NocoDB",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/nocodb.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "NocoDB",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 517
},
{
"id": 518,
"type": 3,
"title": "Node-Red",
"description": "Low-code programming for event-driven applications",
"note": "The TZ must be in Unix Format eg America/New_York - see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/5375661?s=200&v=4",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/node-red/docker-compose.yml"
},
"env": [
{
"name": "TZ",
"label": "Time Zone"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 519,
"type": 3,
"title": "NodeBB",
"name": "nodebb",
"description": "Forum software with a modern feel: categories, topics and replies that update live, chat, notifications, groups, Markdown with image uploads, and a plugin and theme library. Source: https://github.com/NodeBB/NodeBB",
"categories": [
"Social",
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/NodeBB/NodeBB/master/public/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "NODEBB_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16"
},
{
"name": "NODEBB_PORT",
"label": "Host port",
"default": "4567"
}
],
"note": "Fill in the <b>database password</b> before you deploy, since the stack won't start without it. Then open <code>http://&lt;your-host&gt;:4567</code> (or whichever port you picked) straight away, as whoever finishes the installer first makes the admin account. The database is already sorted, so it only asks for the address and an admin login. Keep the address it fills in as the one you'll always open it on, since NodeBB builds its links from it. If you ever need to change it, it's the <code>url</code> in <code>config.json</code> in the <code>nodebb-config</code> volume. Installing takes two or three minutes while it builds, then the forum appears. Anyone who can reach it can read the forum. Sign-ups are open with no email check (change that under Admin --&gt; Settings --&gt; Users), and a new member's first posts wait in the post queue until you approve them. Nothing gets emailed until you set up SMTP under Admin --&gt; Settings --&gt; Email, and browser push notifications need HTTPS. Federation with Mastodon and friends (Admin --&gt; Federation) is on by default, but needs a public HTTPS address to do anything. Plugins you install from the admin panel live in <code>nodebb-modules</code>, uploads in <code>nodebb-uploads</code>, and posts and users in <code>db-data</code>. Docs: <a href=\"https://docs.nodebb.org\" target=\"_blank\">docs.nodebb.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/nodebb/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 520,
"type": 1,
"title": "NodeJS",
"description": "JavaScript-based platform for server-side and networking applications",
"categories": [
"Development"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/node.png",
"image": "node:latest",
"interactive": true,
"command": "/bin/bash",
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 521,
"type": 1,
"title": "Nomacs",
"name": "Nomacs",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/nomacs/config</p>",
"description": "[Nomacs](https://github.com/nomacs/nomacs) is a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images.",
"categories": [
"Image Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nomacs-logo.png",
"image": "linuxserver/nomacs:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/nomacs/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other"
],
"description": "This is an OpenVPN client docker container that uses recommended NordVPN server. It makes routing containers traffic through OpenVPN easy.",
"env": [
{
"default": "user@email.com",
"label": "NordVPN user",
"name": "USER"
},
{
"default": "password",
"label": "NordVPN password",
"name": "PASS"
},
{
"default": "Spain;Hong Kong;IE;131",
"label": "Countries to connect to (see webpage readme)",
"name": "COUNTRY"
},
{
"default": "Standard VPN servers",
"label": "Group name filter to which to connect to",
"name": "GROUP"
},
{
"default": "10",
"label": "Range of servers to pick from the top",
"name": "RANDOM_TOP"
},
{
"default": "5 */3 * * *",
"label": "Define when to look again for new defined servers",
"name": "RECREATE_VPN_CRON"
},
{
"default": "https://www.google.com",
"label": "URL to check internet connection is working to",
"name": "CHECK_CONNECTION_URL"
},
{
"default": "192.168.1.0/24;192.168.2.0/24",
"label": "Subnet to define network access (read Local Network access to services connecting to the internet through the VPN readme to get the right subnet!)",
"name": "NETWORK"
},
{
"default": "--mute-replay-warnings",
"label": "Used to pass extra parameters to openvpn",
"name": "OPENVPN_OPTS"
}
],
"image": "azinchen/nordvpn:latest",
"logo": "https://s3.us-east-2.amazonaws.com/ccp-prd-s3-uploads/2022/3/8/03500108885898f010e823eeb284e393b99e1ad5.png",
"name": "nord-vpn",
"platform": "linux",
"ports": [
"8080:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "nord-vpn",
"type": 1,
"privileged": true,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/azinchen/nordvpn\" target=\"_blank\">https://github.com/azinchen/nordvpn</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/azinchen/nordvpn\" target=\"_blank\">https://hub.docker.com/r/azinchen/nordvpn</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 522
},
{
"categories": [
"Notifications",
"Messaging"
],
"command": "serve --cache-file /var/cache/ntfy/cache.db",
"description": "Simple HTTP-based pub-sub notification service. Send push notifications to your phone or desktop via PUT/POST. Source: https://github.com/binwiederhier/ntfy",
"env": [
{
"default": "http://localhost:8080",
"label": "Public base URL (e.g. https://ntfy.example.com) \u2014 needed for attachments and links",
"name": "NTFY_BASE_URL"
},
{
"default": "UTC",
"label": "Timezone (affects scheduled delivery)",
"name": "TZ"
}
],
"image": "binwiederhier/ntfy:latest",
"logo": "https://avatars.githubusercontent.com/u/664597",
"name": "ntfy",
"platform": "linux",
"ports": [
"8080:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "ntfy (container)",
"type": 1,
"volumes": [
{
"container": "/var/cache/ntfy"
},
{
"container": "/etc/ntfy"
}
],
"id": 523
},
{
"type": 3,
"title": "ntfy (stack)",
"name": "ntfy",
"description": "ntfy - push notifications as an HTTP primitive: `curl -d \"backup done\" https://your-domain/alerts` and every subscribed phone (iOS/Android apps) and browser gets it. Topics, priorities, attachments, scheduled delivery - one tiny Go binary.\n\nSource: https://github.com/binwiederhier/ntfy",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "ntfy/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png",
"env": [
{
"name": "NTFY_AUTH_DEFAULT_ACCESS",
"label": "NTFY_AUTH_DEFAULT_ACCESS",
"default": "deny-all"
},
{
"name": "NTFY_AUTH_USERS",
"label": "NTFY_AUTH_USERS",
"description": "Declarative users: name:bcrypt:role (comma-separated)."
},
{
"name": "NTFY_BASE_URL",
"label": "NTFY_BASE_URL",
"description": "The app's public URL (https domain on Miget) - links/attachments embed it.",
"default": "http://localhost:5000"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 524
},
{
"categories": [
"Other",
"Tools"
],
"description": "The purpose of NUT Server is to monitor a UPS attached device",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "none",
"label": "SERIAL",
"name": "SERIAL"
},
{
"default": "none",
"label": "NAME",
"name": "NAME"
},
{
"default": "none",
"label": "VENDOR ID",
"name": "VENDOR ID"
},
{
"default": "none",
"label": "API_PASSWORD",
"name": "API_PASSWORD"
},
{
"default": "none",
"label": "DESCRIPTION",
"name": "DESCRIPTION"
}
],
"image": "instantlinux/nut-upsd:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/nut-server.png",
"name": "NUT Server",
"platform": "linux",
"ports": [
"3493:3493/tcp"
],
"restart_policy": "unless-stopped",
"title": "NUT Server",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://networkupstools.org\" target=\"_blank\">https://networkupstools.org</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/instantlinux/nut-upsd\" target=\"_blank\">https://hub.docker.com/r/instantlinux/nut-upsd</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 525
},
{
"categories": [
"Metrics"
],
"description": "Nutify is a comprehensive monitoring system designed to track the health and performance of your Uninterruptible Power Supply (UPS) devices.",
"logo": "https://github.com/DartSteven/Nutify/raw/main/pic/logo.jpg",
"name": "nutify",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/nutify.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Nutify",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 526
},
{
"categories": [
"Network"
],
"description": "Network UPS Tools server",
"image": "upshift/nut-upsd:latest",
"name": "nuts",
"platform": "linux",
"ports": [
"3493:3493/tcp"
],
"restart_policy": "always",
"title": "NUTS",
"type": 1,
"volumes": [
{
"container": "/app",
"bind": "/portainer/Files/AppData/Config/nuts"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 527
},
{
"id": 528,
"type": 1,
"title": "Nzbget",
"name": "Nzbget",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/nzbget/config<br>mkdir -p /srv/lsio/nzbget/downloads</p>",
"description": "[Nzbget](http://nzbget.com/) is a usenet downloader, written in C++ and designed with performance in mind to achieve maximum download speed by using very little system resources.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/nzbget-banner.png",
"image": "linuxserver/nzbget:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "NZBGET_USER",
"label": "NZBGET_USER",
"default": "nzbget",
"description": "Specify the user for web authentication. [OPTIONAL]"
},
{
"name": "NZBGET_PASS",
"label": "NZBGET_PASS",
"default": "tegbzn6789",
"description": "Specify the password for web authentication. [OPTIONAL]"
}
],
"ports": [
"6789:6789/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/nzbget/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/nzbget/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 529,
"type": 1,
"title": "Nzbhydra2",
"name": "Nzbhydra2",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/nzbhydra2/config<br>mkdir -p /srv/lsio/nzbhydra2/downloads</p>",
"description": "[Nzbhydra2](https://github.com/theotherp/nzbhydra2) is a meta search application for NZB indexers, the spiritual successor to NZBmegasearcH, and an evolution of the original application [NZBHydra](https://github.com/theotherp/nzbhydra). It provides easy access to a number of raw and newznab based indexers.",
"categories": [
"Indexers"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png",
"image": "linuxserver/nzbhydra2:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"5076:5076/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/nzbhydra2/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/nzbhydra2/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 530,
"type": 1,
"title": "Obsidian",
"name": "Obsidian",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/obsidian/config</p>",
"description": "[Obsidian](https://obsidian.md) is a note-taking app that lets you create, link, and organize your notes on your device, with hundreds of plugins and themes to customize your workflow. You can also publish your notes online, access them offline, and sync them securely with end-to-end encryption.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/obsidian-logo.png",
"image": "linuxserver/obsidian:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/obsidian/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "OctoPrint is an open source 3D printer controller application, which provides a web interface for the connected printers.",
"env": [
{
"default": "development ",
"label": "NODE_ENV",
"name": "NODE_ENV"
},
{
"default": "true",
"label": "ENABLE_MJPG_STREAMER",
"name": "ENABLE_MJPG_STREAMER"
}
],
"image": "octoprint/octoprint:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/octoprint.png",
"name": "octoprint",
"platform": "linux",
"ports": [
"8051:80/tcp"
],
"privileged": true,
"restart_policy": "unless-stopped",
"title": "OctoPrint",
"type": 1,
"volumes": [
{
"container": "/octoprint",
"bind": "/portainer/Files/AppData/Config/OctoPrint"
},
{
"container": "/dev",
"bind": "/dev"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://octoprint.org/\" target=\"_blank\">https://octoprint.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/octoprint/octoprint\" target=\"_blank\">https://hub.docker.com/r/octoprint/octoprint</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 531
},
{
"type": 1,
"title": "Odoo (container)",
"description": "Open-source business apps",
"categories": [
"Project Management"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/odoo.png",
"image": "odoo:latest",
"env": [
{
"name": "HOST",
"label": "PostgreSQL database host"
},
{
"name": "USER",
"label": "Database user"
},
{
"name": "PASSWORD",
"label": "Database password"
}
],
"ports": [
"8069/tcp"
],
"volumes": [
{
"container": "/var/lib/odoo"
},
{
"container": "/mnt/extra-addons"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 532
},
{
"type": 3,
"title": "Odoo (stack)",
"name": "odoo",
"description": "Odoo Community 18 - the open-source business suite: CRM, sales, inventory, accounting, projects, manufacturing, website, and ecommerce, with a vast app store. LGPL-3 Community edition on a managed Postgres.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "odoo/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/odoo.png",
"env": [
{
"name": "ODOO_ADMIN_PASSWORD",
"label": "ODOO_ADMIN_PASSWORD",
"description": "Master password - gates database create/drop/backup in the DB manager."
},
{
"name": "ODOO_LIST_DB",
"label": "ODOO_LIST_DB",
"description": "True lets the web DB-manager create databases (needs a CREATEDB role).",
"default": "True"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 533
},
{
"type": 3,
"title": "Ollama",
"name": "ollama",
"description": "Ollama - run open large language models locally behind a simple HTTP API. Pull a model (Llama, Mistral, Qwen, Gemma, Phi, and many more) and serve it from your own infrastructure, with OpenAI-compatible endpoints.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "ollama/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/ollama.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 534
},
{
"categories": [
"Management",
"Tools"
],
"description": "TP-Link Omada is a software-defined network solution. The EAP Controller is used to manage multiple EAPs. Raspberry Pi 1 and Zero are not supported.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "mbentley/omada-controller:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/omada.png",
"name": "omada-controller",
"platform": "linux",
"ports": [
"8088:8088/tcp",
"8043:8043/tcp",
"27001:27001/udp",
"27002:27002/tcp",
"29810:29810/udp",
"29811:29811/tcp",
"29812:29812/tcp",
"29813:29813/tcp"
],
"restart_policy": "unless-stopped",
"title": "Omada EAP Controller",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Omada"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.tp-link.com/us/business-networking/omada-sdn-controller/\" target=\"_blank\">https://www.tp-link.com/us/business-networking/omada-sdn-controller/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/mbentley/omada-controller\" target=\"_blank\">https://hub.docker.com/r/mbentley/omada-controller</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 535
},
{
"id": 536,
"type": 1,
"title": "Ombi (container)",
"name": "Ombi",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ombi/config</p>",
"description": "[Ombi](https://ombi.io) allows you to host your own Plex Request and user management system. If you are sharing your Plex server with other users, allow them to request new content using an easy to manage interface! Manage all your requests for Movies and TV with ease, leave notes for the user and get notification when a user requests something. Allow your users to post issues against their requests so you know there is a problem with the audio etc. Even automatically send them weekly newsletters of new content that has been added to your Plex server!",
"categories": [
"Media Requesters"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ombi.png",
"image": "linuxserver/ombi:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "BASE_URL",
"label": "BASE_URL",
"default": "/",
"description": "Subfolder can optionally be defined as an env variable for reverse proxies. Keep in mind that once this value is defined, the gui setting for base url no longer works. To use the gui setting, remove this env variable. [OPTIONAL]"
}
],
"ports": [
"3579:3579/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ombi/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Downloaders",
"Video",
"Tools"
],
"description": "Ombi allows you to host your own Plex Request and user management system.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/ombi.png",
"name": "ombi",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ombi.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ombi (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 537
},
{
"id": 538,
"type": 1,
"title": "Onlyoffice",
"name": "Onlyoffice",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/onlyoffice/config</p>",
"description": "[ONLYOFFICE](https://www.onlyoffice.com/) provides a full range of tools to create, edit and collaborate on text documents, spreadsheets, presentations, PDF forms and regular PDF files on web, desktop and mobile platforms.",
"categories": [
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/onlyoffice-logo.png",
"image": "linuxserver/onlyoffice:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/onlyoffice/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 539,
"type": 3,
"categories": [
"edge"
],
"title": "OPC Router",
"description": "No-code middleware for industrial applications The OPC Router connects PLCs, PCS, SCADA, MES, SQL databases and servers, label printers, e-mail servers and erp-systems via OPC UA, MQTT, REST, CSV and many others without any programming effort",
"note": "More information about the <a href=\"https://www.opc-router.com/terms-of-use-and-eula/?utm_source=DockerHub_runtime&utm_medium=click&utm_campaign=TermsOfUseAndEula\" target=\"_blank\">EULA</a>.",
"logo": "https://store-images.s-microsoft.com/image/apps.45485.5f358ea4-e35f-478a-ab92-e85946891f86.b38fbf34-c2b9-4714-9d8a-1232c004df99.4469177b-aba0-4422-ad40-218ff1d967fb",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/opc-router/docker-compose.yml"
},
"env": [
{
"name": "INITIAL_USERNAME",
"label": "Initial Admin User user"
},
{
"name": "INITIAL_PASSWORD",
"label": "Inital Admin User Password"
},
{
"name": "OR_I_ACCEPT_EULA",
"label": "Accept EULA",
"select": [
{
"text": "Yes, I accept",
"value": "true",
"default": true
}
]
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Open Mercato",
"name": "open-mercato",
"description": "Open Mercato - the MIT \"AI-engineering foundation framework\": multi-tenant CRM/ERP/commerce modules on Next.js with RBAC, dynamic entities, and an agent-ready repo layout (specs + skills checked in). Start business apps at \"80% done\".",
"categories": [
"Internal Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "open-mercato/compose.yaml"
},
"env": [
{
"name": "APP_URL",
"label": "APP_URL",
"description": "Public URL (set to the app's https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "JWT_SECRET",
"label": "JWT_SECRET"
},
{
"name": "MEILISEARCH_MASTER_KEY",
"label": "MEILISEARCH_MASTER_KEY"
},
{
"name": "OM_INIT_SUPERADMIN_EMAIL",
"label": "OM_INIT_SUPERADMIN_EMAIL",
"description": "Superadmin created on first init.",
"default": "admin@example.com"
},
{
"name": "OM_INIT_SUPERADMIN_PASSWORD",
"label": "OM_INIT_SUPERADMIN_PASSWORD"
},
{
"name": "TENANT_DATA_ENCRYPTION_KEY",
"label": "TENANT_DATA_ENCRYPTION_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 540
},
{
"type": 3,
"title": "Open WebUI",
"name": "open-webui",
"description": "Open WebUI - the self-hosted AI chat workspace: ChatGPT-style UI over any OpenAI-compatible API, with RAG over uploaded documents, multi-user accounts, RBAC, and prompt/model presets. Single container + volume.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "open-webui/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/open-webui.png",
"env": [
{
"name": "OPENAI_API_BASE_URL",
"label": "OPENAI_API_BASE_URL",
"description": "Any OpenAI-compatible endpoint.",
"default": "https://api.openai.com/v1"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY"
},
{
"name": "WEBUI_SECRET_KEY",
"label": "WEBUI_SECRET_KEY",
"description": "Session/JWT signing - persistent, or logins reset on redeploy."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 541
},
{
"id": 542,
"type": 3,
"title": "OpenAMT",
"description": "OpenAMT Cloud Toolkit",
"note": "MPS password needs to be 8-32 characters including one uppercase, one lowercase letters, one base-10 digit and one special character.",
"categories": [
"Cloud"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/intel.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/openamt/docker-compose.yml"
},
"env": [
{
"name": "POSTGRES_USER",
"label": "Database user"
},
{
"name": "POSTGRES_PASSWORD",
"label": "Database password"
},
{
"name": "MPS_USER",
"label": "MPS user"
},
{
"name": "MPS_PASSWORD",
"label": "MPS password"
},
{
"name": "MPS_COMMON_NAME",
"label": "MPS URL",
"description": "Used to connect to the MPS API."
},
{
"name": "MPS_SECRET",
"label": "MPS Secret",
"description": "Strong secret key used to log into MPS."
},
{
"name": "VAULT_SECRET",
"label": "Vault secret",
"description": "Secret token used to log into Vault (don't include '.' character)."
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Finance"
],
"description": "OpenBudgeteer is a budgeting app based on the Bucket Budgeting Principle and inspired by YNAB and Buckets.",
"logo": "https://github.com/TheAxelander/OpenBudgeteer/raw/master/assets/banner.png",
"name": "openbudgeteer",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/openbudgeteer.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "OpenBudgeteer",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 543
},
{
"type": 3,
"title": "OpenClaw",
"name": "openclaw",
"description": "OpenClaw, an autonomous AI agent you run yourself: web dashboard, scheduled tasks, plugins, persistent workspace. This template uses the coollabsio all-in-one image (nginx + gateway, env-driven).",
"categories": [
"AI Agents"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "openclaw/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/openclaw.png",
"env": [
{
"name": "ANTHROPIC_API_KEY",
"label": "ANTHROPIC_API_KEY"
},
{
"name": "AUTH_PASSWORD",
"label": "AUTH_PASSWORD"
},
{
"name": "AUTH_USERNAME",
"label": "AUTH_USERNAME",
"default": "admin"
},
{
"name": "OPENCLAW_ALLOWED_ORIGINS",
"label": "OPENCLAW_ALLOWED_ORIGINS",
"description": "Set to the app's https domain on Miget (after first deploy):"
},
{
"name": "OPENCLAW_GATEWAY_TOKEN",
"label": "OPENCLAW_GATEWAY_TOKEN"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 544
},
{
"id": 545,
"type": 2,
"title": "OpenFaaS",
"name": "func",
"description": "Serverless functions made simple",
"note": "Deploys the API gateway and sample functions. You can access the UI on port 8080. <b>Warning</b>: the name of the stack must be 'func'.",
"categories": [
"Serverless"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/openfaas.png",
"repository": {
"url": "https://github.com/openfaas/faas",
"stackfile": "docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 546,
"type": 1,
"title": "Opengist",
"name": "opengist",
"description": "Pastebin built on Git, like GitHub Gist: every snippet is a repo you can clone, push to and fork, with syntax highlighting, Markdown, embeds, search, and public, unlisted or private gists. Source: https://github.com/thomiceli/opengist",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/thomiceli/opengist/master/public/img/opengist.svg",
"image": "ghcr.io/thomiceli/opengist:1",
"restart_policy": "unless-stopped",
"ports": [
"6157:6157/tcp",
"2222:2222/tcp"
],
"volumes": [
{
"container": "/opengist"
}
],
"note": "Open <code>http://&lt;your-host&gt;:6157</code> and register. The first account becomes the admin and sign-ups stay open after it, so once everyone's in, tick Disable signup under Admin --&gt; Configuration (invitations still work). Public gists can be read without logging in unless you tick Require login there too. Every gist is a Git repo: clone and push over http on 6157, or over SSH on 2222 once you've added a key under Settings. Anyone who adds an email gets their avatar from Gravatar, which the same admin page can turn off. Behind an HTTPS proxy, add <code>OG_EXTERNAL_URL</code> (like <code>https://gist.example.com</code>) to the container's environment so the login cookie is Secure and passkeys work. The SQLite database, every gist's repo, the search index and the generated secret key live in the volume. Docs: <a href=\"https://opengist.io/docs\" target=\"_blank\">opengist.io</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 547,
"type": 3,
"title": "OpenList",
"name": "openlist",
"description": "File list that puts your cloud drives and storage behind one web UI and WebDAV server, from OneDrive, Google Drive, Dropbox and S3 to SMB, FTP and local folders, with previews, share links and offline downloads. Source: https://github.com/OpenListTeam/OpenList",
"categories": [
"File Sharing",
"Storage",
"Cloud"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/OpenListTeam/Logo/main/logo.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "OPENLIST_PORT",
"label": "Host port for the web UI",
"default": "5244"
}
],
"note": "Open <code>http://&lt;your-host&gt;:5244</code> (or whichever port you picked) and the setup page asks for an admin username and password. Whoever gets there first owns it, so do it straight away. Nothing's listed until you add a storage, from <i>Manage</i> at the bottom of the page, then Storages --> Add: pick a cloud drive, or <i>Local</i> with root folder <code>/opt/openlist/files</code> for files kept in the <code>openlist-files</code> volume. Settings, users and the database live in <code>openlist-data</code>. WebDAV is at <code>/dav</code> with the same login, but read-only until you tick <i>WebDAV manage</i> on your user under Manage --> Users. Logins are only kept in memory, so a restart or update signs everyone out.The logo, favicon and PDF and ePub viewers load from res.oplist.org, and Office files go through Microsoft's or Google's viewer, which only works for files they can reach (change it under Settings --> Preview). Docs: <a href=\"https://doc.oplist.org\" target=\"_blank\">doc.oplist.org</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/openlist/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "OpenObserve",
"name": "openobserve",
"description": "OpenObserve - logs, metrics, and traces in a single Rust binary: the open-source Datadog/Splunk/Elasticsearch alternative.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "openobserve/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/openobserve.png",
"env": [
{
"name": "ZO_LOCAL_MODE_STORAGE",
"label": "ZO_LOCAL_MODE_STORAGE",
"description": "Storage: \"disk\" (default, uses the volume) or \"s3\" (Miget Buckets).",
"default": "disk"
},
{
"name": "ZO_ROOT_USER_EMAIL",
"label": "ZO_ROOT_USER_EMAIL",
"description": "Root account (created on first start).",
"default": "admin@example.com"
},
{
"name": "ZO_ROOT_USER_PASSWORD",
"label": "ZO_ROOT_USER_PASSWORD"
},
{
"name": "ZO_S3_ACCESS_KEY",
"label": "ZO_S3_ACCESS_KEY"
},
{
"name": "ZO_S3_BUCKET_NAME",
"label": "ZO_S3_BUCKET_NAME"
},
{
"name": "ZO_S3_PROVIDER",
"label": "ZO_S3_PROVIDER",
"default": "s3"
},
{
"name": "ZO_S3_REGION_NAME",
"label": "ZO_S3_REGION_NAME",
"default": "us-east-1"
},
{
"name": "ZO_S3_SECRET_KEY",
"label": "ZO_S3_SECRET_KEY"
},
{
"name": "ZO_S3_SERVER_URL",
"label": "ZO_S3_SERVER_URL"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 548
},
{
"id": 549,
"type": 1,
"title": "Openshot",
"name": "Openshot",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/openshot/config</p>",
"description": "[OpenShot](https://openshot.org/) Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.",
"categories": [
"Video Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openshot-logo.png",
"image": "linuxserver/openshot:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/openshot/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 550,
"type": 1,
"title": "Openssh-server",
"name": "Openssh-server",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/openssh-server/config</p>",
"description": "[Openssh-server](https://www.openssh.com/) is a sandboxed environment that allows ssh access without giving keys to the entire server. Giving ssh access via private key often means giving full access to the server. This container creates a limited and sandboxed environment that others can ssh into. The users only have access to the folders mapped and the processes running inside this container.",
"categories": [
"Administration"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/openssh-server-logo.png",
"image": "linuxserver/openssh-server:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PUBLIC_KEY",
"label": "PUBLIC_KEY",
"default": "yourpublickey",
"description": "Optional ssh public key, which will automatically be added to authorized_keys. [OPTIONAL]"
},
{
"name": "PUBLIC_KEY_FILE",
"label": "PUBLIC_KEY_FILE",
"default": "/path/to/file",
"description": "Optionally specify a file containing the public key (works with docker secrets). [OPTIONAL]"
},
{
"name": "PUBLIC_KEY_DIR",
"label": "PUBLIC_KEY_DIR",
"default": "/path/to/directory/containing/_only_/pubkeys",
"description": "Optionally specify a directory containing the public keys (works with docker secrets). [OPTIONAL]"
},
{
"name": "PUBLIC_KEY_URL",
"label": "PUBLIC_KEY_URL",
"default": "https://github.com/username.keys",
"description": "Optionally specify a URL containing the public key. [OPTIONAL]"
},
{
"name": "SUDO_ACCESS",
"label": "SUDO_ACCESS",
"default": "false",
"description": "Set to `true` to allow `linuxserver.io`, the ssh user, sudo access. Without `USER_PASSWORD` set, this will allow passwordless sudo access. [OPTIONAL]"
},
{
"name": "PASSWORD_ACCESS",
"label": "PASSWORD_ACCESS",
"default": "false",
"description": "Set to `true` to allow user/password ssh access. You will want to set `USER_PASSWORD` or `USER_PASSWORD_FILE` as well. [OPTIONAL]"
},
{
"name": "USER_PASSWORD",
"label": "USER_PASSWORD",
"default": "password",
"description": "Optionally set a sudo password for `linuxserver.io`, the ssh user. If this or `USER_PASSWORD_FILE` are not set but `SUDO_ACCESS` is set to true, the user will have passwordless sudo access. [OPTIONAL]"
},
{
"name": "USER_PASSWORD_FILE",
"label": "USER_PASSWORD_FILE",
"default": "/path/to/file",
"description": "Optionally specify a file that contains the password. This setting supersedes the `USER_PASSWORD` option (works with docker secrets). [OPTIONAL]"
},
{
"name": "USER_NAME",
"label": "USER_NAME",
"default": "linuxserver.io",
"description": "Optionally specify a user name (Default:`linuxserver.io`) [OPTIONAL]"
},
{
"name": "LOG_STDOUT",
"label": "LOG_STDOUT",
"default": "",
"description": "Set to `true` to log to stdout instead of file. [OPTIONAL]"
}
],
"ports": [
"2222:2222/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/openssh-server/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"title": "OpenTodo",
"name": "opentodo",
"description": "Open-source, local-first task manager. Works offline and syncs every device from one small container. Source: https://github.com/OpenTodoApp/OpenTodo",
"categories": [
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/OpenTodoApp/OpenTodo/main/web/public/pwa-512.png",
"image": "ghcr.io/opentodoapp/opentodo:stable",
"restart_policy": "unless-stopped",
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"env": [
{
"name": "OPENTODO_SETUP_TOKEN",
"label": "Setup token (optional, 16+ characters)",
"description": "When set, creating the first (owner) account asks for this token, so a server others can reach cannot be claimed by a stranger. Generate one with: openssl rand -hex 16",
"default": ""
},
{
"name": "OPENTODO_BASE_URL",
"label": "Public https address (optional)",
"description": "The https address people open behind a reverse proxy, for example https://todo.example.com. Leave empty when you open OpenTodo by the server's address over plain http: an https value there breaks sign-in.",
"default": ""
},
{
"name": "OPENTODO_ALLOW_SIGNUP",
"label": "Open sign-up",
"description": "true lets anyone who can reach the server create an account. Otherwise the owner invites people.",
"select": [
{
"text": "Closed: the owner invites people",
"value": "false",
"default": true
},
{
"text": "Open to anyone who can reach the server",
"value": "true"
}
]
},
{
"name": "OPENTODO_TRUSTED_PROXIES",
"label": "Trusted proxies (optional)",
"description": "Reverse proxies whose X-Forwarded-For is trusted for the visitor's address: IP addresses or ranges such as 192.0.2.0/24 separated by commas, or cloudflare. Set it only when every request comes through them.",
"default": ""
}
],
"note": "Open <code>http://&lt;your-host&gt;:8080</code> right after deploying: the first visitor creates the owner account (paste the setup token there if you set one), and sign-up is closed after that. Everything OpenTodo stores is in the <code>/data</code> volume, so back that volume up. On plain http, tasks, sync and sharing work; installing the app, offline use, push notifications and passkeys need https: put a reverse proxy with a certificate in front and set the public https address. Updates: re-pull the <code>stable</code> image (Recreate with <b>Re-pull image</b>). Docs: <a href=\"https://open-todo.app/docs/self-hosting/portainer/\" target=\"_blank\">open-todo.app/docs/self-hosting/portainer</a>",
"maintainer": "https://github.com/OpenTodoApp/OpenTodo/",
"id": 551
},
{
"categories": [
"Network"
],
"description": "OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments.",
"env": [
{
"label": "INTERFACE",
"name": "INTERFACE",
"default": "eth0",
"preset": true
},
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/openvpn-as:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/openvpn-as-icon.png",
"name": "openvpn-as",
"platform": "linux",
"ports": [
"943:943/tcp",
"9443:9443/tcp",
"1194:1194/udp"
],
"restart_policy": "unless-stopped",
"title": "OpenVPN Access Server",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/OpenVPN-AS"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 552
},
{
"description": "OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments.",
"env": [
{
"label": "INTERFACE",
"name": "INTERFACE",
"default": "eth0",
"preset": true
},
{
"label": "PGID",
"name": "PGID",
"default": "1000",
"preset": true
},
{
"label": "PUID",
"name": "PUID",
"default": "1000",
"preset": true
},
{
"label": "TZ",
"name": "TZ",
"default": "America/Chicago",
"preset": true
}
],
"image": "linuxserver/openvpn-as:latest",
"logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/openvpn-as-icon.png",
"platform": "linux",
"ports": [
"943/tcp",
"9443/tcp",
"1194/udp"
],
"title": "openvpn-as",
"type": 1,
"volumes": [
{
"container": "/config"
}
],
"maintainer": "https://github.com/dnburgess/self-hosted-template/",
"categories": [
"Other"
],
"id": 553
},
{
"id": 554,
"type": 1,
"title": "Opera",
"name": "Opera",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/opera/config</p>",
"description": "[Opera](https://www.opera.com/) is a multi-platform web browser developed by its namesake company Opera. The browser is based on Chromium, but distinguishes itself from other Chromium-based browsers (Chrome, Edge, etc.) through its user interface and other features.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/opera-icon.png",
"image": "linuxserver/opera:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "OPERA_CLI",
"label": "OPERA_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/opera/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity",
"Low Code"
],
"description": "OpnForm is an open-source form builder. It's an alternative to products like Typeform, JotForm, Tally etc.",
"logo": "https://opnform.com/img/logo.svg",
"name": "opnform",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/opnform.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "OpnForm",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 555
},
{
"type": 3,
"title": "Oracle Database Free",
"name": "oracle",
"description": "Oracle Database Free (the 26ai line) - the actual Oracle Database, free for development AND production under the Oracle Free Use Terms and Conditions, within software-enforced caps: 2 cores, 2 GB RAM, 12 GB user data, one instance per",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "oracle/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/oracle.png",
"env": [
{
"name": "APP_USER_PASSWORD",
"label": "APP_USER_PASSWORD",
"description": "Password for the `app` schema user in FREEPDB1."
},
{
"name": "ORACLE_PASSWORD",
"label": "ORACLE_PASSWORD",
"description": "SYS / SYSTEM / PDBADMIN password."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 556
},
{
"id": 557,
"type": 1,
"title": "Orcaslicer",
"name": "Orcaslicer",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/orcaslicer/config</p>",
"description": "[Orca Slicer](https://github.com/SoftFever/OrcaSlicer) is an open source slicer for FDM printers. OrcaSlicer is fork of Bambu Studio, it was previously known as BambuStudio-SoftFever, Bambu Studio is forked from PrusaSlicer by Prusa Research, which is from Slic3r by Alessandro Ranellucci and the RepRap community",
"categories": [
"3D Printing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/orcaslicer-logo.png",
"image": "linuxserver/orcaslicer:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/orcaslicer/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Organizr allows you to setup Tabs that will be loaded all in one webpage. You can then work on your server with ease.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "organizr/organizr:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/organizr-icon.png",
"name": "organizr-v2",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Organizr (container)",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Organizr"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 558
},
{
"categories": [
"Tools",
"Dashboard"
],
"description": "Organizr allows you to setup Tabs that will be loaded all in one webpage. You can then work on your server with ease.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/organizr-icon.png",
"name": "organizr-v2",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/organizr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Organizr (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 559
},
{
"categories": [
"Other",
"Tools"
],
"description": "Organizr allows you to setup Tabs that will be loaded all in one webpage. You can then work on your server with ease.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "organizr/organizr:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/organizr-icon.png",
"name": "organizr-v2",
"platform": "linux",
"ports": [
"7171:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Organizr v2",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Organizr"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://organizr.app/\" target=\"_blank\">https://organizr.app/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/organizr/organizr\" target=\"_blank\">https://hub.docker.com/r/organizr/organizr</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 560
},
{
"categories": [
"Identity Management",
"Security"
],
"description": "Ory Kratos with Oathkeeper (ORY Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API that authorizes HTTP requests based on sets of Access Rules.) ",
"logo": "https://raw.githubusercontent.com/ory/meta/master/static/banners/oathkeeper.svg",
"name": "Ory Kratos Oathkeeper",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ory-kratos-oathkeeper.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ory Kratos (Oathkeeper)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 561
},
{
"categories": [
"Identity Management",
"Access Proxy"
],
"description": "Ory Kratos with Oathkeeper is _the_ developer-friendly, security-hardened and battle-test Identity, User Management and Authentication system for the Cloud.",
"logo": "https://raw.githubusercontent.com/ory/meta/master/static/banners/kratos.svg",
"name": "Ory Kratos",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/ory-kratos-standalone.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Ory Kratos (Standalone)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 562
},
{
"id": 563,
"type": 1,
"title": "Oscam",
"name": "Oscam",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/oscam/config</p>",
"description": "[Oscam](https://git.streamboard.tv/common/oscam) is an Open Source Conditional Access Module software used for descrambling DVB transmissions using smart cards. It's both a server and a client.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/oscam-logo.png",
"image": "linuxserver/oscam:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8888:8888/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/oscam/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity",
"Social"
],
"description": "Open source collaborative knowledge base for modern teams. Source: https://github.com/outline/outline",
"env": [
{
"label": "Secret key \u2014 generate with: openssl rand -hex 32",
"name": "SECRET_KEY"
},
{
"label": "Utils secret \u2014 generate with: openssl rand -hex 32",
"name": "UTILS_SECRET"
},
{
"default": "http://localhost:3000",
"label": "Public URL Outline is served from",
"name": "URL"
},
{
"default": "",
"label": "SMTP host (enables email sign-in)",
"name": "SMTP_HOST"
},
{
"default": "",
"label": "SMTP port",
"name": "SMTP_PORT"
},
{
"default": "",
"label": "SMTP username",
"name": "SMTP_USERNAME"
},
{
"default": "",
"label": "SMTP password",
"name": "SMTP_PASSWORD"
},
{
"default": "",
"label": "SMTP from address",
"name": "SMTP_FROM_EMAIL"
}
],
"logo": "https://avatars.githubusercontent.com/u/1765001",
"name": "outline",
"note": "Outline needs an authentication provider to sign in: either fill in the SMTP fields above for email (magic-link) sign-in, or add an OIDC/Google/Slack provider by editing the stack. Generate SECRET_KEY and UTILS_SECRET with 'openssl rand -hex 32'. Uploads are stored on a local volume (no S3/MinIO required).",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/outline.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "Outline",
"type": 3,
"id": 564
},
{
"type": 1,
"name": "overseerr",
"title": "Overseerr (container)",
"description": "Overseerr is a request management and media discovery tool built to work with your existing Plex ecosystem.",
"logo": "https://mediadepot.github.io/templates/img/overseerr.png",
"image": "lscr.io/linuxserver/overseerr:latest",
"categories": [
"Downloaders",
"Other",
"Video",
"Tools"
],
"ports": [
"5055/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/overseerr"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.overseerr.loadbalancer.server.port",
"value": "5055"
},
{
"name": "traefik.http.routers.overseerr.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.overseerr.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 565
},
{
"categories": [
"Tools"
],
"description": "Overseerr is a free and open source software application for managing requests for your media library.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/overseerr-icon.png",
"name": "Overseerr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/overseerr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Overseerr (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 566
},
{
"type": 3,
"title": "Owncast",
"name": "owncast",
"description": "Owncast - your own self-hosted live streaming server: a Twitch / YouTube Live alternative with a built-in web video player, live chat, and federation.",
"categories": [
"Media"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "owncast/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/owncast.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 567
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Web"
],
"description": "ownCloud is a self-hosted file sync and share server. It provides access to your data through a web interface, sync clients or WebDAV while providing a platform to view, sync and share across devices easily\u2014all under your control. ownCloud\u2019s open architecture is extensible via a simple but powerful API for applications and plugins and it works with any storage.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "OWNCLOUD_DOMAIN",
"name": "OWNCLOUD_DOMAIN"
},
{
"label": "DB_PASSWORD",
"name": "DB_PASSWORD"
},
{
"label": "ADMIN_USERNAME",
"name": "ADMIN_USERNAME"
},
{
"label": "ADMIN_PASSWORD",
"name": "ADMIN_PASSWORD"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/docker-library/docs/9d36b4ed7cabc35dbd3849272ba2bd7abe482172/owncloud/logo.png",
"name": "Owncloud",
"note": "The database user is owncloud and the database is owncloud.",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/owncloud.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Owncloud",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 568
},
{
"categories": [
"File Sharing",
"Networking"
],
"description": "Local file sharing in your browser, inspired by Apple's AirDrop. Source: https://github.com/schlagmichdoch/PairDrop",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "Etc/UTC",
"label": "TZ",
"name": "TZ"
}
],
"image": "lscr.io/linuxserver/pairdrop:latest",
"logo": "https://avatars.githubusercontent.com/u/52242352",
"name": "pairdrop",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "PairDrop",
"type": 1,
"id": 569
},
{
"categories": [
"Cloud",
"Management",
"Productivity"
],
"description": "Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper. Paperless-ngx forked from paperless-ng to continue the great work and distribute responsibility of supporting and advancing the project among a team of people. Consider joining us! Discussion of this transition can be found in issues #1599 and #1632. A demo is available at demo.paperless-ngx.com using login demo / demo. Note: demo content is reset frequently and confidential information should not be uploaded.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID",
"description": "for UserID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID",
"description": "for GroupID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ",
"description": "Specify a timezone to use for example America/New_York"
},
{
"default": "",
"label": "PAPERLESS_URL",
"name": "PAPERLESSURL",
"description": "Example https://paperless.example.com. It would be best to run this behind a reverse proxy"
},
{
"default": "",
"label": "Administrator username",
"name": "ADMIN_USER",
"description": "Set the name of the default admin user."
},
{
"default": "",
"label": "Administrator password",
"name": "ADMIN_PASS",
"description": "Set the password of the default admin user."
},
{
"default": "",
"label": "Secret Key",
"name": "RANDOMKEY",
"description": "This should be a very long sequence of random characters."
},
{
"default": "eng",
"label": "OCR Language",
"name": "LANG",
"description": "The default language to use for OCR"
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/paperless.png",
"name": "paperless-ngx",
"repository": {
"stackfile": "stack/paperless-ngx.yml",
"url": "https://github.com/pi-hosted/pi-hosted/"
},
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Paperless NGX",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/paperless-ngx/paperless-ngx\" target=\"_blank\">https://github.com/paperless-ngx/paperless-ngx</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/paperless-ngx/paperless-ngx\" target=\"_blank\">https://github.com/paperless-ngx/paperless-ngx</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 570
},
{
"id": 571,
"type": 3,
"title": "Papra",
"name": "papra",
"description": "Document archive for receipts, contracts, payslips and all the other paperwork you need to keep: upload them, search their text (scans included), and tag them by hand or with rules, in separate organisations for home and work. Source: https://github.com/papra-hq/papra",
"categories": [
"Documents",
"Productivity"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/193336953?s=256",
"restart_policy": "unless-stopped",
"env": [
{
"name": "PAPRA_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:1221."
},
{
"name": "PAPRA_AUTH_SECRET",
"label": "Auth secret (required)",
"description": "At least 32 characters. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy."
},
{
"name": "PAPRA_PORT",
"label": "Host port for the web UI",
"default": "1221"
}
],
"note": "Fill in the <b>address</b> and <b>auth secret</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:1221</code>: the port you're using, and no slash at the end. Papra only accepts logins from that address, so if it's wrong the page still loads but signing up or logging in fails with <i>Invalid callbackURL</i>. To fix it, change the address in the stack's environment variables and redeploy. The first account you make is the admin, and sign-ups stay open after that. To close them, add <code>PAPRA_SIGNUPS</code> set to <code>false</code> to the stack's environment variables and redeploy. Documents and the database live in the <code>papra-data</code> volume. Docs: <a href=\"https://docs.papra.app/self-hosting/configuration/\" target=\"_blank\">docs.papra.app</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/papra/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Parseable",
"name": "parseable",
"description": "Parseable - a single-binary log lake built for object storage: ingest logs over HTTP, store them as compressed Parquet on S3, query with SQL. Rust, lean (runs in 512 MB), and S3-native by design - a natural fit for Miget Buckets.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "parseable/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/parseable.png",
"env": [
{
"name": "P_PASSWORD",
"label": "P_PASSWORD"
},
{
"name": "P_S3_ACCESS_KEY",
"label": "P_S3_ACCESS_KEY"
},
{
"name": "P_S3_BUCKET",
"label": "P_S3_BUCKET"
},
{
"name": "P_S3_REGION",
"label": "P_S3_REGION",
"default": "us-east-1"
},
{
"name": "P_S3_SECRET_KEY",
"label": "P_S3_SECRET_KEY"
},
{
"name": "P_S3_URL",
"label": "P_S3_URL",
"description": "Leave P_S3_URL empty for local-disk mode."
},
{
"name": "P_USERNAME",
"label": "P_USERNAME",
"description": "Admin login.",
"default": "admin"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 572
},
{
"categories": [
"Other",
"Tools"
],
"description": "Passbolt is a free and open source password manager designed for collaboration. With Passbolt you can securely generate, store, manage and monitor your team credentials. Get access to all of your logins and passwords from multiple browsers or even your mobile phone.",
"env": [
{
"default": "1000",
"description": "Enter your user's PUID here",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"description": "Enter your user's PGID here",
"label": "PGID",
"name": "PGID"
},
{
"default": "Europe/Zurich",
"description": "Enter your time zone here. See examples https://en.wikipedia.org/wiki/List_of_tz_database_time_zones",
"label": "TZ",
"name": "TZ"
},
{
"default": "",
"description": "Enter your MySql root password here",
"label": "MYSQL_ROOT_PASSWORD",
"name": "MYSQL_ROOT_PASSWORD"
},
{
"default": "passbolt",
"description": "Enter your Passbolt database name here",
"label": "MYSQL_DATABASE",
"name": "MYSQL_DATABASE"
},
{
"default": "passbolt",
"description": "Enter your Passbolt database user here",
"label": "MYSQL_USER",
"name": "MYSQL_USER"
},
{
"default": "",
"description": "Enter your Passbolt database password here",
"label": "MYSQL_PASSWORD",
"name": "MYSQL_PASSWORD"
},
{
"default": "443",
"description": "Enter your Passbolt https port here",
"label": "PASSBOLT_PORT",
"name": "PASSBOLT_PORT"
},
{
"default": "https://passbolt.local",
"description": "Enter your full Passbolt https base URL here. Including port if different from 443",
"label": "PASSBOLT_URL",
"name": "PASSBOLT_URL"
},
{
"default": "Passbolt",
"description": "Enter your from email name",
"label": "EMAIL_FROM_NAME",
"name": "EMAIL_FROM_NAME"
},
{
"default": "",
"description": "Enter your from email address",
"label": "EMAIL_FROM_ADDRESS",
"name": "EMAIL_FROM_ADDRESS"
},
{
"default": "smtp.gmail.com",
"description": "Enter your email smtp server here",
"label": "EMAIL_SMTP_SERVER",
"name": "EMAIL_SMTP_SERVER"
},
{
"default": "587",
"description": "Enter your email smtp port here",
"label": "EMAIL_SMTP_PORT",
"name": "EMAIL_SMTP_PORT"
},
{
"default": "",
"description": "Enter your email username here",
"label": "EMAIL_USERNAME",
"name": "EMAIL_USERNAME"
},
{
"default": "",
"description": "Enter your email password here",
"label": "EMAIL_PASSWORD",
"name": "EMAIL_PASSWORD"
},
{
"default": "true",
"description": "Enter set TLS here",
"label": "EMAIL_TLS",
"name": "EMAIL_TLS"
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/passbolt.png",
"name": "Passbolt",
"platform": "linux",
"repository": {
"stackfile": "stack/passbolt.yml",
"url": "https://github.com/pi-hosted/pi-hosted"
},
"restart_policy": "unless-stopped",
"title": "Passbolt",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/passbolt.md\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted/blob/master/docs/passbolt.md</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/passbolt.md\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted/blob/master/docs/passbolt.md</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/passbolt.md\" target=\"_blank\">passbolt.md</a></h3><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 573
},
{
"categories": [
"Other",
"Tools"
],
"description": "Passky is a simple, modern, lightweight, open-source and secure password manager.",
"image": "rabbitcompany/passky-client:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/passky-icon.png",
"name": "passky-client",
"platform": "linux",
"ports": [
"8081:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Passky Client",
"type": 1,
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 574
},
{
"categories": [
"Other",
"Tools"
],
"description": "Passky is a simple, modern, lightweight, open-source and secure password manager.",
"env": [
{
"default": "admin",
"label": "ADMIN_USERNAME",
"name": "ADMIN_USERNAME"
},
{
"label": "ADMIN_PASSWORD",
"name": "ADMIN_PASSWORD"
}
],
"image": "rabbitcompany/passky-server:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/passky-icon.png",
"name": "passky-server",
"note": "Do not forget to perform regular backups, especially before each update.",
"platform": "linux",
"ports": [
"8080:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Passky Server",
"type": 1,
"volumes": [
{
"container": "/var/www/html/databases",
"bind": "/portainer/Files/AppData/Passky-Server"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 575
},
{
"id": 576,
"type": 3,
"title": "Password Pusher",
"name": "password-pusher",
"description": "Share passwords, text, files and links as a link that expires after a set number of views or days, so they don't sit in someone's chat history or inbox forever. Source: https://github.com/pglombardo/PasswordPusher",
"categories": [
"Security",
"File Sharing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/pglombardo/PasswordPusher/master/app/assets/images/android-icon-192x192.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "PWPUSH_MASTER_KEY",
"label": "Master key (required)",
"description": "Encrypts the text of every push. Exactly 64 hex characters, so generate it with: openssl rand -hex 32. Keep it the same when you redeploy, or older pushes can't be opened."
},
{
"name": "PWPUSH_SECRET_KEY_BASE",
"label": "Login key",
"description": "Keeps people logged in through a restart. Generate one with: openssl rand -hex 64. Leave it blank and every restart logs everyone out."
},
{
"name": "PWPUSH_PORT",
"label": "Host port for the web UI",
"default": "5150"
}
],
"note": "Set the <b>master key</b> before you deploy (<code>openssl rand -hex 32</code> makes one), since the stack won't start without it. Then open <code>http://&lt;your-host&gt;:5150</code> (or whichever port you picked), which goes straight to a first-run page for the admin account. It wants a boot code from the container's logs: search them for <i>Boot Code</i>. After that, anyone who can reach it can push without an account, and sign up for one too. To stop either, add <code>PWPUSH_ANONYMOUS</code> = <code>false</code> or <code>PWPUSH_DISABLE_SIGNUPS</code> = <code>true</code> to the stack's environment variables and redeploy. Pushes, files and accounts live in the <code>pwpush-storage</code> volume. Text is encrypted with the master key there, but uploaded files are kept as they are. Docs: <a href=\"https://docs.pwpush.com\" target=\"_blank\">docs.pwpush.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/password-pusher/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 577,
"type": 1,
"title": "Pcsx2",
"name": "Pcsx2",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pcsx2/config</p>",
"description": "[PCSX2](https://pcsx2.net/) is an open source PS2 Emulator.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pcsx2-logo.png",
"image": "linuxserver/pcsx2:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pcsx2/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 578,
"type": 1,
"title": "Pelorus",
"name": "Pelorus",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pelorus/config</p>",
"description": "[Pelorus](https://github.com/linuxserver/pelorus) is an AI navigator for Selkies-powered Linux desktops. Pelorus runs a FastAPI server that gives an LLM agent (Ollama, OpenAI-compatible, or Gemini) control over mouse, keyboard, screenshot, and window management via the [Pixelflux computer-use backend](https://github.com/linuxserver/pixelflux#computer-use-interface-wayland), a Linux accessibility tree (AT-SPI), and optional KWin D-Bus integration.",
"categories": [
"Remote Desktop",
"AI"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pelorus-logo.png",
"image": "linuxserver/pelorus:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pelorus/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Penpot",
"name": "penpot",
"description": "Penpot - the open-source design and prototyping platform (the Figma alternative): SVG-native, web-based, with real design-to-dev handoff. MPL-2.0. Frontend + backend + exporter on a managed Postgres and a noeviction Valkey.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "penpot/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/penpot.png",
"env": [
{
"name": "PENPOT_OBJECTS_STORAGE_BACKEND",
"label": "PENPOT_OBJECTS_STORAGE_BACKEND",
"description": "Recommended on Miget: store assets in a Bucket and drop the RWX volume.",
"default": "fs"
},
{
"name": "PENPOT_PUBLIC_URI",
"label": "PENPOT_PUBLIC_URI",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "PENPOT_SECRET_KEY",
"label": "PENPOT_SECRET_KEY"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
},
{
"name": "S3_ACCESS_KEY",
"label": "S3_ACCESS_KEY"
},
{
"name": "S3_BUCKET_NAME",
"label": "S3_BUCKET_NAME"
},
{
"name": "S3_ENDPOINT",
"label": "S3_ENDPOINT"
},
{
"name": "S3_REGION",
"label": "S3_REGION",
"default": "us-east-1"
},
{
"name": "S3_SECRET_KEY",
"label": "S3_SECRET_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 579
},
{
"type": 3,
"title": "Penpot (http) {shmolf}",
"name": "penpot-http",
"categories": [
"Graphic Design"
],
"description": "Penpot is the first Open Source design and prototyping platform meant for cross-domain teams.",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/penpot-logo.svg",
"note": "<a target='_blank' href='https://community.penpot.app/'>Application documentation \ud83d\uddd7</a>. See <a target='_blank' href='https://help.penpot.app/technical-guide/configuration/#advanced-configuration'>documentation \ud83d\uddd7</a> for more details regarding the flags.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"label": "PGID",
"name": "PGID",
"default": "1000"
},
{
"label": "Frontend Flags",
"name": "PENPOT_FLAGS_FE",
"default": "enable-registration disable-secure-session-cookies enable-insecure-register enable-login-with-password"
},
{
"label": "Backend Flags",
"name": "PENPOT_FLAGS_BE",
"default": "enable-registration disable-secure-session-cookies enable-insecure-register disable-email-verification"
},
{
"label": "Public URI",
"name": "PUBLIC_URI",
"default": "http://192.168.1.1:8624",
"description": "Public URI. If you are going to expose this instance to the internet and use it under different domain than 'localhost', you will need to adjust it to the final domain."
},
{
"label": "Penpot Telemetry Enabled?",
"name": "TELEMETRY_ENABLED",
"select": [
{
"text": "Yes, enable telemetry",
"value": "true",
"default": true
},
{
"text": "No, disable telemetry",
"value": "false"
}
],
"description": "When enabled, a periodical process will send anonymous data about this instance."
},
{
"default": "8624",
"label": "Http Port",
"name": "PORT",
"description": "This should match the port specified in the Public URI, or 80/443 if using standard ports."
}
],
"platform": "linux",
"repository": {
"stackfile": "stacks/penpot/docker-compose-http.yml",
"url": "https://github.com/shmolf/portainer-templates"
},
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 580
},
{
"type": 3,
"title": "Percona Server",
"name": "percona-server",
"description": "Percona Server for MySQL - a free, fully MySQL-compatible drop-in with extra instrumentation (detailed `INFORMATION_SCHEMA` and `PERFORMANCE_SCHEMA` tables), improved diagnostics, and performance enhancements.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "percona-server/compose.yaml"
},
"env": [
{
"name": "MYSQL_DATABASE",
"label": "MYSQL_DATABASE",
"description": "Application database + user created on first boot.",
"default": "app"
},
{
"name": "MYSQL_PASSWORD",
"label": "MYSQL_PASSWORD"
},
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "MYSQL_ROOT_PASSWORD",
"description": "Root password (required)."
},
{
"name": "MYSQL_USER",
"label": "MYSQL_USER",
"default": "app"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 581
},
{
"type": 3,
"title": "Percona XtraDB Cluster",
"name": "percona-xtradb-cluster",
"description": "Percona XtraDB Cluster - synchronous, multi-primary MySQL high availability built on Galera.",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "percona-xtradb-cluster/compose.yaml"
},
"env": [
{
"name": "MYSQL_DATABASE",
"label": "MYSQL_DATABASE",
"description": "Application database + user, created on bootstrap (replicates to joiners).",
"default": "app"
},
{
"name": "MYSQL_PASSWORD",
"label": "MYSQL_PASSWORD"
},
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "MYSQL_ROOT_PASSWORD",
"description": "Root password (all nodes - must match)."
},
{
"name": "MYSQL_USER",
"label": "MYSQL_USER",
"default": "app"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 582
},
{
"categories": [
"Tools"
],
"description": "Petio is a third party companion app available to Plex server owners to allow their users to request, review and discover content.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "TZ",
"name": "TZ"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/petio-icon.png",
"name": "Petio",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/petio.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Petio",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 583
},
{
"categories": [
"Other",
"Tools"
],
"description": "PGAdmin is a web-based GUI tool used to interact with the Postgres database sessions, both locally and remote servers as well. You can use PGAdmin to perform any sort of database administration required for a Postgres database.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "",
"label": "PGADMIN_DEFAULT_EMAIL",
"name": "PGADMIN_DEFAULT_EMAIL"
},
{
"default": "",
"label": "PGADMIN_DEFAULT_PASSWORD",
"name": "PGADMIN_DEFAULT_PASSWORD"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
}
],
"image": "dpage/pgadmin4:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/pgadmin.png",
"name": "pgadmin",
"platform": "linux",
"ports": [
"5050:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "pgAdmin",
"type": 1,
"volumes": [
{
"container": "/var/lib/pgadmin",
"bind": "/portainer/Files/AppData/Config/pgadmin"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.pgadmin.org/\" target=\"_blank\">https://www.pgadmin.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html\" target=\"_blank\">https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_pgadmin.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_pgadmin.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 584
},
{
"type": 3,
"title": "Phoenix",
"name": "phoenix",
"description": "Phoenix - LLM tracing, evaluations, datasets, and a prompt playground in ONE container, OpenTelemetry-native.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "phoenix/compose.yaml"
},
"env": [
{
"name": "PHOENIX_SECRET",
"label": "PHOENIX_SECRET",
"description": "32+ characters."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 585
},
{
"categories": [
"Photos",
"AI"
],
"description": "PhotoPrism is an AI-powered app for browsing, organizing & sharing your photo collection. It makes use of the latest technologies to tag and find pictures automatically without getting in your way.| Copy as Custom stack and EDIT environment variables.",
"logo": "https://photoprism.app/static/img/logo.svg",
"name": "photoprism",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/photoprism.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Photoprism",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 586
},
{
"categories": [
"Photos"
],
"description": "A simple, easy way to turn a photo album into a webgallery.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/photoshow:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/photoshow-icon.png",
"name": "photoshow",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "PhotoShow",
"type": 1,
"volumes": [
{
"container": "/Pictures",
"bind": "/portainer/Pictures"
},
{
"container": "/Thumbs",
"bind": "/portainer/Files/AppData/Photoshow/Thumbs"
},
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/PhotoShow"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 587
},
{
"id": 588,
"type": 1,
"title": "Phpmyadmin",
"name": "Phpmyadmin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/phpmyadmin/config</p>",
"description": "[Phpmyadmin](https://github.com/phpmyadmin/phpmyadmin/) is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB.",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/phpmyadmin-logo.png",
"image": "linuxserver/phpmyadmin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PMA_ARBITRARY",
"label": "PMA_ARBITRARY",
"default": "1",
"description": "Set to `1` to allow you to connect to any server. Setting to `0` will only allow you to connect to specified hosts (See Application Setup) [OPTIONAL]"
},
{
"name": "PMA_ABSOLUTE_URI",
"label": "PMA_ABSOLUTE_URI",
"default": "https://phpmyadmin.example.com",
"description": "Set the URL you will use to access the web frontend [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/phpmyadmin/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools",
"Adblocking"
],
"description": "A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole.",
"image": "pihole/pihole:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/pihole.png",
"name": "pihole",
"note": "When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article <a href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'>here</a> if you run into issues binding to port 53.",
"platform": "linux",
"ports": [
"53:53/tcp",
"53:53/udp",
"67:67/udp",
"1010:80/tcp",
"4443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Pi-Hole",
"type": 1,
"volumes": [
{
"container": "/etc/pihole",
"bind": "/portainer/Files/AppData/Config/PiHole"
},
{
"container": "/etc/dnsmasq.d",
"bind": "/portainer/Files/AppData/Config/PiHole/DNS"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 589
},
{
"categories": [
"Other",
"Tools"
],
"description": "A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole with both DoH (DNS over HTTPS) and DoT (DNS over TLS) clients.",
"image": "oijkn/pihole-doh-dot:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/pihole_doh-dot.png",
"name": "pihole DoH/DoT",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://pi-hole.net/\" target=\"_blank\">https://pi-hole.net/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/oijkn/pihole-doh-dot\" target=\"_blank\">https://hub.docker.com/r/oijkn/pihole-doh-dot</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/pi-hole.md\" target=\"_blank\">pi-hole.md</a></h3><br><br><br>When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article <a href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'>here</a> if you run into issues binding to port 53. If you like to use Pi-Hole's built in DHCP-Server change the Network type to host and open advance options and scroll to Labels and add: NET_ADMIN with the value True. When you do so, specify a port is no more needed, navigate to your.ip.goes.here/admin.",
"platform": "linux",
"ports": [
"53:53/tcp",
"53:53/udp",
"67:67/udp",
"1010:80/tcp",
"4443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Pi-Hole DoH/DoT",
"type": 1,
"volumes": [
{
"container": "/etc/pihole",
"bind": "/portainer/Files/AppData/Config/PiHole_DoH-DoT"
},
{
"container": "/etc/dnsmasq.d",
"bind": "/portainer/Files/AppData/Config/PiHole_DoH-DoT/DNS"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 590
},
{
"categories": [
"Other",
"Tools"
],
"description": "A Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole. This version has Ubound software installed on it so you don't need to rely on external DNS providers. When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article <a href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'>here</a>",
"env": [
{
"default": "192.168.0.X",
"description": "Insert the Raspberry Pi IP here",
"label": "ServerIP",
"name": "ServerIP"
},
{
"default": "Europe\\London",
"label": "TZ",
"name": "TZ"
},
{
"label": "DNSSEC",
"name": "DNSSEC",
"select": [
{
"text": "Enable DNSSEC",
"value": "true",
"default": true
},
{
"text": "Disable DNSSEC",
"value": "false"
}
]
},
{
"default": "127.0.0.1#5335",
"label": "DNS1",
"name": "DNS1",
"preset": true
},
{
"default": "127.0.0.1#5335",
"label": "DNS2",
"name": "DNS2",
"preset": true
}
],
"image": "cbcrowe/pihole-unbound:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/pihole-unbound.png",
"name": "pihole-unbound",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://pi-hole.net/\" target=\"_blank\">https://pi-hole.net/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/chriscrowe/docker-pihole-unbound/tree/master/one-container\" target=\"_blank\">https://github.com/chriscrowe/docker-pihole-unbound/tree/master/one-container</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/pi-hole.md\" target=\"_blank\">pi-hole.md</a></h3><br><br><br>When the installation is complete, navigate to your.ip.goes.here:1010/admin. Follow the article <a href='https://medium.com/@niktrix/getting-rid-of-systemd-resolved-consuming-port-53-605f0234f32f'>here</a> if you run into issues binding to port 53. For extra information on this container visit the mainteiner <a href='https://github.com/chriscrowe/docker-pihole-unbound/tree/master/one-container'>GitHub Page</a>. You can add ports: 5335 to access Ubound externally; 22 to enable SSH; 67 to use DHCP Server. Add those ports in Show advanced options. if you run into issues binding to port 53. If you like to use Pi-Hole's built in DHCP-Server change the Network type to host and open advance options and scroll to Labels and add: NET_ADMIN with the value True. When you do so, specify a port is no more needed, navigate to your.ip.goes.here/admin.",
"platform": "linux",
"ports": [
"53:53/tcp",
"53:53/udp",
"1010:80/tcp",
"4443:443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Pi-Hole-Unbound",
"type": 1,
"volumes": [
{
"container": "/etc/pihole",
"bind": "/portainer/Files/AppData/Config/PiHole-Unbound"
},
{
"container": "/etc/dnsmasq.d",
"bind": "/portainer/Files/AppData/Config/PiHole-Unbound/DNS"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 591
},
{
"categories": [
"Network"
],
"description": "WIFI / LAN intruder detector",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "jokobsk/pi.alert:latest",
"logo": "https://raw.githubusercontent.com/pucherot/Pi.Alert/main/docs/img/1_devices.jpg",
"name": "pi.alert",
"platform": "linux",
"ports": [
"20211:20211/udp"
],
"restart_policy": "always",
"title": "Pi.alert",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/pi.alert"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 592
},
{
"id": 593,
"type": 3,
"title": "PicoShare",
"name": "picoshare",
"description": "Minimalist file sharing: upload any file and get a direct link to it, with no re-encoding, no size limit and an optional expiry date. Guest links let other people upload files to you. Source: https://github.com/mtlynch/picoshare",
"categories": [
"File Sharing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/mtlynch/picoshare/master/handlers/static/android-chrome-384x384.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "PICOSHARE_PASSWORD",
"label": "Password (required)",
"description": "What you'll log in with. Anything long and hard to guess, or generate one with: openssl rand -hex 16"
},
{
"name": "PICOSHARE_PORT",
"label": "Host port for the web UI",
"default": "4001"
}
],
"note": "Set the <b>password</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:4001</code> (or whichever port you picked), click Log In and enter it. Changing it on the form and redeploying swaps it for the new one. Share links are built from the address you're on, and anyone with a link can download the file without logging in. Uploads expire after 30 days unless you pick otherwise, and you can change that default under System --&gt; Settings. Guest Links make an upload page for someone else, with optional limits on size and number of files. Everything, files included, lives in a SQLite database in the <code>picoshare-data</code> volume. Docs: <a href=\"https://github.com/mtlynch/picoshare#readme\" target=\"_blank\">github.com/mtlynch/picoshare</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/picoshare/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 594,
"type": 1,
"title": "Pidgin",
"name": "Pidgin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pidgin/config</p>",
"description": "[Pidgin](https://pidgin.im/) is a chat program which lets you log into accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.",
"categories": [
"Irc",
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pidgin-logo.png",
"image": "linuxserver/pidgin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pidgin/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Multimedia"
],
"description": "Your next YouTube media manager",
"logo": "https://github.com/kieraneglin/pinchflat/raw/master/priv/static/images/originals/logo-white-wordmark-with-background.png",
"name": "pinchflat",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/pinchflat.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Pinchflat",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 595
},
{
"categories": [
"File Browsers"
],
"description": "Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.",
"logo": "https://user-images.githubusercontent.com/58886915/166198400-c2134044-1198-4647-a8b6-da9c4a204c68.svg",
"name": "pingvin-share",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/pingvin.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Pingvin",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 596
},
{
"id": 597,
"type": 1,
"title": "Piper",
"name": "Piper",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/piper/config</p>",
"description": "[Piper](https://github.com/rhasspy/wyoming-piper) is a fast, local neural text to speech system that sounds great and is optimized for the Raspberry Pi 4. This container provides a Wyoming protocol server for Piper.",
"categories": [
"Machine Learning"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/piper-logo.png",
"image": "linuxserver/piper:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "PIPER_VOICE",
"label": "PIPER_VOICE",
"default": "en_US-lessac-medium",
"description": "The [Piper voice](https://huggingface.co/rhasspy/piper-voices/tree/main) to use, in the format `<language>-<name>-<quality>`"
},
{
"name": "LOCAL_ONLY",
"label": "LOCAL_ONLY",
"default": "",
"description": "If set to `true`, or any other value, the container will not attempt to download models from HuggingFace and will only use locally-provided models. [OPTIONAL]"
},
{
"name": "PIPER_LENGTH",
"label": "PIPER_LENGTH",
"default": "1.0",
"description": "Voice speaking rate, 1.0 is default with < 1.0 being faster and > 1.0 being slower. [OPTIONAL]"
},
{
"name": "PIPER_NOISE",
"label": "PIPER_NOISE",
"default": "0.667",
"description": "Controls the variability of the voice by adding noise. Values above 1 will start to degrade audio. [OPTIONAL]"
},
{
"name": "PIPER_NOISEW",
"label": "PIPER_NOISEW",
"default": "0.333",
"description": "Controls the variability of speaking cadence. Values above 1 produce extreme stutters and pauses. [OPTIONAL]"
},
{
"name": "PIPER_SPEAKER",
"label": "PIPER_SPEAKER",
"default": "0",
"description": "Speaker number to use if the voice supports multiple speakers. [OPTIONAL]"
},
{
"name": "NO_STREAMING",
"label": "NO_STREAMING",
"default": "",
"description": "Setting to `true`, or any other value, will disable support for streaming audio on sentence boundaries. [OPTIONAL]"
}
],
"ports": [
"10200:10200/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/piper/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 598,
"type": 1,
"title": "Piwigo",
"name": "Piwigo",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/piwigo/config<br>mkdir -p /srv/lsio/piwigo/gallery</p>",
"description": "[Piwigo](http://piwigo.org/) is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures.",
"categories": [
"Photos"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/piwigo-banner.png",
"image": "linuxserver/piwigo:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/piwigo/config"
},
{
"container": "/gallery",
"bind": "/srv/lsio/piwigo/gallery"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other"
],
"description": "Wireless control of PixelStrips or NeoPixels using a web graphical interface running on a Raspberry Pi.",
"image": "macley/pixel-server:latest",
"logo": "https://lirp.cdn-website.com/c73f56a6/dms3rep/multi/opt/ir.appnice.controlpad_512x512-640w.png",
"name": "pixel-server",
"platform": "linux",
"ports": [
"85:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Pixel-server",
"type": 1,
"volumes": [
{
"container": "/opt/pixel-server/auth.cfg",
"bind": "/portainer/Files/AppData/Config/pixel-server/auth.cfg"
},
{
"container": "/opt/pixel-server/pixelserver.cfg",
"bind": "/portainer/Files/AppData/Config/pixel-server/pixelserver.cfg"
},
{
"container": "/opt/pixel-server/users.cfg",
"bind": "/portainer/Files/AppData/Config/pixel-server/users.cfg"
},
{
"container": "/etc/crontabs/"
}
],
"privileged": true,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"http://www.penguintutor.com/projects/pixel-server\" target=\"_blank\">http://www.penguintutor.com/projects/pixel-server</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/Macleykun/pixel-server\" target=\"_blank\">https://github.com/Macleykun/pixel-server</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/pixel-server_setup.md\" target=\"_blank\">pixel-server_setup.md</a></h3><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_pixel-server.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_pixel-server.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 599
},
{
"categories": [
"Project Management",
"Productivity"
],
"description": "Project management tool from the future. An open-source software development tool to manage issues, sprints, and product roadmaps with peace of mind.",
"logo": "https://plane-marketing.s3.ap-south-1.amazonaws.com/plane-assets/logo/text-logo.svg",
"name": "plane",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/plane.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Plane",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 600
},
{
"id": 601,
"type": 1,
"title": "Planka (container)",
"name": "Planka",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/planka/config</p>",
"description": "[Planka](https://github.com/plankanban/planka/) is an elegant open source project tracking tool.",
"categories": [
"Content Management",
"Business"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/planka-logo.png",
"image": "linuxserver/planka:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "BASE_URL",
"label": "BASE_URL",
"default": "https://planka.example.com",
"description": "The URL you will use to access planka including protocol, and port if not 80/443."
},
{
"name": "DATABASE_URL",
"label": "DATABASE_URL",
"default": "postgresql://user:password@planka-db:5432/planka",
"description": "Postgres database URL. Special characters must be [url encoded](https://en.wikipedia.org/wiki/Percent-encoding)."
},
{
"name": "DEFAULT_ADMIN_EMAIL",
"label": "DEFAULT_ADMIN_EMAIL",
"default": "demo@demo.demo",
"description": "Email address for default user."
},
{
"name": "DEFAULT_ADMIN_USERNAME",
"label": "DEFAULT_ADMIN_USERNAME",
"default": "demo",
"description": "Username for default user."
},
{
"name": "DEFAULT_ADMIN_PASSWORD",
"label": "DEFAULT_ADMIN_PASSWORD",
"default": "demo",
"description": "Password for default user."
},
{
"name": "DEFAULT_ADMIN_NAME",
"label": "DEFAULT_ADMIN_NAME",
"default": "Demo User",
"description": "Display name for default user."
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY",
"default": "notasecretkey",
"description": "Session encryption key, recommended 32-64 character alphanumeric."
},
{
"name": "TRUST_PROXY",
"label": "TRUST_PROXY",
"default": "false",
"description": "Set to `true` to trust upstream proxies if reverse proxying."
},
{
"name": "DEFAULT_LANGUAGE",
"label": "DEFAULT_LANGUAGE",
"default": "en-US",
"description": "This sets the default language for sending notifications per user (if a user hasn't selected a language) and per board. [OPTIONAL]"
}
],
"ports": [
"1337:1337/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/planka/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Productivity",
"Project Management"
],
"description": "Open source Trello-like kanban board for project management built with React and Node.js. Source: https://github.com/plankanban/planka",
"env": [
{
"default": "http://localhost:3000",
"label": "Public URL you access Planka at (must EXACTLY match the browser address)",
"name": "BASE_URL"
},
{
"default": "",
"label": "Session secret \u2014 generate with: openssl rand -hex 64",
"name": "SECRET_KEY"
},
{
"default": "demo@demo.demo",
"label": "First admin email",
"name": "DEFAULT_ADMIN_EMAIL"
},
{
"default": "changeme",
"label": "First admin password",
"name": "DEFAULT_ADMIN_PASSWORD"
},
{
"default": "Admin User",
"label": "First admin display name",
"name": "DEFAULT_ADMIN_NAME"
},
{
"default": "admin",
"label": "First admin username",
"name": "DEFAULT_ADMIN_USERNAME"
}
],
"logo": "https://avatars.githubusercontent.com/u/64215741",
"name": "planka",
"note": "BASE_URL must EXACTLY match the URL you open Planka at (localhost, IP, or domain) or login fails. Generate SECRET_KEY with 'openssl rand -hex 64'. The DEFAULT_ADMIN_* fields seed the first admin on first boot \u2014 log in with them, then change the password.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/planka.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Planka (stack)",
"type": 3,
"id": 602
},
{
"id": 603,
"type": 1,
"title": "PlantUML Server",
"name": "plantuml-server",
"description": "Web editor and rendering server for PlantUML, turning plain-text descriptions into sequence, class, component and other diagrams as PNG, SVG or ASCII, with a link for each one you can embed in docs and wikis. Source: https://github.com/plantuml/plantuml-server",
"categories": [
"Development",
"Tools"
],
"platform": "linux",
"logo": "https://avatars.githubusercontent.com/u/5711322?s=256",
"image": "plantuml/plantuml-server:jetty",
"restart_policy": "unless-stopped",
"ports": [
"8380:8080/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8380</code>. There's no login and nothing saved on the server, since each diagram is encoded into its own address, so bookmark or share the page's address to keep one. The link above the editor renders it straight into a doc or wiki, and swapping <code>/png/</code> for <code>/svg/</code> gives you an SVG. PNGs get cut off at 4096 pixels across while SVGs don't, so for bigger ones add <code>PLANTUML_LIMIT_SIZE</code> (say <code>16384</code>) to the container's environment. Includes work from public web addresses, but not from local files or your own network. Docs: <a href=\"https://plantuml.com/server\" target=\"_blank\">plantuml.com/server</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Plausible",
"name": "plausible",
"description": "Plausible - privacy-friendly web analytics: a lightweight, cookie-free, open-source Google Analytics alternative. A clean single-page dashboard, no personal data collection, no consent banner needed, and a script ~75x smaller than GA.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "plausible/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/plausible.png",
"env": [
{
"name": "BASE_URL",
"label": "BASE_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"description": "Secret key base - at least 64 bytes."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 604
},
{
"type": 1,
"title": "Plesk",
"description": "WebOps platform and hosting control panel",
"categories": [
"CMS"
],
"platform": "linux",
"note": "Default credentials: admin / changeme",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/plesk.png",
"image": "plesk/plesk:latest",
"ports": [
"21/tcp",
"80/tcp",
"443/tcp",
"8880/tcp",
"8443/tcp",
"8447/tcp"
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 605
},
{
"id": 606,
"type": 1,
"title": "Plex",
"name": "Plex",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/plex/config<br>mkdir -p /srv/lsio/plex/tv<br>mkdir -p /srv/lsio/plex/movies</p>",
"description": "[Plex](https://plex.tv) organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone Plex Media Server. Straightforward design and bulk actions mean getting things done faster.",
"categories": [
"Media Servers",
"Music",
"Audiobooks"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.png",
"image": "linuxserver/plex:latest",
"network": "host",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "VERSION",
"label": "VERSION",
"default": "docker",
"description": "Set whether to update plex or not - see Application Setup section."
},
{
"name": "PLEX_CLAIM",
"label": "PLEX_CLAIM",
"default": "",
"description": "Optionally you can obtain a claim token from https://plex.tv/claim and input here. Keep in mind that the claim tokens expire within 4 minutes. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/plex/config"
},
{
"container": "/tv",
"bind": "/srv/lsio/plex/tv"
},
{
"container": "/movies",
"bind": "/srv/lsio/plex/movies"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "plex",
"title": "Plex Media Server",
"description": "Plex organizes your video, music, and photo collections and streams them to all of your screens.",
"logo": "https://mediadepot.github.io/templates/img/plex-icon.png",
"image": "linuxserver/plex:latest",
"network": "host",
"categories": [
"Video",
"Music",
"Photos"
],
"privileged": true,
"ports": [],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/plex"
},
{
"container": "/data/tvshows",
"bind": "/media/storage/tvshows"
},
{
"container": "/data/movies",
"bind": "/media/storage/movies"
},
{
"container": "/data/music",
"bind": "/media/storage/music"
},
{
"container": "/transcode"
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
},
{
"name": "VERSION",
"label": "VERSION",
"default": "latest"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.plex.loadbalancer.server.port",
"value": "32400"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 607
},
{
"categories": [
"Downloaders",
"Video",
"Tools"
],
"description": "Simple automated way for users to request new content for Plex.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"label": "URL_BASE",
"name": "URL_BASE",
"default": "",
"preset": true
}
],
"image": "linuxserver/plexrequests:latest",
"logo": "https://raw.githubusercontent.com/linuxserver/beta-templates/master/lsiodev/img/plexrequests-icon.png",
"name": "plexrequests",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Plex Requests",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/PlexRequests"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 608
},
{
"type": 3,
"name": "plextraktsync",
"title": "PlexTraktSync",
"description": "A python script that syncs the movies, shows and ratings between trakt and Plex",
"logo": "https://mediadepot.github.io/templates/img/plex-icon.png",
"categories": [
"Documents",
"Tools"
],
"repository": {
"url": "https://github.com/mediadepot/templates",
"stackfile": "stacks/plextraktsync/docker-compose.yml"
},
"maintainer": "https://github.com/mediadepot/templates/",
"id": 609
},
{
"id": 610,
"type": 1,
"title": "Plone",
"description": "A free and open-source CMS built on top of Zope",
"note": "Default user and password are admin/admin",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/plone.png",
"image": "plone:latest",
"ports": [
"8080/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "PocketBase",
"name": "pocketbase",
"description": "Pocketbase, an entire backend (SQLite, auth, realtime subscriptions, file storage, admin UI) in one container. The simplest template in the catalogue: one service, one 2 GB volume.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "pocketbase/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/pocketbase.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 611
},
{
"categories": [
"Media",
"Downloaders"
],
"description": "Sleek, self-hosted podcast manager that automatically downloads new episodes, offers a web UI for listening, and provides a GPodder-compatible sync API for mobile apps like AntennaPod. GitHub: [SamTV12345/PodFetch](https://github.com/SamTV12345/PodFetch)",
"env": [
{
"default": "sqlite:///app/db/podcast.db",
"label": "DATABASE_URL",
"name": "DATABASE_URL"
},
{
"default": "300",
"label": "POLLING_INTERVAL",
"name": "POLLING_INTERVAL"
},
{
"default": "false",
"label": "BASIC_AUTH",
"name": "BASIC_AUTH"
},
{
"default": "",
"label": "USERNAME",
"name": "USERNAME"
},
{
"default": "",
"label": "PASSWORD",
"name": "PASSWORD"
},
{
"default": "false",
"label": "GPODDER_INTEGRATION_ENABLED",
"name": "GPODDER_INTEGRATION_ENABLED"
}
],
"image": "samuel19982/podfetch:latest",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/podfetch.png",
"name": "podfetch",
"note": "To use the GPodder sync API, set BASIC_AUTH=true together with USERNAME and PASSWORD, and set GPODDER_INTEGRATION_ENABLED=true. Documentation: https://samtv12345.github.io/PodFetch/",
"platform": "linux",
"ports": [
"8000:8000/tcp"
],
"restart_policy": "unless-stopped",
"title": "PodFetch",
"type": 1,
"volumes": [
{
"container": "/app/podcasts",
"bind": "/portainer/Files/AppData/PodFetch/podcasts"
},
{
"container": "/app/db",
"bind": "/portainer/Files/AppData/PodFetch/db"
}
],
"id": 612
},
{
"id": 613,
"type": 2,
"title": "Portainer Agent",
"description": "Manage all the resources in your Swarm cluster",
"note": "The agent will be deployed globally inside your cluster and available on port 9001.",
"categories": [
"Portainer"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/portainer.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/portainer-agent/docker-stack.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Mail"
],
"description": "Full stack mailserver solution with TLS support. POP3s, SMTP(s), IMAPs, RSPAMD, Clamav, Roundcube(HTTPS), SPF, DKIM with simple installation and web administration.",
"name": "poste.io",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/posteio.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Poste.io",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 614
},
{
"id": 615,
"type": 1,
"title": "PostgreSQL",
"description": "The most advanced open-source database",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/postgres.png",
"image": "postgres:latest",
"env": [
{
"name": "POSTGRES_USER",
"label": "Superuser"
},
{
"name": "POSTGRES_PASSWORD",
"label": "Superuser password"
}
],
"ports": [
"5432/tcp"
],
"volumes": [
{
"container": "/var/lib/postgresql/data"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Social"
],
"description": " An alternative to: Buffer.com, Hypefury, Twitter Hunter, etc...Postiz offers everything you need to manage your social media posts,build an audience, capture leads, and grow your business.",
"logo": "https://docs.postiz.com/_next/image?url=%2Flogo%2Fdark.png&w=256&q=75",
"name": "Postiz",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/postiz.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Postiz",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 616
},
{
"id": 617,
"type": 1,
"title": "Ppsspp",
"name": "Ppsspp",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ppsspp/config</p>",
"description": "[PPSSPP](https://www.ppsspp.org/) is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo Wii U, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series and Symbian with a focus on speed and portability.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ppsspp-logo.png",
"image": "linuxserver/ppsspp:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ppsspp/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Prefect",
"name": "prefect",
"description": "Prefect 3 - workflow orchestration for Python people: flows are decorated functions, deployments schedule them, and the UI shows every run. The server here holds UI/API/schedules; your flow code runs in WORKERS that connect outbound.",
"categories": [
"Automation Jobs"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "prefect/compose.yaml"
},
"env": [
{
"name": "PREFECT_AUTH_STRING",
"label": "PREFECT_AUTH_STRING",
"description": "Basic auth, \"user:password\" - clients use the same value in PREFECT_API_AUTH_STRING.",
"default": "admin:"
},
{
"name": "PREFECT_SERVER_UI_API_URL",
"label": "PREFECT_SERVER_UI_API_URL",
"description": "Browser-facing API URL (https://<domain>/api on Miget).",
"default": "http://localhost:5000/api"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 618
},
{
"type": 3,
"title": "PrestaShop",
"name": "prestashop",
"description": "PrestaShop 9 - the open-source storefront that runs a huge share of European e-commerce: catalogue, checkout, multi-language/multi-currency, and a vast module marketplace.",
"categories": [
"CMS Publishing"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "prestashop/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/prestashop.png",
"env": [
{
"name": "ADMIN_MAIL",
"label": "ADMIN_MAIL",
"description": "Back-office login (at /admin).",
"default": "admin@example.com"
},
{
"name": "ADMIN_PASSWD",
"label": "ADMIN_PASSWD"
},
{
"name": "PS_COUNTRY",
"label": "PS_COUNTRY",
"default": "US"
},
{
"name": "PS_DOMAIN",
"label": "PS_DOMAIN",
"description": "The shop's domain - BAKED INTO THE DATABASE at install time.",
"default": "localhost:5000"
},
{
"name": "PS_ENABLE_SSL",
"label": "PS_ENABLE_SSL",
"default": "0"
},
{
"name": "PS_LANGUAGE",
"label": "PS_LANGUAGE",
"default": "en"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 619
},
{
"categories": [
"Shopping"
],
"description": "A self-hosted price tracking application that monitors product prices from any website.Get notified when prices drop, hit your target price, or items come back in stock.",
"logo": "https://github.com/clucraft/PriceGhost/raw/main/assets/header.svg",
"name": "priceghost",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/priceghost.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "PriceGhost",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 620
},
{
"categories": [
"VPN",
"Tools",
"Other",
"Web"
],
"description": "Pritunl container built on Alpine Linux. Supports IPv6 and running behind a reverse proxy. This container requires an external Mongo DB and should be run via Docker Compose or other orchestration.",
"env": [
{
"default": "false",
"label": "REVERSE_PROXY",
"name": "REVERSE_PROXY"
},
{
"label": "PRITUNL_OPTS",
"name": "PRITUNL_OPTS"
},
{
"default": "mongodb://mongo:27017/pritunl",
"label": "MONGODB_URI",
"name": "MONGODB_URI"
},
{
"default": "false",
"label": "WIREGUARD",
"name": "WIREGUARD"
}
],
"logo": "https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/pritunl/Images/pritunl.png",
"name": "pritunl",
"note": "Documentation on this containier can be found here: <a href=https://hub.docker.com/r/goofball222/pritunl>https://hub.docker.com/r/goofball222/pritunl</a>",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/pritunl.yml",
"url": "https://github.com/SelfhostedPro/selfhosted_templates"
},
"title": "Pritunl",
"type": 3,
"maintainer": "https://github.com/SelfhostedPro/selfhosted_templates/",
"id": 621
},
{
"categories": [
"Cloud",
"Productivity",
"Tools",
"Web"
],
"description": "PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data!\n ",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "privatebin/nginx-fpm-alpine:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/privatebin.png",
"name": "privatebin",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"privileged": true,
"restart_policy": "unless-stopped",
"title": "PrivateBin",
"type": 1,
"volumes": [
{
"container": "/srv/data",
"bind": "/portainer/Files/AppData/PrivateBin"
},
{
"container": "/srv/cfg",
"bind": "/portainer/Files/AppData/Config/PrivateBin"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://privatebin.info/\" target=\"_blank\">https://privatebin.info/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/privatebin/nginx-fpm-alpine\" target=\"_blank\">https://hub.docker.com/r/privatebin/nginx-fpm-alpine</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 622
},
{
"id": 623,
"type": 3,
"title": "Pro Mosquitto with Management Center",
"description": "Commercial-grade Mosquitto MQTT broker with Management Center",
"note": "The Mosquitto broker password must be at least 12 characters.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cedalo.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/cedalo-mosquitto-mc/docker-compose.yml"
},
"env": [
{
"name": "CEDALO_LICENSE_KEY",
"label": "License key"
},
{
"name": "CEDALO_MOSQUITTO_PASSWORD",
"label": "Mosquitto password"
},
{
"name": "CEDALO_MC_USER",
"label": "Management Center username",
"default": "cedalo"
},
{
"name": "CEDALO_MC_PASSWORD",
"label": "Management Center password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 624,
"type": 1,
"title": "Projectsend",
"name": "Projectsend",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/projectsend/config<br>mkdir -p /srv/lsio/projectsend/data</p>",
"description": "[Projectsend](http://www.projectsend.org) is a self-hosted application that lets you upload files and assign them to specific clients that you create yourself. Secure, private and easy. No more depending on external services or e-mail to send those files.",
"categories": [
"File Sharing"
],
"platform": "linux",
"logo": "http://www.projectsend.org/wp-content/themes/projectsend/img/screenshots.png",
"image": "linuxserver/projectsend:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/projectsend/config"
},
{
"container": "/data",
"bind": "/srv/lsio/projectsend/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Email",
"Productivity",
"Tools"
],
"description": "This is an unofficial Docker container of the ProtonMail Bridge. Some of the scripts are based on Hendrik Meyer's work.",
"image": "shenxn/protonmail-bridge:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/protonmail-bridge.png",
"name": "protonmail-bridge",
"note": "Please refer to the documentation <a href='https://hub.docker.com/r/shenxn/protonmail-bridge'/>here</a> to set this up.",
"platform": "linux",
"ports": [
"143/tcp",
"25/tcp"
],
"restart_policy": "unless-stopped",
"title": "ProtonMail Bridge",
"type": 1,
"volumes": [
{
"container": "/root",
"bind": "/portainer/Files/AppData/ProtonMail-Bridge"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 625
},
{
"id": 626,
"type": 1,
"title": "Prowlarr",
"name": "Prowlarr",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/prowlarr/config</p>",
"description": "[Prowlarr](https://github.com/Prowlarr/Prowlarr) is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, and Readarr offering complete management of your indexers with no per app Indexer setup required (we do it all).",
"categories": [
"Indexers"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/prowlarr-banner.png",
"image": "linuxserver/prowlarr:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"9696:9696/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/prowlarr/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Social"
],
"description": "Use Tiktok with an alternative frontend, inspired by Nitter.",
"name": "proxitok",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/proxitok.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "ProxiTok",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 627
},
{
"categories": [
"Tools",
"Networking"
],
"description": "Open-source fuel and EV route planner with live prices from 22 countries. Source: https://github.com/GeiserX/Pumperly",
"env": [
{
"default": "ES",
"label": "Default country (ISO 3166-1 alpha-2) for the initial map view",
"name": "PUMPERLY_DEFAULT_COUNTRY"
}
],
"logo": "https://avatars.githubusercontent.com/u/9169332",
"name": "pumperly",
"note": "Fuel prices for the default country work out of the box. Route planning and address autocomplete are DISABLED unless you add external VALHALLA_URL (routing) and PHOTON_URL (geocoding) services by editing the stack; EV charging data needs an OpenChargeMap key (PUMPERLY_OCM_API_KEY).",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/pumperly.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Pumperly",
"type": 3,
"id": 628
},
{
"type": 1,
"name": "pureftp",
"title": "Pure-FTP Server",
"description": "Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. ",
"logo": "https://mediadepot.github.io/templates/img/pureftpd-icon.jpg",
"image": "stilliard/pure-ftpd:hardened",
"network": "host",
"categories": [
"Other",
"Utilities"
],
"ports": [
"21/tcp",
"30000/tcp",
"30001/tcp",
"30002/tcp",
"30003/tcp",
"30004/tcp",
"30005/tcp",
"30006/tcp",
"30007/tcp",
"30008/tcp",
"30009/tcp"
],
"volumes": [
{
"container": "/etc/pure-ftpd/passwd",
"bind": "/opt/mediadepot/apps/pureftp"
},
{
"container": "/data/tvshows",
"bind": "/media/storage/tvshows"
},
{
"container": "/data/movies",
"bind": "/media/storage/movies"
},
{
"container": "/data/music",
"bind": "/media/storage/music"
},
{
"container": "/data/ebooks",
"bind": "/media/storage/ebooks"
},
{
"container": "/data/photos",
"bind": "/media/storage/photos"
},
{
"container": "/data/documents",
"bind": "/media/storage/documents"
},
{
"container": "/data/downloads",
"bind": "/media/storage/downloads"
},
{
"container": "/data/software",
"bind": "/media/storage/software"
},
{
"container": "/data/blackhole",
"bind": "/media/temp/blackhole"
},
{
"container": "/data/processing",
"bind": "/media/temp/processing"
}
],
"env": [
{
"name": "FTP_USER_NAME",
"label": "FTP_USER_NAME",
"default": "depot",
"preset": true
},
{
"name": "FTP_USER_PASS",
"label": "FTP_USER_PASS",
"default": "badpass"
},
{
"name": "FTP_USER_HOME",
"label": "FTP_USER_HOME",
"default": "/data",
"preset": true
},
{
"name": "FTP_USER_GID",
"label": "FTP_USER_GID",
"default": "15000",
"preset": true
},
{
"name": "FTP_USER_UID",
"label": "FTP_USER_UID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
},
{
"name": "PUBLICHOST",
"label": "PUBLICHOST",
"default": "localhost"
}
],
"labels": [],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 629
},
{
"categories": [
"Metrics"
],
"description": "This is an exporter that exposes information gathered from Proxmox VE node for use by the Prometheus monitoring system.",
"name": "pve-exporter",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/pve-exporter.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "pve-exporter",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 630
},
{
"id": 631,
"type": 1,
"title": "Pwndrop",
"name": "Pwndrop",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pwndrop/config</p>",
"description": "[Pwndrop](https://github.com/kgretzky/pwndrop) is a self-deployable file hosting service for sending out red teaming payloads or securely sharing your private files over HTTP and WebDAV.",
"categories": [
"File Sharing",
"Security"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/kgretzky/pwndrop/master/media/pwndrop-logo-512.png",
"image": "linuxserver/pwndrop:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SECRET_PATH",
"label": "SECRET_PATH",
"default": "/pwndrop",
"description": "Secret path for admin access. Defaults to `/pwndrop`. This parameter only takes effect during initial install; it can later be changed in the web gui. [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pwndrop/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 632,
"type": 1,
"title": "Pycharm",
"name": "Pycharm",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pycharm/config</p>",
"description": "[PyCharm](https://www.jetbrains.com/pycharm/) offers out-of-the-box support for Python, databases, Jupyter, Git, Conda, PyTorch, TensorFlow, Hugging Face, Django, Flask, FastAPI, and more.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pycharm-logo.png",
"image": "linuxserver/pycharm:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pycharm/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Cloud"
],
"description": "Pydio (formerly AjaXplorer) is a mature open source software solution for file sharing and synchronization. With intuitive user interfaces (web / mobile / desktop), Pydio provides enterprise-grade features to gain back control and privacy of your data: user directory connectors, legacy filesystems drivers, comprehensive admin interface, and much more.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/pydio:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/pydio-icon.png",
"name": "pydio",
"platform": "linux",
"ports": [
"443/tcp"
],
"restart_policy": "unless-stopped",
"title": "Pydio",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Pydio"
},
{
"container": "/data",
"bind": "/portainer/Files/AppData/Pydio"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 633
},
{
"id": 634,
"type": 1,
"title": "Pydio-cells",
"name": "Pydio-cells",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pydio-cells/config</p>",
"description": "[Pydio-cells](https://pydio.com/) is the nextgen file sharing platform for organizations. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture.",
"categories": [
"File Sharing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pydio-cells-icon.png",
"image": "linuxserver/pydio-cells:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "EXTERNALURL",
"label": "EXTERNALURL",
"default": "yourdomain.url",
"description": "The external url you would like to use to access Pydio Cells (Can be https://domain.url or https://IP:PORT)."
},
{
"name": "SERVER_IP",
"label": "SERVER_IP",
"default": "0.0.0.0",
"description": "Enter the LAN IP of the docker server. Required for local access by IP, added to self signed cert as SAN (not required if accessing only through reverse proxy). [OPTIONAL]"
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pydio-cells/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 635,
"type": 1,
"title": "Pyload-ng",
"name": "Pyload-ng",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/pyload-ng/config<br>mkdir -p /srv/lsio/pyload-ng/downloads</p>",
"description": "[pyLoad](https://pyload.net/) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/pyload-logo.png",
"image": "linuxserver/pyload-ng:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8000:8000/tcp",
"9666:9666/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/pyload-ng/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/pyload-ng/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 636,
"type": 1,
"title": "Qbittorrent",
"name": "Qbittorrent",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/qbittorrent/config<br>mkdir -p /srv/lsio/qbittorrent/downloads</p>",
"description": "The [Qbittorrent](https://www.qbittorrent.org/) is a bittorrent client programmed in C++ / Qt that uses libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/qbittorrent-icon.png",
"image": "linuxserver/qbittorrent:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "WEBUI_PORT",
"label": "WEBUI_PORT",
"default": "8080",
"description": "for changing the port of the web UI, see below for explanation"
},
{
"name": "TORRENTING_PORT",
"label": "TORRENTING_PORT",
"default": "6881",
"description": "for changing the port of tcp/udp connection, see below for explanation"
}
],
"ports": [
"8080:8080/tcp",
"6881:6881/tcp",
"6881:6881/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/qbittorrent/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/qbittorrent/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 637,
"type": 1,
"title": "Qdirstat",
"name": "Qdirstat",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/qdirstat/config<br>mkdir -p /srv/lsio/qdirstat/data</p>",
"description": "[QDirStat](https://github.com/shundhammer/qdirstat) Qt-based directory statistics: KDirStat without any KDE -- from the author of the original KDirStat.",
"categories": [
"Storage"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/qdirstat-logo.png",
"image": "linuxserver/qdirstat:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/qdirstat/config"
},
{
"container": "/data",
"bind": "/srv/lsio/qdirstat/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Qdrant",
"name": "qdrant",
"description": "Qdrant vector database, single container + volume, internal-only by default (no API key is configured; the project network is the boundary).",
"categories": [
"Search Vectors"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "qdrant/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/qdrant.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 638
},
{
"id": 639,
"type": 1,
"title": "Qemu-static",
"name": "Qemu-static",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/qemu-static/config</p>",
"description": "# This container needs special attention. Please check https://hub.docker.com/r/linuxserver/qemu-static for details.",
"categories": [
"Docker"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/qemu-logo.png",
"image": "linuxserver/qemu-static:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/qemu-static/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Downloaders"
],
"description": "A docker image with qBittorrent and the Flood UI, also optional WireGuard VPN support. See the official documentation for WireGuard VPN support at https://hotio.dev/containers/qflood/",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "002",
"label": "UMASK",
"name": "UMASK"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
},
{
"default": "false",
"label": "FLOOD_AUTH",
"name": "FLOOD_AUTH"
}
],
"image": "hotio/qflood:latest",
"logo": "https://raw.githubusercontent.com/jesec/flood/master/flood.svg",
"name": "qflood",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hotio.dev/containers/qflood/\" target=\"_blank\">https://hotio.dev/containers/qflood/</a><br><b>Official Docker Documentation: </b><a href=\"https://hotio.dev/containers/qflood/\" target=\"_blank\">https://hotio.dev/containers/qflood/</a><br><br><br>The default qBittorrent username is admin and the default password is adminadmin.",
"platform": "linux",
"ports": [
"3000:3000/tcp",
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "qFlood",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/qFlood"
},
{
"container": "/app/qBittorrent/downloads",
"bind": "/portainer/Downloads"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 640
},
{
"categories": [
"Messenger"
],
"description": "Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core - much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. Blowfish support and optional web-ui included.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/quassel-core:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/quassel-core-icon.png",
"name": "quassel-core",
"platform": "linux",
"ports": [
"4242:4242/tcp"
],
"restart_policy": "unless-stopped",
"title": "Quassel IRC",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Quassel-core"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 641
},
{
"description": "Quassel IRC is a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. Blowfish support and optional web-ui included.",
"env": [
{
"label": "PGID",
"name": "PGID",
"default": "1000",
"preset": true
},
{
"label": "PUID",
"name": "PUID",
"default": "1000",
"preset": true
},
{
"label": "TZ",
"name": "TZ",
"default": "America/Chicago",
"preset": true
}
],
"image": "linuxserver/quassel-core:latest",
"logo": "https://raw.githubusercontent.com/thesugarat/portainer_templates-1/master/Images/quassel-core-icon.png",
"platform": "linux",
"ports": [
"4242/tcp"
],
"title": "quassel-core",
"type": 1,
"volumes": [
{
"container": "/config"
}
],
"maintainer": "https://github.com/dnburgess/self-hosted-template/",
"categories": [
"Messenger"
],
"id": 642
},
{
"id": 643,
"type": 1,
"title": "RabbitMQ (container)",
"description": "Highly reliable enterprise messaging system",
"categories": [
"Messaging"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/rabbitmq.png",
"image": "rabbitmq:latest",
"ports": [
"5671/tcp",
"5672/tcp"
],
"volumes": [
{
"container": "/var/lib/rabbitmq"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "RabbitMQ (stack)",
"name": "rabbitmq",
"description": "3-node RabbitMQ 4.x cluster (quorum-queue ready), deployable locally with plain Docker Compose or to Miget as a compose stack.",
"categories": [
"Streaming Messaging"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "rabbitmq/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/rabbitmq.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 644
},
{
"categories": [
"Network"
],
"description": "Plan your rack layout. Drag your devices in, move them around, export it. It runs in your browser. You can close the tab whenever you want",
"logo": "https://github.com/RackulaLives/Rackula/raw/main/assets/Rackula-lockup-dark.svg",
"name": "rackula",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/rackula.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Rackula",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 645
},
{
"id": 646,
"type": 1,
"title": "Radarr",
"name": "Radarr",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/radarr/config<br>mkdir -p /srv/lsio/radarr/movies<br>mkdir -p /srv/lsio/radarr/downloads</p>",
"description": "[Radarr](https://github.com/Radarr/Radarr) - A fork of Sonarr to work with movies \u00e0 la Couchpotato.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr.png",
"image": "linuxserver/radarr:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"7878:7878/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/radarr/config"
},
{
"container": "/movies",
"bind": "/srv/lsio/radarr/movies"
},
{
"container": "/downloads",
"bind": "/srv/lsio/radarr/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 647,
"type": 1,
"title": "Raneto",
"name": "Raneto",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/raneto/config</p>",
"description": "[Raneto](http://raneto.com/) - is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/raneto-logo.png",
"image": "linuxserver/raneto:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/raneto/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Monitor",
"Tools"
],
"description": "Monitor your Raspberry Pi and Dockers using Grafana developed by oijkn. Please download grafana configs from his git https://github.com/oijkn/Docker-Raspberry-PI-Monitoring",
"env": [
{
"default": "15d",
"label": "PROMETHEUS_RETENTION",
"name": "PROMETHEUS_RETENTION"
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/rpi_monitor.png",
"name": "raspberrypi-docker-monitor",
"platform": "linux",
"ports": [
"3000:3000/tcp"
],
"repository": {
"stackfile": "stack/raspberrypi-monitoring.yml",
"url": "https://github.com/pi-hosted/pi-hosted"
},
"restart_policy": "unless-stopped",
"title": "Raspberry Pi Docker Monitor",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/rpi_docker_monitor.md\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted/blob/master/docs/rpi_docker_monitor.md</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/rpi_docker_monitor.md\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted/blob/master/docs/rpi_docker_monitor.md</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/rpi_docker_monitor.md\" target=\"_blank\">rpi_docker_monitor.md</a></h3><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/rpi_docker_monitor.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/rpi_docker_monitor.sh | bash</h3><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=IoD3vFuep64&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=8 target=\"_blank\">Novaspirit Tech - Raspberry Pi Docker Monitoring</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 648
},
{
"id": 649,
"type": 1,
"title": "Rawtherapee",
"name": "Rawtherapee",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/rawtherapee/config</p>",
"description": "[RawTherapee](https://rawtherapee.com/) is a free, cross-platform raw image processing program!",
"categories": [
"Image Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rawtherapee-logo.png",
"image": "linuxserver/rawtherapee:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/rawtherapee/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "rclone",
"title": "Rclone Config Backup",
"description": "Rclone is a command line program to sync files and directories to and from cloud providers (Dropbox, GDrive, Box, etc)",
"logo": "https://mediadepot.github.io/templates/img/rclone.png",
"image": "mediadepot/rclone:latest",
"categories": [
"Backup",
"Cloud",
"Other",
"Tools"
],
"ports": [],
"volumes": [
{
"container": "/srv/rclone/config",
"bind": "/opt/mediadepot/apps/rclone"
},
{
"container": "/mnt/data",
"bind": "/opt/mediadepot/apps"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 650
},
{
"categories": [
"Web",
"Tools"
],
"description": "Static, config-driven link-in-bio page. Profile card, tappable links, vCard download, QR share \u2014 all driven from a single YAML file baked at build time. Source: https://github.com/kartikeychoudhary/Reach-me-out",
"env": [],
"image": "kartikey31choudhary/reach-me-out:latest",
"logo": "https://raw.githubusercontent.com/kartikeychoudhary/Reach-me-out/main/public/logo.svg",
"name": "reach-me-out",
"note": "Mount your own config.yaml to /usr/share/nginx/html/config.yaml (read-only) to customize name, links and theme. See https://github.com/kartikeychoudhary/Reach-me-out for the YAML schema and examples.",
"platform": "linux",
"ports": [
"8080:80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Reach Me Out",
"type": 1,
"volumes": [
{
"container": "/usr/share/nginx/html/config.yaml",
"bind": "/path/to/config.yaml",
"readonly": true
}
],
"id": 651
},
{
"categories": [
"Tools"
],
"description": "A one-of-a-kind resume builder that's not out to get your data. Completely secure, customizable, portable, open-source and free forever.",
"image": "amruthpillai/reactive-resume:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/reactiveresume.png",
"name": "reactive-resume",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Reactive-Resume",
"type": 1,
"volumes": [
{
"container": "/usr/src/app",
"bind": "/portainer/Files/AppData/Config/ReactiveResume"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 652
},
{
"type": 1,
"name": "readarr",
"title": "Readarr (container)",
"description": "Readarr - Book Manager and Automation (Sonarr for Ebooks)",
"logo": "https://mediadepot.github.io/templates/img/readarr-logo.png",
"image": "ghcr.io/linuxserver/readarr:nightly",
"categories": [
"Downloaders",
"Books"
],
"ports": [
"8787/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/readarr"
},
{
"container": "/downloads",
"bind": "/media/storage/downloads/ebooks"
},
{
"container": "/books",
"bind": "/media/storage/ebooks"
},
{
"container": "/blackhole",
"bind": "/media/temp/blackhole/ebooks"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.readarr.loadbalancer.server.port",
"value": "8787"
},
{
"name": "traefik.http.routers.readarr.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.readarr.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 653
},
{
"categories": [
"Books"
],
"description": "Readarr is a ebook collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new books from your favorite authors and will interface with clients and indexers to grab, sort, and rename them.",
"logo": "https://readarr.com/img/logo.png",
"name": "readarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/readarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Readarr (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 654
},
{
"id": 655,
"type": 1,
"title": "Readeck",
"name": "readeck",
"description": "Read-it-later app that saves the full text and images of web pages, with highlights, labels, collections, full-text search and e-book export. Source: https://codeberg.org/readeck/readeck",
"categories": [
"Productivity",
"Books"
],
"platform": "linux",
"logo": "https://codeberg.org/readeck/readeck/raw/branch/main/web/media/logo-square.svg",
"image": "codeberg.org/readeck/readeck:latest",
"restart_policy": "unless-stopped",
"ports": [
"8097:8000/tcp"
],
"volumes": [
{
"container": "/readeck"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8097</code> and create your account. Whoever gets there first becomes the admin, and there are no open sign-ups after that, the admin adds users under Settings --&gt; Users. The <a href=\"https://readeck.org/en/extension\" target=\"_blank\">browser extension</a> saves pages in one click. Readeck won't fetch pages on private addresses, so links to things on your LAN save without their content. The settings, generated secret key, SQLite database and every saved page live in the volume. Docs: <a href=\"https://readeck.org/en/docs/\" target=\"_blank\">readeck.org</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 656,
"type": 1,
"title": "Redis (container)",
"description": "Open-source in-memory data structure store",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png",
"image": "redis:latest",
"ports": [
"6379/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Redis (stack)",
"name": "redis",
"description": "Redis - the in-memory data store used for caching, queues, pub/sub, streams, rate-limiting, and rich data structures. This is a single node, password-protected, with append-only persistence on a volume.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "redis/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/redis.png",
"env": [
{
"name": "REDIS_PASSWORD",
"label": "REDIS_PASSWORD",
"description": "Redis password (requirepass)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 657
},
{
"type": 3,
"title": "Redis Cluster (stack)",
"name": "redis-cluster",
"description": "Redis Cluster - horizontally-scaled Redis where the keyspace is partitioned across multiple master shards, each with a replica. This template runs 6 nodes (3 masters + 3 replicas) and a one-shot init that forms the cluster.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "redis-cluster/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/redis.png",
"env": [
{
"name": "REDIS_PASSWORD",
"label": "REDIS_PASSWORD",
"description": "Shared Redis password (all nodes + the cluster-forming init)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 658
},
{
"id": 659,
"type": 2,
"title": "Redis Cluster (swarm)",
"description": "Open-source in-memory data structure store - Cluster mode",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/redis-cluster/docker-stack.yaml"
},
"env": [
{
"name": "REDIS_PASSWD",
"label": "Redis password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Redis Sentinel",
"name": "redis-sentinel",
"description": "Redis Sentinel - high availability for Redis with automatic failover. This template runs one master, two replicas, and three sentinels that watch the master and promote a replica if it goes down.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "redis-sentinel/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/redis.png",
"env": [
{
"name": "REDIS_PASSWORD",
"label": "REDIS_PASSWORD",
"description": "Shared Redis password (master, replicas, and sentinel auth)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 660
},
{
"id": 661,
"type": 1,
"title": "Redmine",
"description": "Open-source project management tool",
"note": "Default user and password are admin/admin",
"categories": [
"Project Management"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redmine.png",
"image": "redmine:latest",
"ports": [
"3000/tcp"
],
"volumes": [
{
"container": "/usr/src/redmine/files"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Redpanda",
"name": "redpanda",
"description": "3-broker Redpanda cluster (Kafka-compatible, no ZooKeeper/JVM) with Redpanda Console, deployable locally with plain Docker Compose or to Miget as a compose stack.",
"categories": [
"Streaming Messaging"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "redpanda/compose.yaml"
},
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 662
},
{
"id": 663,
"type": 1,
"title": "Registry",
"description": "Docker image registry",
"categories": [
"Docker"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/registry.png",
"image": "registry:latest",
"ports": [
"5000/tcp"
],
"volumes": [
{
"container": "/var/lib/registry"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 664,
"type": 1,
"title": "Registry (cache)",
"description": "Docker image registry configured as a DockerHub pull through cache",
"categories": [
"Docker"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/registry.png",
"image": "registry:latest",
"ports": [
"5000/tcp"
],
"volumes": [
{
"container": "/var/lib/registry"
}
],
"env": [
{
"name": "REGISTRY_PROXY_REMOTEURL",
"default": "https://registry-1.docker.io",
"preset": true
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 665,
"type": 1,
"title": "Remmina",
"name": "Remmina",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/remmina/config</p>",
"description": "[Remmina](https://remmina.org/) is a remote desktop client written in GTK, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large or tiny screens. Remmina supports multiple network protocols, in an integrated and consistent user interface. Currently RDP, VNC, SPICE, SSH and EXEC are supported.",
"categories": [
"Remote Desktop"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/remmina-icon.png",
"image": "linuxserver/remmina:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/remmina/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Remote Control"
],
"description": "Remotely is a remote control and remote scripting solution, built with .NET 6, Blazor, and SignalR Core.",
"name": "Remotely",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/remotely.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Remotely",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 666
},
{
"type": 3,
"title": "ReplayHaven",
"name": "replayhaven",
"description": "Game clip archive: a Windows client names every clip with a local AI, this server keeps the originals and streams them to your devices. Source: https://github.com/SauerExe/ReplayHaven",
"note": "Source-available (PolyForm Noncommercial): free for personal use. Create the access key with <code>openssl rand -hex 24</code>; after the first start, the container log shows a setup link for your account. The server needs no GPU; the AI runs on the gaming PC.",
"categories": [
"Games",
"Video",
"Media"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/SauerExe/ReplayHaven/main/desktop/icon-source.png",
"restart_policy": "unless-stopped",
"repository": {
"url": "https://github.com/SauerExe/ReplayHaven",
"stackfile": "compose.yaml"
},
"env": [
{
"name": "REPLAYHAVEN_ACCESS_TOKEN",
"label": "Access key (at least 24 characters)",
"description": "Needed once to create the first account, e.g. from openssl rand -hex 24."
},
{
"name": "REPLAYHAVEN_PUBLIC_ORIGIN",
"label": "Server address as opened in the browser",
"default": "http://192.168.1.20:8787",
"description": "Protocol, host and port exactly as you open ReplayHaven."
},
{
"name": "REPLAYHAVEN_HOST_PORT",
"label": "Port on this host",
"default": "8787"
},
{
"name": "REPLAYHAVEN_CONTENT_LANGUAGE",
"label": "Language of game descriptions",
"select": [
{
"text": "English",
"value": "en",
"default": true
},
{
"text": "Deutsch",
"value": "de"
}
]
}
],
"maintainer": "https://github.com/SauerExe/ReplayHaven/",
"id": 667
},
{
"id": 668,
"type": 1,
"title": "Resilio-sync",
"name": "Resilio-sync",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/resilio-sync/config<br>mkdir -p /srv/lsio/resilio-sync/downloads<br>mkdir -p /srv/lsio/resilio-sync/sync</p>",
"description": "[Resilio-sync](https://www.resilio.com/individuals/) (formerly BitTorrent Sync) uses the BitTorrent protocol to sync files and folders between all of your devices. There are both free and paid versions, this container supports both. There is an official sync image but we created this one as it supports user mapping to simplify permissions for volumes.",
"categories": [
"Backup"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/resilio-sync-logo.png",
"image": "linuxserver/resilio-sync:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8888:8888/tcp",
"55555:55555/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/resilio-sync/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/resilio-sync/downloads"
},
{
"container": "/sync",
"bind": "/srv/lsio/resilio-sync/sync"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 669,
"type": 1,
"title": "Retroarch",
"name": "Retroarch",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/retroarch/config</p>",
"description": "[RetroArch](https://retroarch.com/) is a frontend for emulators, game engines and media players. It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/retroarch-logo.png",
"image": "linuxserver/retroarch:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/retroarch/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Presentation"
],
"description": "It is an open source HTML presentation framework. It enables anyone with a web browser to create fully featured and beautiful presentations for free | Production Mode",
"image": "cloudogu/reveal.js:latest",
"logo": "https://pbs.twimg.com/profile_images/1260911777929400325/_ClbHpsz_400x400.jpg",
"name": "revealjs",
"platform": "linux",
"ports": [
"6060:8080/tcp"
],
"restart_policy": "always",
"title": "Reveal.js",
"type": 1,
"volumes": [
{
"container": "/reveal/docs/slides",
"bind": "/portainer/Files/AppData/Config/revealjs/docs/slides"
},
{
"container": "/resources",
"bind": "/portainer/Files/AppData/Config/revealjs/scripts/test"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 670
},
{
"type": 3,
"title": "Rocket.Chat",
"name": "rocketchat",
"description": "Rocket.Chat - the open-source team communication platform: channels, DMs, threads, voice/video, an apps marketplace, and omnichannel (livechat/email/social). MIT core. The app is stateless - all state lives in MongoDB.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "rocketchat/compose.yaml"
},
"env": [
{
"name": "MONGO_URL",
"label": "MONGO_URL",
"description": "MongoDB replica set.",
"default": "mongodb://mongo:27017/rocketchat?replicaSet=rs0"
},
{
"name": "ROOT_URL",
"label": "ROOT_URL",
"description": "The app's public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/rocket-chat.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 671
},
{
"categories": [
"Entertainment"
],
"description": "A beautiful, powerful, self-hosted rom manager.",
"logo": "https://raw.githubusercontent.com/rommapp/romm/release/.github/resources/romm_complete.png",
"name": "romm",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/romm.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "RomM",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 672
},
{
"type": 3,
"title": "Roundcube",
"name": "roundcube",
"description": "Roundcube - the standard open-source webmail client: folders, search, contacts, filters, and a clean responsive skin.",
"categories": [
"Email Newsletters"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "roundcube/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/roundcube.png",
"env": [
{
"name": "IMAP_HOST",
"label": "IMAP_HOST",
"description": "Your existing mail provider (this is a CLIENT - bring any IMAP/SMTP).",
"default": "ssl://imap.fastmail.com"
},
{
"name": "IMAP_PORT",
"label": "IMAP_PORT",
"default": "993"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_SERVER",
"label": "SMTP_SERVER",
"default": "tls://smtp.fastmail.com"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 673
},
{
"id": 674,
"type": 1,
"title": "Rpcs3",
"name": "Rpcs3",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/rpcs3/config</p>",
"description": "[RPCS3](https://rpcs3.net/) is a multi-platform open-source Sony PlayStation 3 emulator and debugger written in C++ for Windows, Linux, macOS and FreeBSD.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rpcs3-logo.png",
"image": "linuxserver/rpcs3:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/rpcs3/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Remote Control"
],
"description": "RPort is free remote access and remote management, now acquired by RealVNC",
"logo": "https://images.g2crowd.com/uploads/product/image/large_detail/large_detail_634014ae8000cebecce8a571f9ea316f/cloudradar-gmbh-rport.png",
"name": "Rport",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/rport.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Rport",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 675
},
{
"id": 676,
"type": 1,
"title": "Rsnapshot",
"name": "Rsnapshot",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/rsnapshot/config<br>mkdir -p /srv/lsio/rsnapshot/.snapshots<br>mkdir -p /srv/lsio/rsnapshot/data</p>",
"description": "[Rsnapshot](http://www.rsnapshot.org/) is a filesystem snapshot utility based on rsync. rsnapshot makes it easy to make periodic snapshots of local machines, and remote machines over ssh. The code makes extensive use of hard links whenever possible, to greatly reduce the disk space required.",
"categories": [
"Backup"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rsnapshot.png",
"image": "linuxserver/rsnapshot:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/rsnapshot/config"
},
{
"container": "/.snapshots",
"bind": "/srv/lsio/rsnapshot/.snapshots"
},
{
"container": "/data",
"bind": "/srv/lsio/rsnapshot/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 677,
"type": 1,
"title": "RSSHub",
"name": "rsshub",
"description": "RSS feed maker for thousands of sites that don't have a feed of their own, like GitHub issues, news sites, forums and shops. Source: https://github.com/DIYgod/RSSHub",
"categories": [
"Web",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/DIYgod/RSSHub/master/public/logo.png",
"image": "diygod/rsshub:latest",
"restart_policy": "unless-stopped",
"ports": [
"1200:1200/tcp"
],
"env": [
{
"name": "ACCESS_KEY",
"label": "Access key",
"description": "Optional. Set one and every feed url needs it, like /hackernews?key=yourkey. Leave blank and anyone who can reach it can use it."
}
],
"note": "Open <code>http://&lt;your-host&gt;:1200</code> to check it's up, then add feeds to your reader as paths on it, like <code>/github/issue/DIYgod/RSSHub</code>. Every route is listed in the <a href=\"https://docs.rsshub.app\" target=\"_blank\">docs</a>. There's no login, so set an access key if it faces the internet. Nothing to back up, feeds are cached in memory. Some routes need a browser, and for those swap the image tag to <code>chromium-bundled</code>.",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Remote Control"
],
"description": "Rust Desk is an Open source virtual or remote desktop infrastructure for everyone!",
"logo": "https://images.sftcdn.net/images/t_app-logo-xl,f_auto,dpr_2/p/735e7f11-0f1e-492d-bfa4-4be6eead5179/3131069239/rustdesk-unnamed.png",
"name": "Rust Desk",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/rustdesk.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Rust Desk (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 678
},
{
"id": 679,
"type": 1,
"title": "Rustdesk (container)",
"name": "Rustdesk",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/rustdesk/config</p>",
"description": "[RustDesk](https://rustdesk.com/) is a full-featured open source remote control alternative for self-hosting and security with minimal configuration.",
"categories": [
"Remote Desktop"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rustdesk-logo.png",
"image": "linuxserver/rustdesk:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/rustdesk/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 680,
"type": 3,
"title": "RustFS",
"name": "rustfs",
"description": "S3-compatible object storage written in Rust, an open-source alternative to MinIO, with a web console for browsing buckets and managing users, policies and access keys. Source: https://github.com/rustfs/rustfs",
"categories": [
"Storage",
"Cloud"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/rustfs/console/main/app/icon.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "RUSTFS_ADMIN_USER",
"label": "Admin user (access key)",
"default": "admin"
},
{
"name": "RUSTFS_SECRET_KEY",
"label": "Admin password (secret key, required)",
"description": "Generate one with: openssl rand -hex 16. To change it later, change it here and redeploy."
},
{
"name": "RUSTFS_API_PORT",
"label": "Host port for the S3 API",
"default": "9010"
},
{
"name": "RUSTFS_CONSOLE_PORT",
"label": "Host port for the web console",
"default": "9011"
}
],
"note": "Set the <b>secret key</b> before you deploy, since the stack won't start without one. Then open the console at <code>http://&lt;your-host&gt;:9011</code> (or whichever port you picked) and log in with the admin user as the account (<code>admin</code> unless you changed it) and the secret key as the key. S3 clients and SDKs go to <code>http://&lt;your-host&gt;:9010</code>, with path-style addressing and region <code>us-east-1</code>. Buckets start private. Rather than hand the admin's keys to other apps, make them their own user under Users. Changing the secret key on the form and redeploying changes the admin's password, and other users carry on as they were. Everything lives in the <code>rustfs-data</code> volume, as a single drive with no redundancy, so back it up like any other data. Docs: <a href=\"https://docs.rustfs.com/installation/docker/\" target=\"_blank\">docs.rustfs.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/rustfs/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Downloaders"
],
"description": "Popular torrent client with a webui for ease of use.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "America/New_York",
"label": "TZ",
"name": "TZ"
},
{
"default": "50",
"label": "MAX_FILE_UPLOADS",
"name": "MAX_FILE_UPLOADS"
},
{
"default": "info",
"label": "RT_LOG_LEVEL",
"name": "RT_LOG_LEVEL"
},
{
"default": "erasedata,httprpc",
"label": "RU_REMOVE_CORE_PLUGINS",
"name": "RU_REMOVE_CORE_PLUGINS"
}
],
"image": "crazymax/rtorrent-rutorrent:latest",
"logo": "https://raw.githubusercontent.com/linuxserver/beta-templates/master/lsiodev/img/rutorrent-icon.png",
"name": "rutorrent",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/Novik/ruTorrent\" target=\"_blank\">https://github.com/Novik/ruTorrent</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/crazy-max/docker-rtorrent-rutorrent\" target=\"_blank\">https://github.com/crazy-max/docker-rtorrent-rutorrent</a><br><br><br>For ruTorrent basic auth, XMLRPC through nginx and WebDAV on completed downloads, you can populate .htpasswd files with the following command:\\ndocker run --rm -it httpd:2.4-alpine htpasswd -Bbn <username> <password> >> $(pwd)/passwd/webdav.htpasswd",
"platform": "linux",
"ports": [
"6881:6881/udp",
"8000:8000/tcp",
"8080:8080/tcp",
"9001:9000/tcp",
"50000:50000/tcp"
],
"restart_policy": "unless-stopped",
"title": "ruTorrent",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/ruTorrent/config"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/passwd",
"bind": "/portainer/Files/AppData/Config/ruTorrent/passwd"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 681
},
{
"id": 682,
"type": 3,
"title": "Ryot",
"name": "ryot",
"description": "Tracker for the films, shows, books, anime, music and podcasts you get through, plus your workouts: progress, ratings, reviews and stats in one place, with imports from Trakt, Goodreads, Jellyfin, Plex and more. Source: https://github.com/IgnisDa/ryot",
"categories": [
"Media",
"Books",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/IgnisDa/ryot/main/apps/frontend/public/icons/maskable_icon_x512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "RYOT_ADMIN_TOKEN",
"label": "Admin token (required)",
"description": "For admin jobs through the API, like resetting someone's password. Generate one with: openssl rand -hex 32"
},
{
"name": "RYOT_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Ryot can't reach its database."
},
{
"name": "RYOT_TMDB_TOKEN",
"label": "TMDB read access token",
"description": "Needed to search films and shows. Free from themoviedb.org under Settings --> API, the long API Read Access Token."
},
{
"name": "RYOT_URL",
"label": "Address you'll open it on",
"description": "Like http://192.168.1.20:8880. Links in notifications and password resets point here.",
"default": "http://localhost:8880"
},
{
"name": "RYOT_PORT",
"label": "Host port for the web UI",
"default": "8880"
}
],
"note": "Set the <b>admin token</b> and <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes either), since the stack won't start without them. Then open <code>http://&lt;your-host&gt;:8880</code> (or whichever port you picked) and sign up: the first account becomes the admin. Anyone who can reach it can sign up after that, so once you're in, add <code>RYOT_SIGNUPS</code> = <code>false</code> to the stack's environment variables and redeploy. Anime, manga, podcasts and workouts work straight away, and books and music do once you switch the search source to Open Library or MusicBrainz (the default ones want API keys). Films and shows need the TMDB token. Ryot sends page views and a few events to its developer's Umami analytics from your browser; add <code>RYOT_TELEMETRY_OFF</code> = <code>true</code> the same way to stop it. Everything lives in Postgres, in the <code>postgres-data</code> volume. Docs: <a href=\"https://docs.ryot.io\" target=\"_blank\">docs.ryot.io</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/ryot/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 683,
"type": 1,
"title": "Sabnzbd",
"name": "Sabnzbd",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/sabnzbd/config<br>mkdir -p /srv/lsio/sabnzbd/incomplete-downloads<br>mkdir -p /srv/lsio/sabnzbd/downloads</p>",
"description": "[Sabnzbd](http://sabnzbd.org/) makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/sabnzbd-banner.png",
"image": "linuxserver/sabnzbd:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/sabnzbd/config"
},
{
"container": "/incomplete-downloads",
"bind": "/srv/lsio/sabnzbd/incomplete-downloads"
},
{
"container": "/downloads",
"bind": "/srv/lsio/sabnzbd/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Saleor",
"name": "saleor",
"description": "Saleor - headless, GraphQL-first e-commerce (BSD-3): the API your custom storefront talks to, with a polished dashboard for the team. Official images, mirrored from the saleor-platform compose.",
"categories": [
"CMS Publishing"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "saleor/compose.yaml"
},
"env": [
{
"name": "ADMIN_EMAIL",
"label": "ADMIN_EMAIL",
"description": "Superuser bootstrap (dashboard login).",
"default": "admin@example.com"
},
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "ALLOWED_CLIENT_HOSTS",
"label": "ALLOWED_CLIENT_HOSTS",
"default": "localhost"
},
{
"name": "ALLOWED_HOSTS",
"label": "ALLOWED_HOSTS",
"default": "localhost,api"
},
{
"name": "API_URL",
"label": "API_URL",
"default": "http://localhost:5000/graphql/"
},
{
"name": "DASHBOARD_URL",
"label": "DASHBOARD_URL",
"default": "http://localhost:5001"
},
{
"name": "EMAIL_URL",
"label": "EMAIL_URL",
"default": "consolemail://"
},
{
"name": "PUBLIC_URL",
"label": "PUBLIC_URL",
"description": "Set these to real domains on Miget after first deploy:",
"default": "http://localhost:5000"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -base64 24"
},
{
"name": "SECRET_KEY",
"label": "SECRET_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 684
},
{
"categories": [
"Other",
"Tools"
],
"command": "",
"description": "Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "1000",
"label": "USERID",
"name": "USERID"
},
{
"default": "1000",
"label": "GROUPID",
"name": "GROUPID"
},
{
"default": "guest;guest",
"label": "USER",
"name": "USER"
},
{
"default": "true",
"label": "PERMISSIONS",
"name": "PERMISSIONS"
},
{
"default": "portainer;/share;yes;no;yes;guest",
"label": "SHARE",
"name": "SHARE"
}
],
"image": "dperson/samba:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/samba.png",
"name": "Samba",
"platform": "linux",
"ports": [
"139:139/tcp",
"445:445/tcp"
],
"privileged": true,
"restart_policy": "unless-stopped",
"title": "Samba",
"type": 1,
"volumes": [
{
"container": "/share",
"bind": "/portainer/Downloads"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.samba.org/\" target=\"_blank\">https://www.samba.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/dperson/samba\" target=\"_blank\">https://github.com/dperson/samba</a><br><br><br><b>Youtube Videos:</b><br><ul><li><a href=https://www.youtube.com/watch?v=2zZ3_1GRWrM&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=11 target=\"_blank\">Novaspirit Tech - Setting up Raspberry Pi Samba Server For File Sharing on Docker</a></li><li><a href=https://www.youtube.com/watch?v=9ln6UFH4z8o target=\"_blank\">Novaspirit Tech - Building NAS with Container</a></li></ul><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 685
},
{
"id": 686,
"type": 1,
"title": "Scality S3",
"description": "Standalone AWS S3 protocol server",
"categories": [
"Storage"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/scality-s3.png",
"image": "scality/s3server:latest",
"ports": [
"8000/tcp"
],
"env": [
{
"name": "SCALITY_ACCESS_KEY",
"label": "Scality S3 access key"
},
{
"name": "SCALITY_SECRET_KEY",
"label": "Scality S3 secret key"
}
],
"volumes": [
{
"container": "/usr/src/app/localData"
},
{
"container": "/usr/src/app/localMetadata"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 1,
"name": "scrutiny",
"title": "Scrutiny",
"description": "WebUI for smartd S.M.A.R.T monitoring",
"logo": "https://mediadepot.github.io/templates/img/scrutiny.png",
"image": "analogj/scrutiny:latest",
"categories": [
"Monitoring"
],
"ports": [
"8080/tcp"
],
"volumes": [
{
"container": "/scrutiny/config/",
"bind": "/opt/mediadepot/apps/scrutiny"
},
{
"container": "/run/udev",
"bind": "/run/udev",
"readonly": true
}
],
"env": [],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.scrutiny.loadbalancer.server.port",
"value": "8080"
},
{
"name": "traefik.http.routers.scrutiny.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.scrutiny.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 687
},
{
"id": 688,
"type": 1,
"title": "Scummvm",
"name": "Scummvm",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/scummvm/config</p>",
"description": "[ScummVM](https://www.scummvm.org/) is a program which allows you to run certain classic graphical adventure and role-playing games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed! ScummVM is a complete rewrite of these games' executables and is not an emulator.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/scummvm-logo.png",
"image": "linuxserver/scummvm:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/scummvm/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 689,
"type": 1,
"title": "Sealskin",
"name": "Sealskin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/sealskin/config<br>mkdir -p /srv/lsio/sealskin/storage<br></p>",
"description": "[Sealskin](https://github.com/selkies-project/sealskin/) is a self-hosted browser isolation and remote application streaming platform. It runs desktop applications in isolated containers on a server you control and streams them to any browser or phone. Clients include a browser extension, mobile apps, and a web app served by the server itself. Each turns links, files, downloads, and text selections into something you open remotely instead of locally, so nothing from the web runs on the device in front of you.",
"categories": [
"Remote Desktop",
"Business"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/sealskin-logo.png",
"image": "linuxserver/sealskin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "HOST_URL",
"label": "HOST_URL",
"default": "IP or subdomain.domain.com",
"description": "On initial setup this will be used to fill in the default admin configuration file in the `/config` directory, if unset the string HOST_URL will need to be replaced. [OPTIONAL]"
}
],
"ports": [
"8443:8443/tcp",
"8000:8000/tcp",
"8444:8444/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/sealskin/config"
},
{
"container": "/storage",
"bind": "/srv/lsio/sealskin/storage"
},
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Open-Source Privacy-respecting metasearch engine",
"env": [
{
"default": "http://localhost:9017",
"label": "BASE_URL",
"name": "BASE_URL"
},
{
"default": "my-instance",
"label": "INSTANCE_NAME",
"name": "INSTANCE_NAME"
}
],
"image": "searxng/searxng:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/searx.png",
"name": "SearXNG",
"platform": "linux",
"ports": [
"9017:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "SearXNG (container)",
"type": 1,
"volumes": [
{
"container": "/etc/searxng",
"bind": "/portainer/Files/AppData/Config/searxng"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://docs.searxng.org/\" target=\"_blank\">https://docs.searxng.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://docs.searxng.org/admin/installation-docker.html\" target=\"_blank\">https://docs.searxng.org/admin/installation-docker.html</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/searxng.md\" target=\"_blank\">searxng.md</a></h3><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 690
},
{
"type": 3,
"title": "SearXNG (stack)",
"name": "searxng",
"description": "SearXNG - a privacy-respecting metasearch engine: it queries 200+ search engines and aggregates the results with no tracking, no profiling, and no ads.",
"categories": [
"Search Vectors"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "searxng/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/searxng.png",
"env": [
{
"name": "SEARXNG_BASE_URL",
"label": "SEARXNG_BASE_URL",
"description": "The app's public URL (https domain on Miget), with a trailing slash.",
"default": "http://localhost:5000/"
},
{
"name": "SEARXNG_SECRET",
"label": "SEARXNG_SECRET",
"description": "Secret key - a long random string."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 691
},
{
"type": 3,
"title": "Seawise.io Client",
"description": "Share self-hosted apps with family and friends, no port forwarding. Client for the Seawise.io service (free account required).",
"categories": [
"Networking"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/seawise-io/seawise-client/main/.github/assets/icon.png",
"repository": {
"url": "https://github.com/seawise-io/seawise-client",
"stackfile": "deploy/portainer/docker-compose.yml"
},
"note": "Uses host networking so the client can reach apps on this host at localhost:PORT. Open <code>http://&lt;your-host&gt;:8082</code> and set a password within 5 minutes of the container starting. Requires a free account at <a href=\"https://seawise.io\" target=\"_blank\">seawise.io</a>.",
"maintainer": "https://github.com/seawise-io/seawise-client/",
"id": 692
},
{
"id": 693,
"type": 1,
"title": "Seerr",
"name": "seerr",
"description": "Request manager for Jellyfin, Plex and Emby, where people ask for films and shows and Sonarr and Radarr fetch them. It's the merged successor to Overseerr and Jellyseerr. Source: https://github.com/seerr-team/seerr",
"categories": [
"Media"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/seerr-team/seerr/develop/public/android-chrome-512x512.png",
"image": "ghcr.io/seerr-team/seerr:v3",
"restart_policy": "unless-stopped",
"ports": [
"5055:5055/tcp"
],
"volumes": [
{
"container": "/app/config"
}
],
"env": [
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:5055</code> and the setup wizard walks you through connecting your media server, then Sonarr and Radarr. Settings and the request database live in the <code>/app/config</code> volume. Coming from Overseerr or Jellyseerr? Seerr can take over their config, see the <a href=\"https://docs.seerr.dev\" target=\"_blank\">docs</a> for how.",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 694,
"type": 1,
"title": "Sematext Docker Agent (container)",
"description": "Collect logs, metrics and docker events",
"categories": [
"Log Management",
"Monitoring"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/sematext_agent.png",
"image": "sematext/sematext-agent-docker:latest",
"name": "sematext-agent",
"privileged": true,
"env": [
{
"name": "LOGSENE_TOKEN",
"label": "Logs token"
},
{
"name": "SPM_TOKEN",
"label": "SPM monitoring token"
}
],
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 695,
"title": "Sematext Docker Agent (swarm)",
"type": 2,
"categories": [
"Log Management",
"Monitoring"
],
"description": "Collect logs, metrics and docker events",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/sematext_agent.png",
"platform": "linux",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/sematext-agent-docker/docker-stack.yml"
},
"env": [
{
"name": "LOGSENE_TOKEN",
"label": "Logs token"
},
{
"name": "SPM_TOKEN",
"label": "SPM monitoring token"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Tools"
],
"description": "A self-hosted bookmark management tool.",
"logo": "https://github.com/beromir/Servas/raw/main/docs/images/home.png",
"name": "Servas",
"repository": {
"stackfile": "Template/Stack/servas.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"ports": [
"8456:80/tcp"
],
"restart_policy": "always",
"title": "Servas",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 696
},
{
"type": 3,
"title": "SFTPGo",
"name": "sftpgo",
"description": "SFTPGo - the upload portal for Miget Buckets: create users whose storage IS an S3 bucket (custom endpoint, path-style, optional key prefix per user), give outsiders share-upload links, and optionally front it all with SFTP or WebDAV.",
"categories": [
"Object Storage"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "sftpgo/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/sftpgo.png",
"env": [
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "ADMIN_USERNAME",
"label": "ADMIN_USERNAME",
"default": "admin"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 697
},
{
"categories": [
"Link Sharing"
],
"description": "The personal, minimalist, super fast, database-free, bookmarking service.",
"logo": "https://github.com/shaarli/Shaarli/raw/master/doc/md/images/doc-logo.png",
"name": "shaarli",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/shaarli.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Shaarli",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 698
},
{
"categories": [
"OSINT"
],
"description": "Global Threat Intercept \u2014 Real-Time Geospatial Intelligence Platform",
"logo": "https://avatars.githubusercontent.com/u/43977454?s=48&v=4",
"name": "shadowbroker",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/shadowbroker.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Shadowbroker",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 699
},
{
"id": 700,
"type": 1,
"title": "Shadps4",
"name": "Shadps4",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/shadps4/config</p>",
"description": "[shadPS4](https://shadps4.net/) is an early PlayStation 4 emulator for Windows, Linux and macOS written in C++.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/shadps4-logo.png",
"image": "linuxserver/shadps4:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/shadps4/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Shiori is a simple bookmarks manager written in Go language. Intended as a simple clone of Pocket. You can use it as command line application or as web application.",
"image": "nicholaswilde/shiori:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/shiori-icon.png",
"name": "shiori",
"platform": "linux",
"ports": [
"7564:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Shiori (container)",
"type": 1,
"volumes": [
{
"container": "/srv/shiori",
"bind": "/portainer/Files/AppData/Config/Shiori"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/go-shiori/shiori\" target=\"_blank\">https://github.com/go-shiori/shiori</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/nicholaswilde/docker-shiori\" target=\"_blank\">https://github.com/nicholaswilde/docker-shiori</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 701
},
{
"categories": [
"Tools"
],
"description": "Shiori is a simple bookmarks manager written in the Go language. Intended as a simple clone of Pocket.You can use it as command line application or as web application.",
"logo": "https://raw.githubusercontent.com/go-shiori/shiori/master/docs/readme/cover.png",
"name": "shiori",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/shiori.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Shiori (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 702
},
{
"type": 3,
"title": "Shlink",
"name": "shlink",
"description": "Shlink - a self-hosted URL shortener: short links on your own domain with a full REST API, QR codes, rich visit analytics (with optional GeoIP), tags, device-based redirect rules, and link expiration.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "shlink/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/shlink.png",
"env": [
{
"name": "DEFAULT_DOMAIN",
"label": "DEFAULT_DOMAIN",
"description": "The short domain Shlink generates links on (its https domain on Miget, e.g.",
"default": "localhost:5000"
},
{
"name": "GEOLITE_LICENSE_KEY",
"label": "GEOLITE_LICENSE_KEY",
"description": "Optional: a MaxMind GeoLite2 license key enables geographic visit stats."
},
{
"name": "INITIAL_API_KEY",
"label": "INITIAL_API_KEY",
"description": "Your first API key, created on startup."
},
{
"name": "IS_HTTPS_ENABLED",
"label": "IS_HTTPS_ENABLED",
"default": "false"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 703
},
{
"id": 704,
"type": 1,
"title": "Shotcut",
"name": "Shotcut",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/shotcut/config</p>",
"description": "[Shotcut](https://www.shotcut.org/) is a free, open source, cross-platform video editor.",
"categories": [
"Video Editor"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/shotcut-logo.png",
"image": "linuxserver/shotcut:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/shotcut/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Downloaders",
"Video"
],
"description": "Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/sickchill:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/sickchill-icon.png",
"name": "sickchill",
"platform": "linux",
"ports": [
"8081:8081/tcp"
],
"restart_policy": "unless-stopped",
"title": "SickChill",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/SickChill"
},
{
"container": "/downloads",
"bind": "/portainer/Downloads"
},
{
"container": "/tv",
"bind": "/portainer/TV"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 705
},
{
"id": 706,
"type": 1,
"title": "Sickgear",
"name": "Sickgear",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/sickgear/config<br>mkdir -p /srv/lsio/sickgear/tv<br>mkdir -p /srv/lsio/sickgear/downloads</p>",
"description": "[SickGear](https://github.com/sickgear/sickgear) provides management of TV shows and/or Anime, it detects new episodes, links downloader apps, and more.. For more information on SickGear visit their website and check it out: https://github.com/SickGear/SickGear",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/wiki/SickGear/SickGear.Wiki/images/SickGearLogo.png",
"image": "linuxserver/sickgear:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8081:8081/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/sickgear/config"
},
{
"container": "/tv",
"bind": "/srv/lsio/sickgear/tv"
},
{
"container": "/downloads",
"bind": "/srv/lsio/sickgear/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "sickrage",
"title": "SickRage",
"description": "Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.",
"logo": "https://mediadepot.github.io/templates/img/sickrage-icon.png",
"image": "linuxserver/sickrage:latest",
"categories": [
"Downloaders",
"Video"
],
"ports": [
"8081/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/opt/mediadepot/apps/sickrage"
},
{
"container": "/downloads",
"bind": "/media/storage/downloads/tvshows"
},
{
"container": "/tv",
"bind": "/media/storage/tvshows"
},
{
"container": "/blackhole",
"bind": "/media/temp/blackhole/tvshows"
}
],
"env": [
{
"name": "PGID",
"label": "PGID",
"default": "15000",
"preset": true
},
{
"name": "PUID",
"label": "PUID",
"default": "15000",
"preset": true
},
{
"name": "TZ",
"label": "TZ",
"default": "America/Los_Angeles"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.sickrage.loadbalancer.server.port",
"value": "8081"
},
{
"name": "traefik.http.routers.sickrage.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.sickrage.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 707
},
{
"id": 708,
"type": 1,
"title": "Signal",
"name": "Signal",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/signal/config</p>",
"description": "[Signal](https://signal.org/) is a messaging app with privacy at its core. It is free and easy to use, with strong end-to-end encryption that keeps your communication completely private.",
"categories": [
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/signal-logo.png",
"image": "linuxserver/signal:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/signal/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Messaging"
],
"description": "A TLS proxy relay for the Signal privacy messenger app.",
"logo": "https://avatars.githubusercontent.com/u/702459?s=200&v=4",
"name": "signal",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/signal.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Signal Proxy",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 709
},
{
"id": 710,
"type": 1,
"title": "SilverBullet",
"name": "silverbullet",
"description": "Notes app for Markdown pages you can program, with two-way links, tasks, queries over everything you've written and Lua scripting for your own commands and widgets. Source: https://github.com/silverbulletmd/silverbullet",
"categories": [
"Documents",
"Productivity",
"Wiki"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/silverbulletmd/silverbullet/main/client/images/logo.png",
"image": "ghcr.io/silverbulletmd/silverbullet:latest-slim",
"restart_policy": "unless-stopped",
"ports": [
"3300:3000/tcp"
],
"volumes": [
{
"container": "/data"
}
],
"note": "Open <code>http://&lt;your-host&gt;:3300</code> and the setup wizard asks for an admin account, then your first space (at <code>/notes</code> by default). There's no setup code, so whoever gets there first owns the server - do it straight after deploying, and from the address you'll actually use, since the admin dashboard always sends you back there (change it under Admin --&gt; Server). Over plain http on anything but localhost it runs online-only, so no offline use, local encryption or single sign-on. Put it behind an HTTPS proxy to get those back. Accounts, settings and every page (as plain Markdown files) live in the volume. This is the slim image, so if you want the Runtime API, which needs Chromium, use the <code>latest</code> tag instead. Docs: <a href=\"https://docs.silverbullet.md/Install\" target=\"_blank\">docs.silverbullet.md</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"CMS"
],
"description": "Silverstripe CMS is a free and open source Content Management System (CMS) and Framework for creating and maintaining websites and web applications.",
"logo": "https://github.com/brettt89/silverstripe-docker/raw/master/docs/logo.png",
"name": "silverstripe",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/silverstripe.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Silverstripe",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 711
},
{
"id": 712,
"type": 3,
"title": "SiYuan",
"name": "siyuan",
"description": "Note-taking app built from blocks, so any paragraph can be linked, embedded or queried from anywhere else. Markdown, backlinks, a graph view and daily notes. Source: https://github.com/siyuan-note/siyuan",
"categories": [
"Documents",
"Productivity",
"Wiki"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/siyuan-note/siyuan/master/app/src/assets/icon-mac.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "SIYUAN_ACCESS_AUTH_CODE",
"label": "Access code (required)",
"description": "What you type in to open your notes, and the only thing between them and anyone who can reach the port. Make it long, or generate one with: openssl rand -hex 16"
},
{
"name": "SIYUAN_PORT",
"label": "Host port for the web UI",
"default": "6806"
},
{
"name": "SIYUAN_TZ",
"label": "Timezone",
"description": "Like Europe/London. Daily notes and timestamps use it.",
"default": "UTC"
}
],
"note": "Set the <b>access code</b> before you deploy, since the stack won't start without one. Then open <code>http://&lt;your-host&gt;:6806</code> (or whichever port you picked) and enter it. It takes half a minute or so to start. Every note, asset and setting lives in the <code>siyuan-workspace</code> volume. To change the code later, just change it here and redeploy. Docs: <a href=\"https://github.com/siyuan-note/siyuan#docker-hosting\" target=\"_blank\">github.com/siyuan-note/siyuan</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/siyuan/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 713,
"type": 1,
"title": "Smokeping",
"name": "Smokeping",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/smokeping/config<br>mkdir -p /srv/lsio/smokeping/data</p>",
"description": "[Smokeping](https://oss.oetiker.ch/smokeping/) keeps track of your network latency. For a full example of what this application is capable of visit [UCDavis](http://smokeping.ucdavis.edu/cgi-bin/smokeping.fcgi).",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/smokeping-logo.png",
"image": "linuxserver/smokeping:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "MASTER_URL",
"label": "MASTER_URL",
"default": "http://<master-host-ip>:80/smokeping/",
"description": "Specify the master url to connect to. Used when in slave mode. [OPTIONAL]"
},
{
"name": "SHARED_SECRET",
"label": "SHARED_SECRET",
"default": "password",
"description": "Specify the master shared secret for this host. Used when in slave mode. [OPTIONAL]"
},
{
"name": "CACHE_DIR",
"label": "CACHE_DIR",
"default": "/tmp",
"description": "Specify the cache directory for this host. Used when in slave mode. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/smokeping/config"
},
{
"container": "/data",
"bind": "/srv/lsio/smokeping/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "Self-hosted snippet manager.",
"image": "snowmean/snibox-sqlite:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/snibox.png",
"name": "Snibox",
"note": "Label-oriented interface with search. Supports various programming languages, markdown, plain text.",
"platform": "linux",
"ports": [
"3010:3000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Snibox (container)",
"type": 1,
"volumes": [
{
"container": "/app/db/database",
"bind": "/portainer/Files/AppData/Config/Snibox"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 714
},
{
"categories": [
"Tools"
],
"description": "Self-hosted snippet manager.Label-oriented interface with search. Supports various programming languages, markdown, plain text.",
"logo": "https://user-images.githubusercontent.com/312873/35063615-acf68302-fbd8-11e7-91c5-0b3b6f5966c4.png",
"name": "Snibox",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/snibox.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Snibox (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 715
},
{
"id": 716,
"type": 3,
"title": "Snipe-IT",
"name": "snipe-it",
"description": "IT asset manager for keeping track of laptops, licences, accessories and consumables: who has what, check-outs and check-ins, audits, maintenance, depreciation and asset tag labels. Source: https://github.com/grokability/snipe-it",
"categories": [
"Productivity",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/grokability/snipe-it/master/public/img/snipe-logo-bug.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "SNIPEIT_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:8300. Every page and link is built from it."
},
{
"name": "SNIPEIT_APP_KEY",
"label": "App key (required)",
"description": "Exactly 32 characters. Generate one with: openssl rand -hex 16. Keep it the same when you redeploy."
},
{
"name": "SNIPEIT_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16"
},
{
"name": "SNIPEIT_TIMEZONE",
"label": "Timezone",
"description": "For the dates it shows, like Europe/London.",
"default": "UTC"
},
{
"name": "SNIPEIT_PORT",
"label": "Host port for the web UI",
"default": "8300"
}
],
"note": "Fill in the <b>address</b>, <b>app key</b> and <b>database password</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:8300</code>: the port you're using, and no slash at the end. Snipe-IT builds every page, link and redirect from it, so if it's wrong the front page sends you off to that address instead, and any page you do reach has no styling and buttons that go nowhere. To fix it, change the address in the stack's environment variables and redeploy. Then open the address straight away, as whoever finishes the setup wizard first becomes the admin. There are no sign-ups, the admin adds everyone else under Users. Nothing gets emailed until you add <code>SNIPEIT_MAIL_HOST</code>, <code>SNIPEIT_MAIL_USER</code>, <code>SNIPEIT_MAIL_PASSWORD</code> and <code>SNIPEIT_MAIL_FROM</code> (the address it sends from) to the stack's environment variables and update the stack, plus <code>SNIPEIT_MAIL_PORT</code> if it isn't 587. Uploads and backups live in the <code>snipeit-data</code> volume, everything else in <code>db-data</code>. Docs: <a href=\"https://snipe-it.readme.io/docs/docker\" target=\"_blank\">snipe-it.readme.io</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/snipe-it/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Other"
],
"description": "Snippet Box is a simple self-hosted app for organizing your code snippets. It allows you to easily create, edit, browse and manage your snippets in various languages.",
"name": "snippet-box",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/snippetbox.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Snippet Box (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 717
},
{
"categories": [
"Other",
"Tools"
],
"description": "Snippet Box is a simple self-hosted app for organizing your code snippets.",
"image": "pawelmalak/snippet-box:arm",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/snibox.png",
"name": "Snippet-box",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/pawelmalak/snippet-box\" target=\"_blank\">https://github.com/pawelmalak/snippet-box</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/pawelmalak/snippet-box#with-docker\" target=\"_blank\">https://github.com/pawelmalak/snippet-box#with-docker</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=v-jUyB3fvAo target=\"_blank\">Novaspirit Tech - My Most used container! Snippet Box</a><br><br>Label-oriented interface with search. Supports various programming languages, markdown, plain text.",
"platform": "linux",
"ports": [
"5010:5000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Snippet-box (container)",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/Snippet-box"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 718
},
{
"id": 719,
"type": 1,
"title": "Socket-proxy",
"name": "Socket-proxy",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/socket-proxy/config</p>",
"description": "# This container needs special attention. Please check https://hub.docker.com/r/linuxserver/socket-proxy for details.",
"categories": [
"Docker"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/docker-logo.png",
"image": "linuxserver/socket-proxy:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/socket-proxy/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 720,
"type": 3,
"title": "Softing SDEX Suite",
"description": "Connect PLCs and CNCs from multiple manufacturers and provide their industrial data to IT applications via OPC UA and MQTT.",
"note": "Deploys the SDEX Suite container with basic configurations.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/softing.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/sdex-suite/docker-compose.yml"
},
"env": [
{
"name": "TZ",
"label": "Timezone",
"description": "TZ with format \"America/New_York\""
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Monitoring"
],
"description": "Uptime and synthetic monitoring with status pages, incidents and alerts. Checks HTTP, DNS, TCP, ICMP, TLS expiry, databases, message brokers, heartbeats and headless browser scenarios. Source: https://github.com/fclairamb/solidping",
"env": [
{
"name": "SP_NODE_NAME",
"label": "Node name",
"default": "solidping",
"description": "Worker name, lowercase letters, digits and dashes, starting with a letter (3 to 21 characters). The server refuses to start without a valid one."
},
{
"name": "SP_BASE_URL",
"label": "Public URL",
"default": "http://localhost:4000",
"description": "URL people use to reach SolidPing. Used in links and notifications."
}
],
"image": "ghcr.io/fclairamb/solidping:latest",
"logo": "https://raw.githubusercontent.com/fclairamb/solidping/main/res/logo_256.png",
"name": "solidping",
"note": "Open <code>http://&lt;your-host&gt;:4000</code>. First login: <code>admin@solidping.io</code> / <code>solidpass</code>, organization <code>default</code>. You are asked to set a new password right away. The SQLite database and uploads live in the <code>/data</code> volume. No secret is needed to start. Configuration: <a href=\"https://docs.solidping.io/configuration/\">docs.solidping.io</a>",
"platform": "linux",
"ports": [
"4000:4000/tcp"
],
"restart_policy": "unless-stopped",
"title": "SolidPing",
"type": 1,
"volumes": [
{
"container": "/data"
}
],
"id": 721
},
{
"categories": [
"Time Management"
],
"description": "The modern Open-Source Time Tracker",
"logo": "https://github.com/solidtime-io/solidtime/raw/main/docs/solidtime-banner.png",
"name": "solidtime",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/solidtime.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "SolidTime",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 722
},
{
"id": 723,
"type": 1,
"title": "Solr",
"description": "Open-source enterprise search platform",
"categories": [
"Search Engine"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/solr.png",
"image": "solr:latest",
"ports": [
"8983/tcp"
],
"volumes": [
{
"container": "/opt/solr/mydata"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 724,
"type": 1,
"title": "Sonarr",
"name": "Sonarr",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/sonarr/config<br>mkdir -p /srv/lsio/sonarr/tv<br>mkdir -p /srv/lsio/sonarr/downloads</p>",
"description": "[Sonarr](https://sonarr.tv/) (formerly NZBdrone) is a PVR for usenet and bittorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/sonarr-banner.png",
"image": "linuxserver/sonarr:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8989:8989/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/sonarr/config"
},
{
"container": "/tv",
"bind": "/srv/lsio/sonarr/tv"
},
{
"container": "/downloads",
"bind": "/srv/lsio/sonarr/downloads"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 725,
"type": 3,
"title": "SORBA SDE",
"description": "The SORBA Smart Data Engine (SDE) is an industrial data collection/gateway device capable of Advanced Edge Analytics & Machine Learning Edge Processing. SORBA-SDE is equipped with multiple communication driver/protocol applicable to the industrial market. The SORBA-SDE is a sensor/hardware agnostic device that serves as your point & click gateway capable of talking to multiple devices in real-time. The SDE provides easy access to equipment for troubleshooting and remote programming support for PLCs & HMIs utilizing a hassle-free easy, set-up approach to your assets.",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://www.gravatar.com/avatar/ee83d0294a89e3dfabd7fcf304db4537?s=120&r=g&d=404",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/sorba-sde/docker-compose.yml"
},
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 726,
"type": 3,
"title": "SparkyFitness",
"name": "sparkyfitness",
"description": "Fitness tracker for food, exercise, water, sleep, fasting, mood and body measurements, with goals, long-term reports and family sharing, plus sync from phone health apps, Fitbit, Strava and more. Source: https://github.com/CodeWithCJ/SparkyFitness",
"categories": [
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/SparkyFitnessMobile/assets/images/logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "SPARKYFITNESS_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included and no slash at the end, like http://192.168.1.20:3004."
},
{
"name": "SPARKYFITNESS_ENCRYPTION_KEY",
"label": "Encryption key (required)",
"description": "Encrypts the API keys you save for food databases and AI. Exactly 64 hex characters, so generate it with: openssl rand -hex 32. Never change it."
},
{
"name": "SPARKYFITNESS_AUTH_SECRET",
"label": "Auth secret (required)",
"description": "Signs logins and encrypts two-factor secrets. Generate one with: openssl rand -base64 32. Never change it."
},
{
"name": "SPARKYFITNESS_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or SparkyFitness can't reach its database."
},
{
"name": "SPARKYFITNESS_ADMIN_EMAIL",
"label": "Admin email",
"description": "Whoever signs up with this email gets the admin panel."
},
{
"name": "SPARKYFITNESS_PORT",
"label": "Host port for the web UI",
"default": "3004"
}
],
"note": "Fill in the <b>address</b>, <b>encryption key</b>, <b>auth secret</b> and <b>database password</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:3004</code>: the port you're using, and no slash at the end. SparkyFitness only accepts logins from that address, so if it's wrong the page still loads but signing up or logging in fails with <i>Invalid origin</i>. To fix it, change the address in the stack's environment variables and redeploy. Don't change the encryption key or auth secret once it's running: a new key can't read the API keys you've saved, and a new secret logs everyone out and locks out anyone using two-factor. The first start takes a minute or so. Then open it and sign up, with the admin email if you set one, since that account gets the admin panel. Anyone who can reach it can sign up too, so once everyone's in, add <code>SPARKYFITNESS_DISABLE_SIGNUP</code> = <code>true</code> to the stack's environment variables and redeploy. Food search works straight away through Open Food Facts and a few other free databases. The server fetches news from the project's GitHub, and checks there for new releases unless you turn off <i>Check for New Releases</i> in the admin panel. Everything you log lives in Postgres, in the <code>sparkyfitness-db</code> volume, with photos in <code>sparkyfitness-uploads</code> and backups from the admin panel in <code>sparkyfitness-backup</code>. Docs: <a href=\"https://codewithcj.github.io/SparkyFitness/\" target=\"_blank\">codewithcj.github.io/SparkyFitness</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/sparkyfitness/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Network"
],
"description": "Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service.\n\nSource: https://github.com/alexjustesen/speedtest-tracker",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/speedtest-tracker-logo.png",
"name": "speedtest-tracker",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/speedtest-tracker.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Speedtest Tracker (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 727
},
{
"id": 728,
"type": 1,
"title": "Speedtest-tracker (container)",
"name": "Speedtest-tracker",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/speedtest-tracker/config</p>",
"description": "[Speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker) is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service.",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/speedtest-tracker-logo.png",
"image": "linuxserver/speedtest-tracker:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "APP_KEY",
"label": "APP_KEY",
"default": "",
"description": "App key used for encrypting stored data. You can generate a key as per [https://speedtest-tracker.dev](https://docs.speedtest-tracker.dev/getting-started/installation/using-docker-compose#install-with-docker-compose)"
},
{
"name": "APP_URL",
"label": "APP_URL",
"default": "",
"description": "The IP:port or URL your application will be accessed on (ie. `http://192.168.1.1:6875` or `https://bookstack.mydomain.com`"
},
{
"name": "DB_CONNECTION",
"label": "DB_CONNECTION",
"default": "sqlite",
"description": "Set the database type to use. `sqlite`, `pgsql`, or `mysql`"
},
{
"name": "SPEEDTEST_SCHEDULE",
"label": "SPEEDTEST_SCHEDULE",
"default": "",
"description": "Set the test schedule in cron format. e.g. `0 */6 * * *`"
},
{
"name": "SPEEDTEST_SERVERS",
"label": "SPEEDTEST_SERVERS",
"default": "",
"description": "A comma-separated list of server IDs to test against. Run `docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/speedtest-tracker:latest list-servers` to get a list of nearby servers."
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "",
"description": "Database hostname (postgres/mysql). [OPTIONAL]"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "",
"description": "Database port (postgres/mysql). [OPTIONAL]"
},
{
"name": "DB_DATABASE",
"label": "DB_DATABASE",
"default": "",
"description": "Database name (postgres/mysql). [OPTIONAL]"
},
{
"name": "DB_USERNAME",
"label": "DB_USERNAME",
"default": "",
"description": "Database username (postgres/mysql). [OPTIONAL]"
},
{
"name": "DB_PASSWORD",
"label": "DB_PASSWORD",
"default": "",
"description": "Database password (postgres/mysql). [OPTIONAL]"
},
{
"name": "DISPLAY_TIMEZONE",
"label": "DISPLAY_TIMEZONE",
"default": "Etc/UTC",
"description": "Timezone for the UI. [OPTIONAL]"
},
{
"name": "PRUNE_RESULTS_OLDER_THAN",
"label": "PRUNE_RESULTS_OLDER_THAN",
"default": "0",
"description": "Days to keep test results. [OPTIONAL]"
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/speedtest-tracker/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 729,
"type": 3,
"title": "Spliit",
"name": "spliit",
"description": "Expense splitter for trips, flatmates and nights out, tracking who paid for what in a shared group and working out who owes who, with no accounts needed, just a link to the group. Handles several currencies, categories and uneven splits. Source: https://github.com/spliit-app/spliit",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/spliit-app/spliit/main/public/logo.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "SPLIIT_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Spliit can't reach its database."
},
{
"name": "SPLIIT_PORT",
"label": "Host port for the web UI",
"default": "3800"
}
],
"note": "Set the <b>database password</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it, and keep it the same when you redeploy. Then open <code>http://&lt;your-host&gt;:3800</code> (or whichever port you picked) and create a group. There are no accounts: anyone who can reach it can make a group, and anyone with a group's link can see and edit it, so share links with care and keep it off the open internet unless you mean to. Groups you've opened are listed in your browser, not on the server, so bookmark or save the link. Converting an expense from another currency asks api.frankfurter.dev for the rate, and the currency picker loads flags from flagcdn.com. Everything lives in Postgres, in the <code>postgres-data</code> volume. Docs: <a href=\"https://github.com/spliit-app/spliit#readme\" target=\"_blank\">github.com/spliit-app/spliit</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/spliit/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 730,
"type": 1,
"title": "Spoolman",
"name": "spoolman",
"description": "3D printer filament tracker that keeps count of your spools, what's left on each and where they live, makes printable QR labels, and takes usage straight from Moonraker (Klipper) or OctoPrint as you print. Source: https://github.com/Donkie/Spoolman",
"categories": [
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Donkie/Spoolman/master/client_v2/static/favicon.svg",
"image": "ghcr.io/donkie/spoolman:latest",
"restart_policy": "unless-stopped",
"ports": [
"7912:8000/tcp"
],
"volumes": [
{
"container": "/home/app/.local/share/spoolman"
}
],
"note": "Open <code>http://&lt;your-host&gt;:7912</code>. There's no login at all, so anyone who can reach it can see and change your spools - keep it on your own network. Add spools searches your own catalogue plus SpoolmanDB, a public list of filaments the server downloads from GitHub, so most details fill themselves in. Moonraker and the OctoPrint plugin connect to that same address. The database and its nightly backups live in the volume. The page loads its fonts from Google Fonts. Docs: <a href=\"https://github.com/Donkie/Spoolman/wiki\" target=\"_blank\">github.com/Donkie/Spoolman/wiki</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 731,
"type": 1,
"title": "Spotube",
"name": "Spotube",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/spotube/config</p>",
"description": "[Spotube](https://spotube.krtirtho.dev/) is an open source, cross-platform Spotify client compatible across multiple platforms utilizing Spotify's data API and YouTube, Piped.video or JioSaavn as an audio source, eliminating the need for Spotify Premium",
"categories": [
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/spotube-logo.png",
"image": "linuxserver/spotube:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/spotube/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 732,
"type": 1,
"title": "SQL Server (container)",
"description": "Microsoft SQL Server Developer for Windows containers",
"categories": [
"Database"
],
"platform": "windows",
"note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png",
"image": "microsoft/mssql-server-windows-developer:latest",
"ports": [
"1433/tcp"
],
"env": [
{
"name": "ACCEPT_EULA",
"default": "Y",
"preset": true
},
{
"name": "sa_password",
"label": "SA password"
}
],
"volumes": [
{
"container": "C:/temp/"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "SQL Server (stack)",
"name": "mssql",
"description": "Official SQL Server on Linux container (SQL Server 2025), Express edition by default - the edition Microsoft licenses for production at no cost. Single node + 10 GB volume, internal-only (databases never get a public domain).",
"categories": [
"Database"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "mssql/compose.yaml"
},
"env": [
{
"name": "ACCEPT_EULA",
"label": "ACCEPT_EULA",
"description": "Setting Y accepts the Microsoft SQL Server EULA.",
"default": "Y"
},
{
"name": "MSSQL_PID",
"label": "MSSQL_PID",
"description": "Express has a free production license (50 GB/db, 1.4 GB buffer pool, 4 cores).",
"default": "Express"
},
{
"name": "MSSQL_SA_PASSWORD",
"label": "MSSQL_SA_PASSWORD",
"description": "sa password: min 8 chars, 3 of 4 classes (upper/lower/digit/symbol)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 733
},
{
"id": 734,
"type": 1,
"title": "SQL Server Express",
"description": "Microsoft SQL Server Express for Windows containers",
"categories": [
"Database"
],
"platform": "windows",
"note": "Password needs to include at least 8 characters including uppercase, lowercase letters, base-10 digits and/or non-alphanumeric symbols.",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png",
"image": "microsoft/mssql-server-windows-express:latest",
"ports": [
"1433/tcp"
],
"env": [
{
"name": "ACCEPT_EULA",
"default": "Y",
"preset": true
},
{
"name": "sa_password",
"label": "SA password"
}
],
"volumes": [
{
"container": "C:/temp/"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 735,
"type": 1,
"title": "Sqlitebrowser",
"name": "Sqlitebrowser",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/sqlitebrowser/config</p>",
"description": "[DB Browser for SQLite](https://sqlitebrowser.org/) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite.",
"categories": [
"Database"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/sqlitebrowser-banner.png",
"image": "linuxserver/sqlitebrowser:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/sqlitebrowser/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools",
"Web"
],
"description": "Sshwifty is a SSH and Telnet connector made for the Web. It can be deployed on your computer or server to provide SSH and Telnet access interface for any compatible (standard) web browser.",
"image": "niruix/sshwifty:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/sshwifty-icon.png",
"name": "Sshwifty",
"platform": "linux",
"ports": [
"8182:8182/tcp"
],
"restart_policy": "unless-stopped",
"title": "Sshwifty",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://sshwifty.herokuapp.com/\" target=\"_blank\">https://sshwifty.herokuapp.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/nirui/sshwifty#docker-image\" target=\"_blank\">https://github.com/nirui/sshwifty#docker-image</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 736
},
{
"categories": [
"Email",
"Networking"
],
"description": "All-in-one mail server supporting SMTP, IMAP, JMAP, and more, with a built-in web administration interface. Source: https://github.com/stalwartlabs/stalwart",
"env": [
{
"default": "",
"label": "Fallback admin as username:password (optional; blank = random password printed to logs)",
"name": "STALWART_RECOVERY_ADMIN"
}
],
"image": "stalwartlabs/stalwart:latest",
"logo": "https://avatars.githubusercontent.com/u/114914856",
"name": "stalwart-mail",
"note": "On first run Stalwart generates a random admin password and writes it to the container logs (docker logs stalwart-mail 2>&1 | grep -A8 'bootstrap mode'). Alternatively set STALWART_RECOVERY_ADMIN to pin a known admin credential. Web admin is on port 8080.",
"platform": "linux",
"ports": [
"8080:8080/tcp",
"443:443/tcp",
"25:25/tcp",
"587:587/tcp",
"465:465/tcp",
"143:143/tcp",
"993:993/tcp"
],
"restart_policy": "unless-stopped",
"title": "Stalwart Mail Server",
"type": 1,
"volumes": [
{
"container": "/etc/stalwart"
},
{
"container": "/var/lib/stalwart"
}
],
"id": 737
},
{
"id": 738,
"type": 3,
"title": "Stars Organizer",
"name": "github-stars-organizer",
"description": "Search, tag, rate and sort your GitHub stars into GitHub Lists.",
"note": "Stars Organizer imports every repo you have starred on GitHub into one searchable table, with language, stars, last push and a health score. Tag repos, rate them, write notes, and sort them into GitHub Lists. Lists you make here are real GitHub Lists, so they show on your profile. Open http://&lt;server&gt;:5184 after it starts.",
"categories": [
"Developer"
],
"platform": "linux",
"logo": "https://armanckeser.github.io/selfhost-apps/portainer/github-stars-organizer.png",
"repository": {
"url": "https://github.com/armanckeser/github-stars-organizer",
"stackfile": "docker-compose.selfhost.yml"
},
"env": [
{
"name": "TAG",
"label": "Version",
"default": "1.3.2"
},
{
"name": "PORT",
"label": "Web port on this server",
"default": "5184"
},
{
"name": "GITHUB_TOKEN",
"label": "GitHub token (classic, repo scope)",
"description": "Create one at https://github.com/settings/tokens/new?scopes=repo",
"default": ""
},
{
"name": "AUTH_PASSWORD",
"label": "Password for the app (leave empty for no login)",
"description": "Set one if anyone else on your network can reach this server.",
"default": ""
}
],
"maintainer": "https://github.com/armanckeser/selfhost-apps/"
},
{
"categories": [
"Network"
],
"description": "An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page.",
"image": "statping/statping:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/statping.png",
"name": "statping",
"platform": "linux",
"ports": [
"4040:8080/tcp"
],
"restart_policy": "always",
"title": "Statping",
"type": 1,
"volumes": [
{
"container": "/app",
"bind": "/portainer/Files/AppData/Config/statping"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 739
},
{
"id": 740,
"type": 1,
"title": "Steam",
"name": "Steam",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/steam/config</p>",
"description": "[Steam](https://store.steampowered.com/) is the ultimate destination for playing, discussing, and creating games.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/steam-logo.png",
"image": "linuxserver/steam:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/steam/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"title": "Stirling PDF {shmolf}",
"name": "stirling-pdf",
"categories": [
"Tools",
"PDF"
],
"description": "Your locally hosted one-stop-shop for all your PDF needs.",
"note": "To support multiple languages for OCR, per the <a target='_blank' href='https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md'>Official documentation \ud83d\uddd7</a>, download your Tess Data from <a target='_blank' href='https://github.com/tesseract-ocr/tessdata'>from another repo \ud83d\uddd7</a>. <br>Then, place said 'traineddata' files into <code>/portainer/Files/AppData/Libraries/StirlingPDF/tessdata</code> <br>For more information about login, read <a target='_blank' href='https://github.com/Stirling-Tools/Stirling-PDF?tab=readme-ov-file#prerequisites'>the official documentation \ud83d\uddd7</a>.",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/stirling-pdf.svg",
"platform": "linux",
"image": "frooodle/s-pdf:0.18.1",
"ports": [
"5417:8080/tcp"
],
"restart_policy": "unless-stopped",
"env": [
{
"label": "PUID",
"name": "PUID",
"default": "1000"
},
{
"label": "PGID",
"name": "PGID",
"default": "1000"
},
{
"label": "Enable Login",
"name": "DOCKER_ENABLE_SECURITY",
"select": [
{
"text": "Yes, enable login",
"value": "true"
},
{
"text": "No, disable login",
"value": "false",
"default": true
}
],
"description": "If you want to enable the login, you'll also need to enable login through the Config's settings.yml"
}
],
"volumes": [
{
"container": "/configs",
"bind": "/portainer/Files/AppData/Config/StirlingPDF"
},
{
"container": "/usr/share/tesseract-ocr/5/tessdata",
"bind": "/portainer/Files/AppData/Libraries/StirlingPDF/tessdata"
}
],
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 741
},
{
"categories": [
"PDF Tools",
"Productivity"
],
"description": "This is a powerful locally hosted web based PDF manipulation tool using docker that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more.",
"logo": "https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png",
"name": "stirling-pdf",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/stirling-pdf.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Stirling-PDF",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 742
},
{
"categories": [
"Media",
"Books"
],
"description": "A free and open source comics, manga, and digital book server with OPDS support. Source: https://github.com/stumpapp/stump",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "/config",
"label": "STUMP_CONFIG_DIR",
"name": "STUMP_CONFIG_DIR"
}
],
"image": "aaronleopold/stump:latest",
"logo": "https://avatars.githubusercontent.com/u/114969632",
"name": "stump",
"platform": "linux",
"ports": [
"10801:10801/tcp"
],
"restart_policy": "unless-stopped",
"title": "Stump",
"type": 1,
"volumes": [
{
"container": "/config"
},
{
"container": "/data"
}
],
"id": 743
},
{
"type": 3,
"title": "Supabase",
"name": "supabase",
"description": "The full Supabase stack, Postgres (supabase image with extensions), Auth (GoTrue), REST (PostgREST), Realtime, Storage, postgres-meta, Studio, behind the Kong gateway, adapted from the official self-hosting compose.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "supabase/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/supabase.png",
"env": [
{
"name": "ADDITIONAL_REDIRECT_URLS",
"label": "ADDITIONAL_REDIRECT_URLS"
},
{
"name": "ANON_KEY",
"label": "ANON_KEY"
},
{
"name": "ANON_KEY_ASYMMETRIC",
"label": "ANON_KEY_ASYMMETRIC"
},
{
"name": "API_EXTERNAL_URL",
"label": "API_EXTERNAL_URL"
},
{
"name": "DASHBOARD_PASSWORD",
"label": "DASHBOARD_PASSWORD"
},
{
"name": "DASHBOARD_USERNAME",
"label": "DASHBOARD_USERNAME"
},
{
"name": "DISABLE_SIGNUP",
"label": "DISABLE_SIGNUP",
"default": "false"
},
{
"name": "ENABLE_ANONYMOUS_USERS",
"label": "ENABLE_ANONYMOUS_USERS",
"default": "false"
},
{
"name": "ENABLE_EMAIL_AUTOCONFIRM",
"label": "ENABLE_EMAIL_AUTOCONFIRM",
"default": "true"
},
{
"name": "ENABLE_EMAIL_SIGNUP",
"label": "ENABLE_EMAIL_SIGNUP",
"default": "true"
},
{
"name": "ENABLE_PHONE_AUTOCONFIRM",
"label": "ENABLE_PHONE_AUTOCONFIRM",
"default": "false"
},
{
"name": "ENABLE_PHONE_SIGNUP",
"label": "ENABLE_PHONE_SIGNUP",
"default": "false"
},
{
"name": "FUNCTIONS_VERIFY_JWT",
"label": "FUNCTIONS_VERIFY_JWT",
"default": "false"
},
{
"name": "GLOBAL_S3_BUCKET",
"label": "GLOBAL_S3_BUCKET"
},
{
"name": "IMGPROXY_AUTO_WEBP",
"label": "IMGPROXY_AUTO_WEBP",
"default": "true"
},
{
"name": "JWT_EXPIRY",
"label": "JWT_EXPIRY",
"default": "3600"
},
{
"name": "JWT_SECRET",
"label": "JWT_SECRET"
},
{
"name": "MAILER_URLPATHS_CONFIRMATION",
"label": "MAILER_URLPATHS_CONFIRMATION",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_EMAIL_CHANGE",
"label": "MAILER_URLPATHS_EMAIL_CHANGE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_INVITE",
"label": "MAILER_URLPATHS_INVITE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_RECOVERY",
"label": "MAILER_URLPATHS_RECOVERY",
"default": "/auth/v1/verify"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY"
},
{
"name": "PGRST_DB_EXTRA_SEARCH_PATH",
"label": "PGRST_DB_EXTRA_SEARCH_PATH",
"default": "public"
},
{
"name": "PGRST_DB_MAX_ROWS",
"label": "PGRST_DB_MAX_ROWS",
"default": "1000"
},
{
"name": "PGRST_DB_SCHEMAS",
"label": "PGRST_DB_SCHEMAS",
"default": "public,storage,graphql_public"
},
{
"name": "PG_META_CRYPTO_KEY",
"label": "PG_META_CRYPTO_KEY"
},
{
"name": "POOLER_DB_POOL_SIZE",
"label": "POOLER_DB_POOL_SIZE",
"default": "5"
},
{
"name": "POOLER_DEFAULT_POOL_SIZE",
"label": "POOLER_DEFAULT_POOL_SIZE",
"default": "20"
},
{
"name": "POOLER_MAX_CLIENT_CONN",
"label": "POOLER_MAX_CLIENT_CONN",
"default": "100"
},
{
"name": "POOLER_PROXY_PORT_TRANSACTION",
"label": "POOLER_PROXY_PORT_TRANSACTION",
"default": "6543"
},
{
"name": "POOLER_TENANT_ID",
"label": "POOLER_TENANT_ID",
"default": "supabase"
},
{
"name": "POSTGRES_DB",
"label": "POSTGRES_DB",
"default": "postgres"
},
{
"name": "POSTGRES_HOST",
"label": "POSTGRES_HOST",
"default": "supabase-db"
},
{
"name": "POSTGRES_PASSWORD",
"label": "POSTGRES_PASSWORD"
},
{
"name": "POSTGRES_PORT",
"label": "POSTGRES_PORT",
"default": "5432"
},
{
"name": "REGION",
"label": "REGION",
"default": "local"
},
{
"name": "S3_PROTOCOL_ACCESS_KEY_ID",
"label": "S3_PROTOCOL_ACCESS_KEY_ID"
},
{
"name": "S3_PROTOCOL_ACCESS_KEY_SECRET",
"label": "S3_PROTOCOL_ACCESS_KEY_SECRET"
},
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE"
},
{
"name": "SERVICE_ROLE_KEY",
"label": "SERVICE_ROLE_KEY"
},
{
"name": "SERVICE_ROLE_KEY_ASYMMETRIC",
"label": "SERVICE_ROLE_KEY_ASYMMETRIC"
},
{
"name": "SITE_URL",
"label": "SITE_URL"
},
{
"name": "SMTP_ADMIN_EMAIL",
"label": "SMTP_ADMIN_EMAIL",
"default": "admin@example.com"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST"
},
{
"name": "SMTP_PASS",
"label": "SMTP_PASS"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_SENDER_NAME",
"label": "SMTP_SENDER_NAME",
"default": "Supabase"
},
{
"name": "SMTP_USER",
"label": "SMTP_USER"
},
{
"name": "STORAGE_TENANT_ID",
"label": "STORAGE_TENANT_ID",
"default": "supabase"
},
{
"name": "STUDIO_DEFAULT_ORGANIZATION",
"label": "STUDIO_DEFAULT_ORGANIZATION",
"default": "Default Organization"
},
{
"name": "STUDIO_DEFAULT_PROJECT",
"label": "STUDIO_DEFAULT_PROJECT",
"default": "Default Project"
},
{
"name": "SUPABASE_PUBLIC_URL",
"label": "SUPABASE_PUBLIC_URL"
},
{
"name": "SUPABASE_PUBLISHABLE_KEY",
"label": "SUPABASE_PUBLISHABLE_KEY"
},
{
"name": "SUPABASE_SECRET_KEY",
"label": "SUPABASE_SECRET_KEY"
},
{
"name": "VAULT_ENC_KEY",
"label": "VAULT_ENC_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 744
},
{
"type": 3,
"title": "Supabase Lite",
"name": "supabase-lite",
"description": "The budget cut of the supabase template: Postgres, Auth (GoTrue) and REST (PostgREST) behind the Kong gateway - the four services most Supabase apps actually use - plus the Studio dashboard. No Realtime, Storage, edge functions or pooler.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "supabase-lite/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/supabase.png",
"env": [
{
"name": "ADDITIONAL_REDIRECT_URLS",
"label": "ADDITIONAL_REDIRECT_URLS"
},
{
"name": "ANON_KEY",
"label": "ANON_KEY"
},
{
"name": "ANON_KEY_ASYMMETRIC",
"label": "ANON_KEY_ASYMMETRIC"
},
{
"name": "API_EXTERNAL_URL",
"label": "API_EXTERNAL_URL"
},
{
"name": "DASHBOARD_PASSWORD",
"label": "DASHBOARD_PASSWORD"
},
{
"name": "DASHBOARD_USERNAME",
"label": "DASHBOARD_USERNAME"
},
{
"name": "DISABLE_SIGNUP",
"label": "DISABLE_SIGNUP",
"default": "false"
},
{
"name": "ENABLE_ANONYMOUS_USERS",
"label": "ENABLE_ANONYMOUS_USERS",
"default": "false"
},
{
"name": "ENABLE_EMAIL_AUTOCONFIRM",
"label": "ENABLE_EMAIL_AUTOCONFIRM",
"default": "true"
},
{
"name": "ENABLE_EMAIL_SIGNUP",
"label": "ENABLE_EMAIL_SIGNUP",
"default": "true"
},
{
"name": "ENABLE_PHONE_AUTOCONFIRM",
"label": "ENABLE_PHONE_AUTOCONFIRM",
"default": "false"
},
{
"name": "ENABLE_PHONE_SIGNUP",
"label": "ENABLE_PHONE_SIGNUP",
"default": "false"
},
{
"name": "JWT_EXPIRY",
"label": "JWT_EXPIRY",
"default": "3600"
},
{
"name": "JWT_SECRET",
"label": "JWT_SECRET"
},
{
"name": "MAILER_URLPATHS_CONFIRMATION",
"label": "MAILER_URLPATHS_CONFIRMATION",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_EMAIL_CHANGE",
"label": "MAILER_URLPATHS_EMAIL_CHANGE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_INVITE",
"label": "MAILER_URLPATHS_INVITE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_RECOVERY",
"label": "MAILER_URLPATHS_RECOVERY",
"default": "/auth/v1/verify"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY"
},
{
"name": "PGRST_DB_EXTRA_SEARCH_PATH",
"label": "PGRST_DB_EXTRA_SEARCH_PATH",
"default": "public"
},
{
"name": "PGRST_DB_MAX_ROWS",
"label": "PGRST_DB_MAX_ROWS",
"default": "1000"
},
{
"name": "PGRST_DB_SCHEMAS",
"label": "PGRST_DB_SCHEMAS",
"default": "public,graphql_public"
},
{
"name": "PG_META_CRYPTO_KEY",
"label": "PG_META_CRYPTO_KEY"
},
{
"name": "POSTGRES_DB",
"label": "POSTGRES_DB",
"default": "postgres"
},
{
"name": "POSTGRES_HOST",
"label": "POSTGRES_HOST",
"default": "supabase-db"
},
{
"name": "POSTGRES_PASSWORD",
"label": "POSTGRES_PASSWORD"
},
{
"name": "POSTGRES_PORT",
"label": "POSTGRES_PORT",
"default": "5432"
},
{
"name": "SERVICE_ROLE_KEY",
"label": "SERVICE_ROLE_KEY"
},
{
"name": "SERVICE_ROLE_KEY_ASYMMETRIC",
"label": "SERVICE_ROLE_KEY_ASYMMETRIC"
},
{
"name": "SITE_URL",
"label": "SITE_URL"
},
{
"name": "SMTP_ADMIN_EMAIL",
"label": "SMTP_ADMIN_EMAIL",
"default": "admin@example.com"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST"
},
{
"name": "SMTP_PASS",
"label": "SMTP_PASS"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_SENDER_NAME",
"label": "SMTP_SENDER_NAME",
"default": "Supabase"
},
{
"name": "SMTP_USER",
"label": "SMTP_USER"
},
{
"name": "STUDIO_DEFAULT_ORGANIZATION",
"label": "STUDIO_DEFAULT_ORGANIZATION",
"default": "Default Organization"
},
{
"name": "STUDIO_DEFAULT_PROJECT",
"label": "STUDIO_DEFAULT_PROJECT",
"default": "Default Project"
},
{
"name": "SUPABASE_PUBLIC_URL",
"label": "SUPABASE_PUBLIC_URL"
},
{
"name": "SUPABASE_PUBLISHABLE_KEY",
"label": "SUPABASE_PUBLISHABLE_KEY"
},
{
"name": "SUPABASE_SECRET_KEY",
"label": "SUPABASE_SECRET_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 745
},
{
"type": 3,
"title": "Supabase Nano",
"name": "supabase-nano",
"description": "supabase-lite squeezed into a 1 GiB plan - the same six services (Postgres, Auth, REST, Kong, Studio, postgres-meta), memory- tuned until the whole stack, dashboard included, allocates exactly 1024 MiB.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "supabase-nano/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/supabase.png",
"env": [
{
"name": "ADDITIONAL_REDIRECT_URLS",
"label": "ADDITIONAL_REDIRECT_URLS"
},
{
"name": "ANON_KEY",
"label": "ANON_KEY"
},
{
"name": "ANON_KEY_ASYMMETRIC",
"label": "ANON_KEY_ASYMMETRIC"
},
{
"name": "API_EXTERNAL_URL",
"label": "API_EXTERNAL_URL"
},
{
"name": "DASHBOARD_PASSWORD",
"label": "DASHBOARD_PASSWORD"
},
{
"name": "DASHBOARD_USERNAME",
"label": "DASHBOARD_USERNAME"
},
{
"name": "DISABLE_SIGNUP",
"label": "DISABLE_SIGNUP",
"default": "false"
},
{
"name": "ENABLE_ANONYMOUS_USERS",
"label": "ENABLE_ANONYMOUS_USERS",
"default": "false"
},
{
"name": "ENABLE_EMAIL_AUTOCONFIRM",
"label": "ENABLE_EMAIL_AUTOCONFIRM",
"default": "true"
},
{
"name": "ENABLE_EMAIL_SIGNUP",
"label": "ENABLE_EMAIL_SIGNUP",
"default": "true"
},
{
"name": "ENABLE_PHONE_AUTOCONFIRM",
"label": "ENABLE_PHONE_AUTOCONFIRM",
"default": "false"
},
{
"name": "ENABLE_PHONE_SIGNUP",
"label": "ENABLE_PHONE_SIGNUP",
"default": "false"
},
{
"name": "JWT_EXPIRY",
"label": "JWT_EXPIRY",
"default": "3600"
},
{
"name": "JWT_SECRET",
"label": "JWT_SECRET"
},
{
"name": "MAILER_URLPATHS_CONFIRMATION",
"label": "MAILER_URLPATHS_CONFIRMATION",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_EMAIL_CHANGE",
"label": "MAILER_URLPATHS_EMAIL_CHANGE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_INVITE",
"label": "MAILER_URLPATHS_INVITE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_RECOVERY",
"label": "MAILER_URLPATHS_RECOVERY",
"default": "/auth/v1/verify"
},
{
"name": "OPENAI_API_KEY",
"label": "OPENAI_API_KEY"
},
{
"name": "PGRST_DB_EXTRA_SEARCH_PATH",
"label": "PGRST_DB_EXTRA_SEARCH_PATH",
"default": "public"
},
{
"name": "PGRST_DB_MAX_ROWS",
"label": "PGRST_DB_MAX_ROWS",
"default": "1000"
},
{
"name": "PGRST_DB_POOL",
"label": "PGRST_DB_POOL",
"default": "2"
},
{
"name": "PGRST_DB_SCHEMAS",
"label": "PGRST_DB_SCHEMAS",
"default": "public,graphql_public"
},
{
"name": "PG_META_CRYPTO_KEY",
"label": "PG_META_CRYPTO_KEY"
},
{
"name": "POSTGRES_DB",
"label": "POSTGRES_DB",
"default": "postgres"
},
{
"name": "POSTGRES_HOST",
"label": "POSTGRES_HOST",
"default": "supabase-db"
},
{
"name": "POSTGRES_PASSWORD",
"label": "POSTGRES_PASSWORD"
},
{
"name": "POSTGRES_PORT",
"label": "POSTGRES_PORT",
"default": "5432"
},
{
"name": "SERVICE_ROLE_KEY",
"label": "SERVICE_ROLE_KEY"
},
{
"name": "SERVICE_ROLE_KEY_ASYMMETRIC",
"label": "SERVICE_ROLE_KEY_ASYMMETRIC"
},
{
"name": "SITE_URL",
"label": "SITE_URL"
},
{
"name": "SMTP_ADMIN_EMAIL",
"label": "SMTP_ADMIN_EMAIL",
"default": "admin@example.com"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST"
},
{
"name": "SMTP_PASS",
"label": "SMTP_PASS"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_SENDER_NAME",
"label": "SMTP_SENDER_NAME",
"default": "Supabase"
},
{
"name": "SMTP_USER",
"label": "SMTP_USER"
},
{
"name": "STUDIO_DEFAULT_ORGANIZATION",
"label": "STUDIO_DEFAULT_ORGANIZATION",
"default": "Default Organization"
},
{
"name": "STUDIO_DEFAULT_PROJECT",
"label": "STUDIO_DEFAULT_PROJECT",
"default": "Default Project"
},
{
"name": "SUPABASE_PUBLIC_URL",
"label": "SUPABASE_PUBLIC_URL"
},
{
"name": "SUPABASE_PUBLISHABLE_KEY",
"label": "SUPABASE_PUBLISHABLE_KEY"
},
{
"name": "SUPABASE_SECRET_KEY",
"label": "SUPABASE_SECRET_KEY"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 746
},
{
"type": 3,
"title": "Supabase Pico",
"name": "supabase-pico",
"description": "Supabase's API surface - Postgres, Auth (GoTrue) and REST (PostgREST) - in 512 MiB total.",
"categories": [
"Backend Platforms"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "supabase-pico/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/supabase.png",
"env": [
{
"name": "ADDITIONAL_REDIRECT_URLS",
"label": "ADDITIONAL_REDIRECT_URLS"
},
{
"name": "ANON_KEY",
"label": "ANON_KEY"
},
{
"name": "API_EXTERNAL_URL",
"label": "API_EXTERNAL_URL"
},
{
"name": "DISABLE_SIGNUP",
"label": "DISABLE_SIGNUP",
"default": "false"
},
{
"name": "ENABLE_ANONYMOUS_USERS",
"label": "ENABLE_ANONYMOUS_USERS",
"default": "false"
},
{
"name": "ENABLE_EMAIL_AUTOCONFIRM",
"label": "ENABLE_EMAIL_AUTOCONFIRM",
"default": "true"
},
{
"name": "ENABLE_EMAIL_SIGNUP",
"label": "ENABLE_EMAIL_SIGNUP",
"default": "true"
},
{
"name": "ENABLE_PHONE_AUTOCONFIRM",
"label": "ENABLE_PHONE_AUTOCONFIRM",
"default": "false"
},
{
"name": "ENABLE_PHONE_SIGNUP",
"label": "ENABLE_PHONE_SIGNUP",
"default": "false"
},
{
"name": "JWT_EXPIRY",
"label": "JWT_EXPIRY",
"default": "3600"
},
{
"name": "JWT_SECRET",
"label": "JWT_SECRET"
},
{
"name": "MAILER_URLPATHS_CONFIRMATION",
"label": "MAILER_URLPATHS_CONFIRMATION",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_EMAIL_CHANGE",
"label": "MAILER_URLPATHS_EMAIL_CHANGE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_INVITE",
"label": "MAILER_URLPATHS_INVITE",
"default": "/auth/v1/verify"
},
{
"name": "MAILER_URLPATHS_RECOVERY",
"label": "MAILER_URLPATHS_RECOVERY",
"default": "/auth/v1/verify"
},
{
"name": "PGRST_DB_EXTRA_SEARCH_PATH",
"label": "PGRST_DB_EXTRA_SEARCH_PATH",
"default": "public"
},
{
"name": "PGRST_DB_MAX_ROWS",
"label": "PGRST_DB_MAX_ROWS",
"default": "1000"
},
{
"name": "PGRST_DB_POOL",
"label": "PGRST_DB_POOL",
"default": "2"
},
{
"name": "PGRST_DB_SCHEMAS",
"label": "PGRST_DB_SCHEMAS",
"default": "public,graphql_public"
},
{
"name": "POSTGRES_DB",
"label": "POSTGRES_DB",
"default": "postgres"
},
{
"name": "POSTGRES_HOST",
"label": "POSTGRES_HOST",
"default": "supabase-db"
},
{
"name": "POSTGRES_PASSWORD",
"label": "POSTGRES_PASSWORD"
},
{
"name": "POSTGRES_PORT",
"label": "POSTGRES_PORT",
"default": "5432"
},
{
"name": "SERVICE_ROLE_KEY",
"label": "SERVICE_ROLE_KEY"
},
{
"name": "SITE_URL",
"label": "SITE_URL"
},
{
"name": "SMTP_ADMIN_EMAIL",
"label": "SMTP_ADMIN_EMAIL",
"default": "admin@example.com"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST"
},
{
"name": "SMTP_PASS",
"label": "SMTP_PASS"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_SENDER_NAME",
"label": "SMTP_SENDER_NAME",
"default": "Supabase"
},
{
"name": "SMTP_USER",
"label": "SMTP_USER"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 747
},
{
"id": 748,
"type": 1,
"title": "Super Productivity",
"name": "super-productivity",
"description": "To-do list with timeboxing and time tracking built in, and it can pull in issues from Jira, GitHub and GitLab. Source: https://github.com/super-productivity/super-productivity",
"categories": [
"Productivity",
"Project Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/super-productivity/super-productivity/master/src/assets/icons/icon-512x512.png",
"image": "johannesjo/super-productivity:latest",
"restart_policy": "unless-stopped",
"ports": [
"8095:80/tcp"
],
"note": "Open <code>http://&lt;your-host&gt;:8095</code>. There's no login, and your tasks are saved in your browser rather than on the server, so set up sync (WebDAV, Dropbox and others) in its settings if you use more than one device. Docs: <a href=\"https://github.com/super-productivity/super-productivity#readme\" target=\"_blank\">github.com/super-productivity/super-productivity</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Superset",
"name": "superset",
"description": "Superset - the Apache BI platform: dashboards, the no-code chart builder, SQL Lab, and alerts/reports, over practically every database.",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "superset/compose.yaml"
},
"env": [
{
"name": "ADMIN_PASSWORD",
"label": "ADMIN_PASSWORD"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
},
{
"name": "SUPERSET_SECRET_KEY",
"label": "SUPERSET_SECRET_KEY"
}
],
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/apache-superset.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 749
},
{
"categories": [
"Other",
"Tools"
],
"description": "SurrealDB is an end-to-end cloud native database for web, mobile, serverless, jamstack, backend, and traditional applications.",
"image": "surrealdb/surrealdb:latest",
"name": "SurrealDB",
"env": [
{
"default": "default_username",
"label": "SDB_USERNAME",
"name": "SDB_USERNAME"
},
{
"default": "default_password",
"label": "SDB_PASSWORD",
"name": "SDB_PASSWORD"
}
],
"platform": "linux",
"ports": [
"8020:8000/tcp"
],
"command": "start --user ${SDB_USERNAME} --pass ${SDB_PASSWORD} file:/data/database.db",
"volumes": [
{
"container": "/data",
"bind": "/portainer/Files/AppData/Config/surrealdb/data"
}
],
"restart_policy": "unless-stopped",
"title": "SurrealDB",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://surrealdb.com/\" target=\"_blank\">https://surrealdb.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/surrealdb/surrealdb\" target=\"_blank\">https://hub.docker.com/r/surrealdb/surrealdb</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 750
},
{
"id": 751,
"type": 1,
"title": "Swag",
"name": "Swag",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/swag/config</p>",
"description": "SWAG - Secure Web Application Gateway (formerly known as letsencrypt, no relation to Let's Encrypt\u2122) sets up an Nginx webserver and reverse proxy with php support and a built-in certbot client that automates free SSL server certificate generation and renewal processes (Let's Encrypt and ZeroSSL). It also contains fail2ban for intrusion prevention.",
"categories": [
"Reverse Proxy"
],
"platform": "linux",
"logo": "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/swag.gif",
"image": "linuxserver/swag:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "URL",
"label": "URL",
"default": "example.com",
"description": "Top url you have control over (e.g. `example.com` if you own it, or `customsubdomain.example.com` if dynamic dns)."
},
{
"name": "VALIDATION",
"label": "VALIDATION",
"default": "http",
"description": "Certbot validation method to use, options are `http` or `dns` (`dns` method also requires `DNSPLUGIN` variable set)."
},
{
"name": "SUBDOMAINS",
"label": "SUBDOMAINS",
"default": "www,",
"description": "Subdomains you'd like the cert to cover (comma separated, no spaces) ie. `www,ftp,cloud`. For a wildcard cert, set this *exactly* to `wildcard` (wildcard cert is available via `dns` validation only) [OPTIONAL]"
},
{
"name": "CERTPROVIDER",
"label": "CERTPROVIDER",
"default": "",
"description": "Optionally define the cert provider. Set to `zerossl` for ZeroSSL certs (requires existing [ZeroSSL account](https://app.zerossl.com/signup) and the e-mail address entered in `EMAIL` env var). Otherwise defaults to Let's Encrypt. [OPTIONAL]"
},
{
"name": "CERT_PROFILE",
"label": "CERT_PROFILE",
"default": "",
"description": "Optionally define a cert profile to use for cert generation. This is useful if you want to use a custom cert profile instead of the default one. Currently only supported for Let's Encrypt. See https://letsencrypt.org/docs/profiles/ [OPTIONAL]"
},
{
"name": "DNSPLUGIN",
"label": "DNSPLUGIN",
"default": "cloudflare",
"description": "Required if `VALIDATION` is set to `dns`. Options are `acmedns`, `aliyun`, `azure`, `bunny`, `cloudflare`, `cpanel`, `desec`, `digitalocean`, `directadmin`, `dnsimple`, `dnsmadeeasy`, `dnspod`, `do`, `domeneshop`, `dreamhost`, `duckdns`, `dynu`, `freedns`, `gandi`, `gehirn`, `glesys`, `godaddy`, `google`, `he`, `hetzner`, `hetzner-cloud`, `infomaniak`, `inwx`, `ionos`, `linode`, `loopia`, `luadns`, `mijn-host`, `namecheap`, `netcup`, `njalla`, `nsone`, `ovh`, `porkbun`, `rfc2136`, `route53`, `sakuracloud`, `standalone`, `transip`, and `vultr`. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under `/config/dns-conf`. [OPTIONAL]"
},
{
"name": "PROPAGATION",
"label": "PROPAGATION",
"default": "",
"description": "Optionally override (in seconds) the default propagation time for the dns plugins. [OPTIONAL]"
},
{
"name": "EMAIL",
"label": "EMAIL",
"default": "",
"description": "Optional e-mail address used for cert expiration notifications (Required for ZeroSSL). [OPTIONAL]"
},
{
"name": "ONLY_SUBDOMAINS",
"label": "ONLY_SUBDOMAINS",
"default": "false",
"description": "If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to `true` [OPTIONAL]"
},
{
"name": "EXTRA_DOMAINS",
"label": "EXTRA_DOMAINS",
"default": "",
"description": "Additional fully qualified domain names (comma separated, no spaces) ie. `example.net,subdomain.example.net,*.example.org` [OPTIONAL]"
},
{
"name": "STAGING",
"label": "STAGING",
"default": "false",
"description": "Set to `true` to retrieve certs in staging mode. Rate limits will be much higher, but the resulting cert will not pass the browser's security test. Only to be used for testing purposes. [OPTIONAL]"
},
{
"name": "DISABLE_F2B",
"label": "DISABLE_F2B",
"default": "",
"description": "Set to `true` to disable the Fail2ban service in the container, if you're already running it elsewhere or using a different IPS. [OPTIONAL]"
},
{
"name": "SWAG_AUTORELOAD",
"label": "SWAG_AUTORELOAD",
"default": "",
"description": "Set to `true` to enable automatic reloading of confs on change without stopping/restarting nginx. Your filesystem must support inotify. This functionality was previously offered [via mod](https://github.com/linuxserver/docker-mods/tree/swag-auto-reload). [OPTIONAL]"
},
{
"name": "SWAG_AUTORELOAD_WATCHLIST",
"label": "SWAG_AUTORELOAD_WATCHLIST",
"default": "",
"description": "A [pipe](https://en.wikipedia.org/wiki/Vertical_bar)-separated list of additional folders for auto reload to watch in addition to `/config/nginx` [OPTIONAL]"
}
],
"ports": [
"443:443/tcp",
"80:80/tcp",
"443:443/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/swag/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 752,
"type": 2,
"title": "Swarm monitoring",
"description": "Monitor your cluster performances with Prometheus & Grafana",
"note": "Requires Docker version 19.03.0+. <b>Make sure to add the <code>monitoring == true</code> one of your Swarm manager node before deploying this stack.</b>",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/portainer.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "swarm/monitoring/docker-compose.yml"
},
"env": [
{
"name": "GRAFANA_USER",
"label": "Grafana admin user",
"default": "admin"
},
{
"name": "GRAFANA_PASSWORD",
"label": "Grafana admin password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 753,
"type": 1,
"title": "Synclounge",
"name": "Synclounge",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/synclounge/config</p>",
"description": "[Synclounge](https://github.com/samcm/synclounge) is a third party tool that allows you to watch Plex in sync with your friends/family, wherever you are.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/synclounge-banner.png",
"image": "linuxserver/synclounge:latest",
"env": [
{
"name": "AUTH_LIST",
"label": "AUTH_LIST",
"default": "plexuser1,plexuser2,email1,machineid1",
"description": "If set, only the users defined here and the users of the plex servers defined here will be able to access the server. Use e-mails, plex usernames and/or plex server machine ids, comma separated, no spaces. [OPTIONAL]"
}
],
"ports": [
"8088:8088/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/synclounge/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 754,
"type": 1,
"title": "Syncthing (container)",
"name": "Syncthing",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/syncthing/config<br>mkdir -p /srv/lsio/syncthing/data1<br>mkdir -p /srv/lsio/syncthing/data2</p>",
"description": "[Syncthing](https://syncthing.net) replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.",
"categories": [
"Backup"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/syncthing-banner.png",
"image": "linuxserver/syncthing:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8384:8384/tcp",
"22000:22000/tcp",
"22000:22000/udp",
"21027:21027/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/syncthing/config"
},
{
"container": "/data1",
"bind": "/srv/lsio/syncthing/data1"
},
{
"container": "/data2",
"bind": "/srv/lsio/syncthing/data2"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Sync",
"Backup",
"Cloud",
"Tools"
],
"description": "Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. ",
"logo": "https://github.com/syncthing/syncthing/raw/main/assets/logo-text-128.png",
"name": "Syncthing",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/syncthing.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Syncthing (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 755
},
{
"id": 756,
"type": 1,
"title": "Syslog-ng",
"name": "Syslog-ng",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/syslog-ng/config<br></p>",
"description": "[syslog-ng](https://www.syslog-ng.com/products/open-source-log-management/) allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure and store or route them to log analysis tools.",
"categories": [
"Monitoring"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/syslog-ng-logo.png",
"image": "linuxserver/syslog-ng:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "LOG_TO_STDOUT",
"label": "LOG_TO_STDOUT",
"default": "",
"description": "If set to `true` container will log to stdout, otherwise will log to `/config/log/`. [OPTIONAL]"
}
],
"ports": [
"514:5514/udp",
"601:6601/tcp",
"6514:6514/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/syslog-ng/config"
},
{
"container": "/var/log",
"bind": "/var/log"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Monitor",
"Other"
],
"description": "A quick way to display system stats on a 128x64 I2C OLED display.",
"env": [
{
"default": "8",
"label": "start displaying screen",
"name": "start"
},
{
"default": "23",
"label": "end displaying screen",
"name": "end"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.the-diy-life.com/\" target=\"_blank\">https://www.the-diy-life.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/mklements/OLED_Stats_Docker\" target=\"_blank\">https://github.com/mklements/OLED_Stats_Docker</a><br><br><br>Run this command first to enable is2 communication! \\nsudo raspi-config nonint do_i2c 0\\nsudo /DietPi/dietpi/func/dietpi-set_hardware i2c enable || sudo /boot/dietpi/func/dietpi-set_hardware i2c enable\\n",
"image": "mklements/oled_stats:latest",
"logo": "https://camo.githubusercontent.com/4cf4aaa1e53612347e4d48f152d6d4eea0ce93a6ecacacaa9d44061d0994b408/68747470733a2f2f7777772e7468652d6469792d6c6966652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323032322f30392f3138373137323831322d64653264653635632d626433302d343065372d613835322d3264343234656463323761622e6a7067",
"name": "OLED_Stats",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "System Stats OLED display",
"type": 1,
"volumes": [
{
"container": "/etc/timezone",
"bind": "/etc/timezone"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
}
],
"network": "host",
"privileged": true,
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 757
},
{
"id": 758,
"categories": [
"AI",
"Tools"
],
"description": "Self-owned AI control plane: governance gateway for Claude, OpenAI, and Gemini with policy checks, audit, rate limits, and MCP orchestration. Bundles Postgres. GitHub: [systempromptio/systemprompt-template](https://github.com/systempromptio/systemprompt-template)",
"env": [
{
"name": "POSTGRES_PASSWORD",
"label": "Postgres password",
"description": "Set before first deploy; the database volume is initialised with it."
},
{
"default": "",
"name": "ANTHROPIC_API_KEY",
"label": "Anthropic API key",
"description": "At least one provider key is required (leave others blank)."
},
{
"default": "",
"name": "OPENAI_API_KEY",
"label": "OpenAI API key",
"description": "Optional."
},
{
"default": "",
"name": "GEMINI_API_KEY",
"label": "Gemini API key",
"description": "Optional."
},
{
"default": "",
"name": "EXTERNAL_URL",
"label": "External URL",
"description": "Public URL of this deployment (e.g. https://gateway.example.com). Optional; used for API URL + CORS."
},
{
"default": "8080",
"name": "HTTP_PORT",
"label": "HTTP port",
"description": "Host port to publish the gateway on."
}
],
"logo": "https://raw.githubusercontent.com/systempromptio/systemprompt-template/main/storage/files/images/icon-256.png",
"name": "systemprompt",
"note": "Set at least one AI provider key or the gateway will not boot. First boot runs migrations and a publish pipeline; allow several minutes before the healthcheck passes. Optionally set EXTERNAL_URL to the public URL you will serve it on.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/systemprompt.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "systemprompt",
"type": 3
},
{
"categories": [
"Productivity",
"Dev Tools"
],
"description": "Tabby is an infinitely customizable cross-platform terminal app for local shells, serial, SSH and Telnet connections.",
"logo": "https://tabby.sh/32bf32ff6c87e8d18932.svg",
"name": "Tabby",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tabby.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tabby",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 759
},
{
"categories": [
"Other",
"VPN"
],
"command": "tailscale up --authkey=$AUTH_KEY",
"description": "Connect your devices and users together in your own secure Zero config virtual private network. ",
"env": [
{
"default": "",
"description": "Get AUTH KEY from your tailscale.com user panel",
"label": "AUTH_KEY",
"name": "AUTH_KEY"
}
],
"image": "tailscale/tailscale:stable",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/tailscale-icon.png",
"name": "tailscale",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Tailscale (container)",
"type": 1,
"volumes": [
{
"container": "/var/lib/tailscale",
"bind": "/portainer/Files/AppData/Config/tailscale"
},
{
"container": "/dev/net/tun",
"bind": "/dev/net/tun"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://tailscale.com/\" target=\"_blank\">https://tailscale.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://hub.docker.com/r/tailscale/tailscale\" target=\"_blank\">https://hub.docker.com/r/tailscale/tailscale</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 760
},
{
"categories": [
"Network",
"VPN"
],
"description": "Tailscale lets you easily manage access to private resources, quickly SSH into devices on your network, and work securely from anywhere in the world.",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/tailscale.jpg",
"name": "tailscale",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tailscale.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tailscale (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 761
},
{
"categories": [
"Tools"
],
"description": "The recipe manager that allows you to manage your ever growing collection of digital recipes.",
"logo": "https://docs.tandoor.dev/logo_color.svg",
"name": "tandoor",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tandoor.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tandoor",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 762
},
{
"id": 763,
"type": 1,
"title": "Tautulli",
"name": "Tautulli",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/tautulli/config</p>",
"description": "[Tautulli](http://tautulli.com) is a python based web application for monitoring, analytics and notifications for Plex Media Server.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/tautulli-icon.png",
"image": "linuxserver/tautulli:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"8181:8181/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/tautulli/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Multimedia"
],
"description": "Tdarr is a popular conditional transcoding application for processing large (or small) media libraries.",
"logo": "https://tdarr.io/static/media/logo3.02a3f4a3.png",
"name": "tdarr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tdarr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tdarr",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 764
},
{
"id": 765,
"type": 3,
"title": "Teable",
"name": "teable",
"description": "Spreadsheet-style database in the vein of Airtable, built on Postgres: grid, kanban, calendar, gallery and form views, file attachments, formulas, real-time collaboration and an API. Source: https://github.com/teableio/teable",
"categories": [
"Database",
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/teableio/teable/develop/apps/nextjs-app/public/images/favicon/favicon.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "TEABLE_SECRET",
"label": "Secret key (required)",
"description": "Signs logins and encrypts stored tokens. Generate one with: openssl rand -hex 32"
},
{
"name": "TEABLE_DB_PASSWORD",
"label": "Database password (required)",
"description": "Letters and numbers only, since it goes into a database URL. Generate one with: openssl rand -hex 32"
},
{
"name": "TEABLE_URL",
"label": "Address you'll open it on",
"description": "Like http://192.168.1.10:3500. Invite links and profile pictures point here, so they break on any other address.",
"default": "http://localhost:3500"
},
{
"name": "TEABLE_PORT",
"label": "Host port for the web UI",
"default": "3500"
}
],
"note": "Set the <b>secret key</b> and <b>database password</b> before you deploy, since the stack won't start without them. The first start sets up the database and takes a couple of minutes, then open <code>http://&lt;your-host&gt;:3500</code> (or whichever port you picked). The first account you sign up becomes the admin. Anyone who can reach it can sign up after that, so once you're in, switch off Allow creating new accounts under System Admin --&gt; Instance settings. Set the address field to wherever you'll open it, or invite links will point at localhost. Teable's image sends a small daily usage report to Teable (your instance ID, how many people are active, and a rough count of spaces and bases). To stop it, add <code>TEABLE_TELEMETRY_OFF</code> set to <code>true</code> to the stack's environment variables and redeploy. AI features and enterprise extras need a paid licence, everything else is free. Attachments live in the <code>teable-data</code> volume, logins in <code>teable-cache</code>, and your tables in <code>postgres-data</code>. Docs: <a href=\"https://help.teable.ai/en/deploy/docker\" target=\"_blank\">help.teable.ai</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/teable/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"DNS",
"Networking"
],
"description": "An open source authoritative and recursive DNS server with a web console for management. Source: https://github.com/TechnitiumSoftware/DnsServer",
"env": [
{
"default": "dns-server",
"label": "Server domain/identity",
"name": "DNS_SERVER_DOMAIN"
},
{
"default": "",
"label": "Web console admin password (first run only; blank = admin/admin)",
"name": "DNS_SERVER_ADMIN_PASSWORD"
}
],
"image": "technitium/dns-server:latest",
"logo": "https://avatars.githubusercontent.com/u/12230362",
"name": "technitium-dns",
"platform": "linux",
"ports": [
"5380:5380/tcp",
"53:53/tcp",
"53:53/udp"
],
"restart_policy": "unless-stopped",
"title": "Technitium DNS",
"type": 1,
"volumes": [
{
"container": "/etc/dns"
}
],
"id": 766
},
{
"type": 3,
"title": "TEI Embeddings",
"name": "tei",
"description": "TEI - Hugging Face's Rust embeddings server: small models like `BAAI/bge-small-en-v1.5` (384-dim) serve real RAG workloads from CPU in ~512 MB, over both TEI's native API and an OpenAI-compatible `/v1/embeddings` endpoint.",
"categories": [
"LLM Infrastructure"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "tei/compose.yaml"
},
"env": [
{
"name": "MODEL_ID",
"label": "MODEL_ID",
"default": "BAAI/bge-small-en-v1.5"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 767
},
{
"categories": [
"Productivity",
"Documentation"
],
"description": "Self-hostable, markdown-native team wiki: Go + PostgreSQL backend, a React editor with live Yjs collaboration, full-text + optional semantic search, WebDAV sync, public/blog spaces, Slidev decks and PDF export. A built-in MCP server makes AI agents first-class editors, and Atlas can generate a cited wiki from your existing sources (git, Jira). After the stack is up, open the app on :8780 and complete /setup to create your admin account. GitHub: [zcag/tela](https://github.com/zcag/tela)",
"env": [
{
"default": "http://localhost:8780",
"label": "Public base URL",
"name": "TELA_PUBLIC_BASE_URL"
},
{
"default": "",
"label": "Postgres password (required, no default)",
"name": "TELA_PG_PASSWORD"
},
{
"default": "",
"label": "Share secret (required) \u2014 generate with: openssl rand -hex 32",
"name": "TELA_SHARE_SECRET"
},
{
"default": "",
"label": "API key / PAT secret (required) \u2014 generate with: openssl rand -hex 32",
"name": "TELA_API_KEY_SECRET"
}
],
"logo": "https://raw.githubusercontent.com/zcag/tela/main/docs/submission-assets/app-icon-512.png",
"name": "tela",
"note": "Three secrets are required and have no defaults: <b>TELA_PG_PASSWORD</b>, <b>TELA_SHARE_SECRET</b> and <b>TELA_API_KEY_SECRET</b> (generate each with <code>openssl rand -hex 32</code>). Keep them stable across redeploys \u2014 rotating TELA_API_KEY_SECRET invalidates every personal access token, and TELA_SHARE_SECRET invalidates outstanding share links. The app is served on port 8780; open it and complete <code>/setup</code> to create the first admin.",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/tela.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "tela",
"type": 3,
"id": 768
},
{
"id": 769,
"type": 1,
"title": "Telegram",
"name": "Telegram",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/telegram/config</p>",
"description": "[Telegram](https://telegram.org/) is a cloud-based mobile and desktop messaging app.",
"categories": [
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/telegram-logo.png",
"image": "linuxserver/telegram:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/telegram/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools"
],
"description": "Teleport allows engineers and security professionals to unify access for SSH servers, Kubernetes clusters, web applications, and databases across all environments.",
"logo": "https://bookface-images.s3.amazonaws.com/logos/386100350818400a035ac8e0caa84111de3316eb.png",
"name": "teleport",
"repository": {
"stackfile": "Template/Stack/teleport.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"restart_policy": "always",
"title": "Teleport",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 770
},
{
"type": 3,
"title": "Temporal",
"name": "temporal",
"description": "Temporal - durable execution: write workflows as ordinary code and Temporal makes them crash-proof, with automatic retries, timers that survive restarts, and a complete event history.",
"categories": [
"Automation Jobs"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "temporal/compose.yaml"
},
"env": [
{
"name": "SKIP_DB_CREATE",
"label": "SKIP_DB_CREATE",
"description": "Local dev creates both databases automatically.",
"default": "false"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 771
},
{
"id": 772,
"type": 1,
"title": "Termix",
"name": "termix",
"description": "SSH terminal and server manager in the browser, with saved hosts, tunnels and a file editor. Source: https://github.com/Termix-SSH/Termix",
"categories": [
"Tools",
"Networking"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg",
"image": "ghcr.io/lukegus/termix:latest",
"restart_policy": "unless-stopped",
"ports": [
"8080:8080/tcp"
],
"volumes": [
{
"container": "/app/data"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8080</code> and create an account, which becomes the admin. Registration stays open after that, so switch it off in the admin settings unless you want other people signing up. Hosts, keys and the database live in the <code>/app/data</code> volume, and its secrets are generated there on first start. Behind a reverse proxy it needs websockets. It sends a small anonymous usage report once a day, which you can switch off in Admin Settings &gt; Usage Statistics. Docs: <a href=\"https://docs.termix.site\" target=\"_blank\">docs.termix.site</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Games",
"Other"
],
"description": "Dedicated Terraria server in a Docker container. Source: https://github.com/hexlo/terraria-server-docker",
"env": [
{
"default": "changeme123",
"label": "Server password",
"name": "SERVER_PASSWORD"
},
{
"default": "Welcome to my server!",
"label": "Message of the day",
"name": "MOTD"
}
],
"logo": "https://avatars.githubusercontent.com/u/584474",
"name": "terraria-server",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/terraria-server.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Terraria Server",
"type": 3,
"id": 773
},
{
"type": 1,
"title": "Terraria Server {shmolf}",
"name": "terraria-server",
"categories": [
"Games"
],
"description": "Docker container for a Terraria dedicated server.",
"note": "Link to <a target='_blank' href='https://terraria.fandom.com/wiki/Guide:Setting_up_a_Terraria_server'>Official documentation \ud83d\uddd7</a> for setting up the server.",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/terraria-server.png",
"platform": "linux",
"image": "passivelemon/terraria-docker:latest",
"ports": [
"7777:7777/tcp"
],
"restart_policy": "unless-stopped",
"env": [
{
"label": "PUID",
"name": "PUID",
"default": "1000"
},
{
"label": "PGID",
"name": "PGID",
"default": "1000"
},
{
"label": "World name",
"name": "WORLD",
"default": "dockerworld"
}
],
"volumes": [
{
"container": "/usr/share/tesseract-ocr/5/tessdata",
"bind": "/portainer/Files/AppData/Libraries/StirlingPDF/tessdata"
}
],
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 774
},
{
"id": 775,
"type": 1,
"title": "Thelounge",
"name": "Thelounge",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/thelounge/config</p>",
"description": "[Thelounge](https://thelounge.github.io/) (a fork of shoutIRC) is a web IRC client that you host on your own server.",
"categories": [
"Irc",
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/thelounge/thelounge/master/client/img/logo-vertical-transparent-bg.svg?sanitize=true",
"image": "linuxserver/thelounge:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"9000:9000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/thelounge/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 776,
"type": 1,
"title": "Thunderbird",
"name": "Thunderbird",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/thunderbird/config</p>",
"description": "[Thunderbird](https://www.thunderbird.net/) is a free and open-source personal information manager primarily used as an e-mail client with a calendar and contactbook, as well as an RSS feed reader, chat client, and news client.",
"categories": [
"Email"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/thunderbird-logo.png",
"image": "linuxserver/thunderbird:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/thunderbird/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "A unique, non-linear notebook wiki.",
"image": "nicolaw/tiddlywiki:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/tiddlywiki.png",
"name": "tiddlywiki",
"platform": "linux",
"ports": [
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "TiddlyWiki",
"type": 1,
"volumes": [
{
"container": "/var/lib/tiddlywiki",
"bind": "/portainer/Files/AppData/Config/TiddlyWiki"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://tiddlywiki.com/\" target=\"_blank\">https://tiddlywiki.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://gitlab.com/nicolaw/tiddlywiki\" target=\"_blank\">https://gitlab.com/nicolaw/tiddlywiki</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/install_tiddlywiki.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/install_tiddlywiki.sh | bash</h3><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 777
},
{
"id": 778,
"type": 3,
"title": "Timescale DB",
"description": "Open-source time series database developed by Timescale Inc",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://pbs.twimg.com/profile_images/1658849767865167876/hA5OXD9m_400x400.jpg",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "edge/timescaledb/docker-compose.yml"
},
"env": [
{
"name": "pgpassword",
"label": "Database root password"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Productivity",
"Time Related"
],
"description": "Open source time-tracker with an interactive user experience and powerful reporting.",
"logo": "https://timetagger.app/timetagger_wl.svg",
"name": "TimeTagger",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/timetagger.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "TimeTagger",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 779
},
{
"categories": [
"Other"
],
"description": "Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "lunik1/tt-rss:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/tt-rss-icon.png",
"name": "tt-rss",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Tiny Tiny RSS",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/tt-rss"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 780
},
{
"categories": [
"Multimedia"
],
"description": "TinyMediaManager is a media management tool written in Java/Swing. It is written to provide metadata for the Kodi Media Center (formerly known as XBMC), MediaPortal and Plex media server.",
"logo": "https://www.tinymediamanager.org/images/avatar.png",
"name": "tinymediamanager",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tinymediamanager.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "TinyMediaManager",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 781
},
{
"categories": [
"Development",
"Low Code",
"No Code"
],
"description": "Tooljet is an Open-source low-code application development platform for building and deploying business applications.",
"logo": "https://uploads-ssl.webflow.com/6266634263b9179f76b2236e/63aaa161e3b3be42ec50eb6f_Logomark.svg",
"name": "tooljet",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tooljet.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tooljet",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 782
},
{
"id": 783,
"type": 3,
"title": "TOSIBOX Lock for Container",
"description": "Lock for Container brings secure connectivity inside your industrial IoT devices",
"categories": [
"edge"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/tosibox.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/tosibox/docker-compose.yml"
},
"env": [
{
"name": "LICENSE_KEY",
"label": "License key"
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"categories": [
"Proxy",
"Security",
"Tools"
],
"description": "Cloud-Native Networking Stack That Just Works.\n\nSource: https://github.com/traefik/traefik",
"image": "traefik:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/traefik.png",
"name": "traefik",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://doc.traefik.io/traefik/\" target=\"_blank\">https://doc.traefik.io/traefik/</a><br><b>Official Docker Documentation: </b><a href=\"https://doc.traefik.io/traefik/getting-started/install-traefik/\" target=\"_blank\">https://doc.traefik.io/traefik/getting-started/install-traefik/</a><br><br><h3><b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/tools/traefik.sh\" target=\"_blank\">Pre-installation script</a> must be RAN before you install: </b>wget -qO- https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/tools/traefik.sh | bash</h3><br><br>A simple and lightweight reverse proxy",
"platform": "linux",
"ports": [
"80:80/tcp",
"443:443/tcp",
"8080:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Traefik (container)",
"type": 1,
"volumes": [
{
"container": "/traefik.yml",
"bind": "/portainer/Files/AppData/Config/traefik/traefik.yml"
},
{
"container": "/config.yml",
"bind": "/portainer/Files/AppData/Config/traefik/config.yml"
},
{
"container": "/acme.json",
"bind": "/portainer/Files/AppData/Config/traefik/acme.json"
},
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 784
},
{
"categories": [
"Web",
"Network"
],
"description": "The Cloud Native Application Proxy. Source: https://github.com/traefik/traefik",
"env": [],
"logo": "https://raw.githubusercontent.com/traefik/traefik/master/docs/content/assets/img/traefik.logo.png",
"name": "traefik",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/traefik.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"restart_policy": "unless-stopped",
"title": "Traefik (stack)",
"type": 3,
"id": 785
},
{
"categories": [
"Time Tracking"
],
"description": "Traggo is a tag-based time tracking tool. In Traggo there are no tasks, only tagged time spans.",
"logo": "https://traggo.net/images/favicon.png",
"name": "traggo",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/traggo.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Traggo",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 786
},
{
"id": 787,
"type": 1,
"title": "Transmission",
"name": "Transmission",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/transmission/config<br>mkdir -p /srv/lsio/transmission/downloads<br>mkdir -p /srv/lsio/transmission/watch</p>",
"description": "[Transmission](https://www.transmissionbt.com/) is designed for easy, powerful use. Transmission has the features you want from a BitTorrent client: encryption, a web interface, peer exchange, magnet links, DHT, \u00b5TP, UPnP and NAT-PMP port forwarding, webseed support, watch directories, tracker editing, global and per-torrent speed limits, and more.",
"categories": [
"Downloaders"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/transmission.png",
"image": "linuxserver/transmission:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "TRANSMISSION_WEB_HOME",
"label": "TRANSMISSION_WEB_HOME",
"default": "",
"description": "Specify the path to an alternative UI folder. [OPTIONAL]"
},
{
"name": "USER",
"label": "USER",
"default": "",
"description": "Specify an optional username for the interface [OPTIONAL]"
},
{
"name": "PASS",
"label": "PASS",
"default": "",
"description": "Specify an optional password for the interface [OPTIONAL]"
},
{
"name": "WHITELIST",
"label": "WHITELIST",
"default": "",
"description": "Specify an optional list of comma separated ip whitelist. Fills rpc-whitelist setting. [OPTIONAL]"
},
{
"name": "PEERPORT",
"label": "PEERPORT",
"default": "",
"description": "Specify an optional port for torrent TCP/UDP connections. Fills peer-port setting. [OPTIONAL]"
},
{
"name": "HOST_WHITELIST",
"label": "HOST_WHITELIST",
"default": "",
"description": "Specify an optional list of comma separated dns name whitelist. Fills rpc-host-whitelist setting. [OPTIONAL]"
}
],
"ports": [
"9091:9091/tcp",
"51413:51413/tcp",
"51413:51413/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/transmission/config"
},
{
"container": "/downloads",
"bind": "/srv/lsio/transmission/downloads"
},
{
"container": "/watch",
"bind": "/srv/lsio/transmission/watch"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"VPN",
"Tools"
],
"description": "This container contains OpenVPN and Transmission with a configuration\nwhere Transmission is running only when OpenVPN has an active tunnel.\nIt bundles configuration files for many popular VPN providers to make the setup easier.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "MULLVAD",
"description": "https://haugene.github.io/docker-transmission-openvpn/supported-providers/",
"label": "OPENVPN_PROVIDER",
"name": "OPENVPN_PROVIDER"
},
{
"default": "",
"description": "Optional. Mostly used to narrow down what location to use by the provider",
"label": "OPENVPN_CONFIG",
"name": "OPENVPN_CONFIG"
},
{
"default": "",
"label": "OPENVPN_USERNAME",
"name": "OPENVPN_USERNAME"
},
{
"default": "",
"label": "OPENVPN_PASSWORD",
"name": "OPENVPN_PASSWORD"
},
{
"default": "192.168.0.0/24",
"label": "LOCAL_NETWORK",
"name": "LOCAL_NETWORK"
},
{
"default": "true",
"label": "watch-dir-enabled",
"name": "TRANSMISSION_WATCH_DIR_ENABLED"
}
],
"image": "haugene/transmission-openvpn:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/transmission-icon.png",
"name": "transmission-openvpn-latest",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://transmissionbt.com/\" target=\"_blank\">https://transmissionbt.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://haugene.github.io/docker-transmission-openvpn/run-container/\" target=\"_blank\">https://haugene.github.io/docker-transmission-openvpn/run-container/</a><br><br><br>List of supported providers available <a href='https://haugene.github.io/docker-transmission-openvpn/supported-providers'/>here</a>.",
"platform": "linux",
"ports": [
"9091:9091/tcp"
],
"privileged": true,
"restart_policy": "unless-stopped",
"title": "Transmission OpenVPN Latest",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/transmission-openvpn"
},
{
"container": "/data",
"bind": "/portainer/Downloads"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 788
},
{
"categories": [
"Other",
"VPN",
"Tools"
],
"description": "This container contains OpenVPN and Transmission with a configuration\nwhere Transmission is running only when OpenVPN has an active tunnel.\nIt bundles configuration files for many popular VPN providers to make the setup easier.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "MULLVAD",
"description": "https://haugene.github.io/docker-transmission-openvpn/supported-providers/",
"label": "OPENVPN_PROVIDER",
"name": "OPENVPN_PROVIDER"
},
{
"default": "",
"description": "Optional. Mostly used to narrow down what location to use by the provider",
"label": "OPENVPN_CONFIG",
"name": "OPENVPN_CONFIG"
},
{
"default": "",
"label": "OPENVPN_USERNAME",
"name": "OPENVPN_USERNAME"
},
{
"default": "",
"label": "OPENVPN_PASSWORD",
"name": "OPENVPN_PASSWORD"
},
{
"default": "192.168.0.0/24",
"label": "LOCAL_NETWORK",
"name": "LOCAL_NETWORK"
},
{
"default": "true",
"label": "watch-dir-enabled",
"name": "TRANSMISSION_WATCH_DIR_ENABLED"
}
],
"image": "haugene/transmission-openvpn:3.7.1",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/transmission-icon.png",
"name": "transmission-openvpn",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://transmissionbt.com/\" target=\"_blank\">https://transmissionbt.com/</a><br><b>Official Docker Documentation: </b><a href=\"https://haugene.github.io/docker-transmission-openvpn/run-container/\" target=\"_blank\">https://haugene.github.io/docker-transmission-openvpn/run-container/</a><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=tGLVEq913_4&list=PL846hFPMqg3jwkxcScD1xw2bKXrJVvarc&index=5 target=\"_blank\">Novaspirit Tech - Torrent with Docker and OPENVPN with Transmission and PIA</a><br><br>List of supported providers available <a href='https://haugene.github.io/docker-transmission-openvpn/supported-providers'/>here</a>.",
"platform": "linux",
"ports": [
"9091:9091/tcp"
],
"privileged": true,
"restart_policy": "unless-stopped",
"title": "Transmission OpenVPN v3",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/transmission-openvpn"
},
{
"container": "/data",
"bind": "/portainer/Downloads"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 789
},
{
"categories": [
"VPN",
"Tools"
],
"description": "This container contains OpenVPN and Transmission with a configuration where Transmission is running only when OpenVPN has an active tunnel. It bundles configuration files for many popular VPN providers to make the setup easier.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
},
{
"default": "MULLVAD",
"description": "https://haugene.github.io/docker-transmission-openvpn/supported-providers/",
"label": "OPENVPN_PROVIDER",
"name": "OPENVPN_PROVIDER"
},
{
"default": "",
"label": "OPENVPN_USERNAME",
"name": "OPENVPN_USERNAME"
},
{
"default": "",
"label": "OPENVPN_PASSWORD",
"name": "OPENVPN_PASSWORD"
},
{
"default": "192.168.0.0/24",
"label": "LOCAL_NETWORK",
"name": "LOCAL_NETWORK"
}
],
"image": "haugene/transmission-openvpn:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/transmission-icon.png",
"name": "transmission-openvpn",
"note": "List of supported providers available <a href='https://haugene.github.io/docker-transmission-openvpn/supported-providers'/>here</a>.",
"platform": "linux",
"ports": [
"9091:9091/tcp"
],
"restart_policy": "unless-stopped",
"title": "Transmission-OpenVPN",
"type": 1,
"volumes": [
{
"container": "/data",
"bind": "/portainer/Downloads"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 790
},
{
"id": 791,
"type": 1,
"title": "TREK",
"name": "trek",
"description": "Trip planner for working out each day of a holiday on a map, with bookings, budgets, packing lists and live editing with whoever's coming along. Source: https://github.com/liketrek/TREK",
"categories": [
"Productivity",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/liketrek/TREK/main/client/public/icons/icon.svg",
"image": "mauriceboe/trek:4",
"restart_policy": "unless-stopped",
"ports": [
"8099:3000/tcp"
],
"volumes": [
{
"container": "/app/data"
},
{
"container": "/app/uploads"
}
],
"env": [
{
"name": "COOKIE_SECURE",
"label": "Opening it over plain http?",
"description": "TREK only sends its login cookie over HTTPS unless this is on. Switch it off once it's behind a reverse proxy with HTTPS.",
"select": [
{
"text": "Yes, plain http",
"value": "false",
"default": true
},
{
"text": "No, it's behind HTTPS",
"value": "true"
}
]
},
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London. Reminders and scheduled jobs run on it.",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8099</code> and sign in as <code>admin@trek.local</code>. The password's printed in the container's logs on first start (search them for First Run), and TREK makes you pick a new one straight away. Anyone who can reach it can register their own account, so switch off Password Registration under Administration --&gt; Settings if that's not what you want. Place search asks TREK's own places.liketrek.com as well as OpenStreetMap, add a <code>TREK_PLACES_ENABLED=false</code> env to keep it to OpenStreetMap. The database, its encryption key and every upload live in the two volumes. Docs: <a href=\"https://github.com/liketrek/TREK/wiki\" target=\"_blank\">github.com/liketrek/TREK/wiki</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Productivity"
],
"description": "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases",
"env": [
{
"default": "/home/node/trilium-data",
"label": "TRILIUM_DATA_DIR",
"name": "TRILIUM_DATA_DIR"
},
{
"label": "PORT",
"name": "PORT"
}
],
"image": "zadam/trilium:latest",
"logo": "https://www.saashub.com/images/app/service_logos/55/2901389fab77/large.png?1561117248",
"name": "trilium",
"platform": "linux",
"ports": [
"3388:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Trilium",
"type": 1,
"volumes": [
{
"container": "/home/node/trilium-data",
"bind": "/portainer/Files/AppData/Config/trilium-data"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 792
},
{
"categories": [
"Productivity"
],
"description": "Minimalist Map tracker and Trip planner to visualize your points of interest (POI) and organize your next adventure details. Self-hosted with no telemetry, no tracking, no ads.",
"logo": "https://github.com/itskovacs/trip/raw/main/src/public/favicon.png",
"name": "trip",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/trip.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "TRIP",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 793
},
{
"categories": [
"Productivity"
],
"description": "Trudesk is an Open Source Help Desk Software and Ticketing System",
"logo": "https://trudesk.io/wp-content/uploads/2019/10/logo-med.png",
"name": "trudesk",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/trudesk.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Trudesk",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 794
},
{
"categories": [
"Multimedia"
],
"description": "Tubearchivist is your self hosted YouTube media server",
"logo": "https://nas.mengkai.fun:88/images/2023/11/17/tube-archivist.png",
"name": "tubearchivist",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/tubearchivist.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Tubearchivist",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 795
},
{
"id": 796,
"type": 3,
"title": "tududi",
"name": "tududi",
"description": "Task manager for organising your life into areas, projects and tasks, with notes, tags, recurring tasks, Today and Upcoming views, and CalDAV sync with your other apps. Source: https://github.com/chrisvel/tududi",
"categories": [
"Productivity",
"Project Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/chrisvel/tududi/main/public/icon-logo.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "TUDUDI_EMAIL",
"label": "Admin email",
"default": "admin@example.com",
"description": "What you'll log in with. Doesn't need to be a real address."
},
{
"name": "TUDUDI_PASSWORD",
"label": "Admin password (required)",
"description": "Anything long and hard to guess."
},
{
"name": "TUDUDI_SESSION_SECRET",
"label": "Session secret (required)",
"description": "Signs logins and encrypts saved notification settings. Generate one with: openssl rand -hex 64"
},
{
"name": "TUDUDI_PORT",
"label": "Host port for the web UI",
"default": "3002"
}
],
"note": "Set the <b>admin password</b> and <b>session secret</b> before you deploy (<code>openssl rand -hex 64</code> makes a good secret), since the stack won't start without them. Then open <code>http://&lt;your-host&gt;:3002</code> (or whichever port you picked) and log in with that email and password. The welcome page you land on first plays an intro video from YouTube. Sign-ups are off, so add other people from Access in the sidebar.The account is only made on the first start: changing the password here later does nothing (change it in your profile instead), and changing the email makes a second admin. Tasks, notes and settings live in <code>tududi-db</code>, attachments in <code>tududi-uploads</code> and backups in <code>tududi-backups</code>. Docs: <a href=\"https://docs.tududi.com\" target=\"_blank\">docs.tududi.com</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/tududi/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"id": 797,
"type": 1,
"title": "Tvheadend",
"name": "Tvheadend",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/tvheadend/config<br>mkdir -p /srv/lsio/tvheadend/recordings</p>",
"description": "[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/tvheadend-big.png",
"image": "linuxserver/tvheadend:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "RUN_OPTS",
"label": "RUN_OPTS",
"default": "",
"description": "Optionally specify additional arguments to be passed. See Additional runtime parameters. [OPTIONAL]"
}
],
"ports": [
"9981:9981/tcp",
"9982:9982/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/tvheadend/config"
},
{
"container": "/recordings",
"bind": "/srv/lsio/tvheadend/recordings"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Twenty CRM",
"name": "twenty",
"description": "Twenty - the open-source CRM rethought for this decade: a modern data model (any object, custom fields), pipelines, notes, tasks, email sync, and workflows.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "twenty/compose.yaml"
},
"env": [
{
"name": "ENCRYPTION_KEY",
"label": "ENCRYPTION_KEY"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -base64 24"
},
{
"name": "SERVER_URL",
"label": "SERVER_URL",
"description": "Must EXACTLY match the public URL (https domain on Miget).",
"default": "http://localhost:5000"
}
],
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/twenty-crm.png",
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 798
},
{
"categories": [
"Tools",
"Other"
],
"description": "A simple script that will watch a stream for you and earn the channel points.",
"image": "rdavidoff/twitch-channel-points-miner-v2:latest",
"logo": "https://raw.githubusercontent.com/Qballjos/portainer_templates/master/Images/twitchpointsminer.png",
"name": "twitch-points-miner",
"note": "Requires run.py, this is your starter script with your configuration. Please copy and modify accordingly <a href='https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/tree/master?tab=readme-ov-file#how-to-use'/>Here</a>",
"platform": "linux",
"ports": [
"5000:5000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Twitch Points Miner",
"type": 1,
"volumes": [
{
"container": "/usr/src/app/run.py",
"bind": "/portainer/Files/AppData/Config/TwitchPointsMiner/run.py"
},
{
"container": "/usr/src/app/cookies",
"bind": "/portainer/Files/AppData/TwitchPointsMiner/cookies"
},
{
"container": "/usr/src/app/logs",
"bind": "/portainer/Files/AppData/TwitchPointsMiner/logs"
},
{
"container": "/usr/src/app/analytics",
"bind": "/portainer/Files/AppData/TwitchPointsMiner/analytics"
}
],
"maintainer": "https://github.com/Qballjos/portainer_templates/",
"id": 799
},
{
"type": 3,
"title": "Typebot",
"name": "typebot",
"description": "Typebot - the open-source conversational form builder: drag-and-drop bot flows that outconvert static forms, embeds for any site, and results analytics. Two stateless apps (builder + viewer) on one managed Postgres.",
"categories": [
"Business Apps"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "typebot/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/typebot.png",
"env": [
{
"name": "ADMIN_EMAIL",
"label": "ADMIN_EMAIL",
"description": "This account gets the unlimited plan in your instance.",
"default": "admin@example.com"
},
{
"name": "DISABLE_SIGNUP",
"label": "DISABLE_SIGNUP",
"description": "Set true after your team has signed up.",
"default": "false"
},
{
"name": "ENCRYPTION_SECRET",
"label": "ENCRYPTION_SECRET",
"description": "EXACTLY 32 characters, identical on both apps: openssl rand -base64 24 | tr -d '\\n'"
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"description": "Public URLs (the two apps' https domains on Miget).",
"default": "http://localhost:5000"
},
{
"name": "NEXT_PUBLIC_SMTP_FROM",
"label": "NEXT_PUBLIC_SMTP_FROM"
},
{
"name": "NEXT_PUBLIC_VIEWER_URL",
"label": "NEXT_PUBLIC_VIEWER_URL",
"default": "http://localhost:5001"
},
{
"name": "SMTP_HOST",
"label": "SMTP_HOST",
"description": "Magic-link login emails (mailpit works for testing)."
},
{
"name": "SMTP_PASSWORD",
"label": "SMTP_PASSWORD"
},
{
"name": "SMTP_PORT",
"label": "SMTP_PORT",
"default": "587"
},
{
"name": "SMTP_USERNAME",
"label": "SMTP_USERNAME"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 800
},
{
"type": 3,
"title": "Typesense",
"name": "typesense",
"description": "Typesense - the typo-tolerant instant-search engine built for raw speed: a C++ binary with in-memory indexes, facets, filtering, vector + hybrid search, and an InstantSearch-compatible adapter.",
"categories": [
"Search Vectors"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "typesense/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/typesense.png",
"env": [
{
"name": "TYPESENSE_API_KEY",
"label": "TYPESENSE_API_KEY",
"description": "Admin API key - derive scoped search-only keys for clients."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 801
},
{
"id": 802,
"type": 1,
"title": "Ubooquity",
"name": "Ubooquity",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ubooquity/config<br>mkdir -p /srv/lsio/ubooquity/books<br>mkdir -p /srv/lsio/ubooquity/comics<br>mkdir -p /srv/lsio/ubooquity/files</p>",
"description": "[Ubooquity](https://vaemendis.net/ubooquity/) is a free, lightweight and easy-to-use home server for your comics and ebooks. Use it to access your files from anywhere, with a tablet, an e-reader, a phone or a computer.",
"categories": [
"Books"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ubooquity-banner.png",
"image": "linuxserver/ubooquity:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "MAXMEM",
"label": "MAXMEM",
"default": "",
"description": "To set the maximum memory. ( ex: set '1024' for 1GB ) [OPTIONAL]"
}
],
"ports": [
"2202:2202/tcp",
"2203:2203/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ubooquity/config"
},
{
"container": "/books",
"bind": "/srv/lsio/ubooquity/books"
},
{
"container": "/comics",
"bind": "/srv/lsio/ubooquity/comics"
},
{
"container": "/files",
"bind": "/srv/lsio/ubooquity/files"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 803,
"type": 1,
"title": "Ubuntu",
"description": "Debian-based Linux operating system",
"categories": [
"Operating System"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ubuntu.png",
"image": "ubuntu:latest",
"interactive": true,
"command": "/bin/bash",
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 3,
"title": "Umami",
"name": "umami",
"description": "Umami v3 - privacy-first web analytics: no cookies, no cross-site tracking, GDPR/PECR-friendly, with a clean dashboard and a ~2 KB tracking script. One stateless container + a managed Postgres (Umami v3 dropped MySQL - Postgres only).",
"categories": [
"Monitoring Analytics"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "umami/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/umami.png",
"env": [
{
"name": "APP_SECRET",
"label": "APP_SECRET",
"description": "Signs auth tokens - unique per install."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 804
},
{
"categories": [
"Analytics"
],
"description": "Umami is a simple, easy to use, self-hosted web analytics solution. The goal is to provide you with a friendlier, privacy-focused alternative to Google Analytics and a free, open-sourced alternative to paid solutions",
"logo": "https://icons.duckduckgo.com/ip3/umami.is.ico",
"name": "umami",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/umami.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"ports": [
"3000:3000/tcp"
],
"title": "Umami.is",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 805
},
{
"id": 806,
"type": 1,
"title": "Ungoogled-chromium",
"name": "Ungoogled-chromium",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/ungoogled-chromium/config</p>",
"description": "[Ungoogled Chromium](https://github.com/ungoogled-software/ungoogled-chromium) is Google Chromium, sans dependency on Google web services.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/ungoogled-chromium-logo.png",
"image": "linuxserver/ungoogled-chromium:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CHROME_CLI",
"label": "CHROME_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Chromium CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/ungoogled-chromium/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Management",
"Tools"
],
"description": "The Unifi-controller Controller software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "100",
"label": "PGID",
"name": "PGID"
}
],
"image": "linuxserver/unifi-controller:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/unifi-icon.png",
"name": "unifi-controller",
"platform": "linux",
"ports": [
"3478:3478/udp",
"10001:10001/udp",
"8080:8080/tcp",
"8081:8081/tcp",
"8443:8443/tcp",
"8843:8843/tcp",
"8880:8880/tcp",
"6789:6789/tcp"
],
"restart_policy": "unless-stopped",
"title": "UniFi Controller",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Unifi"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 807
},
{
"categories": [
"CCTV"
],
"description": "UniFi Video is a powerful and flexible, integrated IP video management surveillance system designed to work with Ubiquiti\u2019s UniFi Video Camera product line. UniFi Video has an intuitive, configurable, and feature\u2011packed user interface with advanced features such as motion detection, auto\u2011discovery, user\u2011level security, storage management, reporting, and mobile device support.",
"env": [
{
"default": "99",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"default": "002",
"label": "UMASK",
"name": "UMASK"
},
{
"default": "UniFi Video",
"label": "CONTEXT_PATH",
"name": "CONTEXT_PATH"
}
],
"image": "pducharme/unifi-video-controller:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/unifivideo-icon.png",
"name": "UniFi Video",
"platform": "linux",
"ports": [
"1935:1935/tcp",
"7444:7444/tcp",
"7447:7447/tcp",
"6666:6666/tcp",
"7442:7442/tcp",
"7080:7080/tcp",
"7443:7443/tcp",
"7445:7445/tcp",
"7446:7446/tcp"
],
"restart_policy": "unless-stopped",
"title": "UniFi Video",
"type": 1,
"volumes": [
{
"container": "/recordings",
"bind": "/portainer/Files/AppData/Config/UnifFiVideo/Recordings/"
},
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/UniFiVideo/"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/pducharme/UniFi-Video-Controller\" target=\"_blank\">https://github.com/pducharme/UniFi-Video-Controller</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/pducharme/UniFi-Video-Controller\" target=\"_blank\">https://github.com/pducharme/UniFi-Video-Controller</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 808
},
{
"id": 809,
"type": 1,
"title": "Unifi-network-application",
"name": "Unifi-network-application",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/unifi-network-application/config</p>",
"description": "The [Unifi-network-application](https://ui.com/) software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance.",
"categories": [
"Network"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/unifi-banner.png",
"image": "linuxserver/unifi-network-application:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "MONGO_USER",
"label": "MONGO_USER",
"default": "unifi",
"description": "Mongodb Username. Only evaluated on first run. **Special characters must be [url encoded](https://en.wikipedia.org/wiki/Percent-encoding)**."
},
{
"name": "MONGO_PASS",
"label": "MONGO_PASS",
"default": "",
"description": "Mongodb Password. Only evaluated on first run. **Special characters must be [url encoded](https://en.wikipedia.org/wiki/Percent-encoding)**."
},
{
"name": "MONGO_HOST",
"label": "MONGO_HOST",
"default": "unifi-db",
"description": "Mongodb Hostname. Only evaluated on first run."
},
{
"name": "MONGO_PORT",
"label": "MONGO_PORT",
"default": "27017",
"description": "Mongodb Port. Only evaluated on first run."
},
{
"name": "MONGO_DBNAME",
"label": "MONGO_DBNAME",
"default": "unifi",
"description": "Mongodb Database Name (stats DB is automatically suffixed with `_stat`). Only evaluated on first run."
},
{
"name": "MONGO_AUTHSOURCE",
"label": "MONGO_AUTHSOURCE",
"default": "admin",
"description": "Mongodb [authSource](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.authSource). For Atlas set to `admin`. Only evaluated on first run."
},
{
"name": "MEM_LIMIT",
"label": "MEM_LIMIT",
"default": "1024",
"description": "Optionally change the Java memory limit (in Megabytes). Set to `default` to reset to default [OPTIONAL]"
},
{
"name": "MEM_STARTUP",
"label": "MEM_STARTUP",
"default": "1024",
"description": "Optionally change the Java initial/minimum memory (in Megabytes). Set to `default` to reset to default [OPTIONAL]"
},
{
"name": "MONGO_TLS",
"label": "MONGO_TLS",
"default": "",
"description": "Mongodb enable [TLS](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.tls). Only evaluated on first run. [OPTIONAL]"
}
],
"ports": [
"8443:8443/tcp",
"3478:3478/udp",
"10001:10001/udp",
"8080:8080/tcp",
"1900:1900/udp",
"8843:8843/tcp",
"8880:8880/tcp",
"6789:6789/tcp",
"5514:5514/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/unifi-network-application/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Unleash",
"name": "unleash",
"description": "Unleash - the open-source feature flag and toggle platform: gradual rollouts, user/segment targeting, A/B testing, kill switches, and SDKs for every language. Single stateless container on a managed Postgres (no Redis).",
"categories": [
"Dev Tools"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "unleash/compose.yaml"
},
"env": [
{
"name": "DATABASE_SSL",
"label": "DATABASE_SSL",
"description": "Set to '{\"rejectUnauthorized\":false}' for a TLS Postgres without a CA."
},
{
"name": "INIT_ADMIN_API_TOKENS",
"label": "INIT_ADMIN_API_TOKENS",
"description": "Optional: seed an admin API token (e.g."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 810
},
{
"categories": [
"Tools"
],
"description": "Unmanic is a simple tool for optimising your file library. You can use it to convert your files into a single, uniform format, manage file movements based on timestamps, or execute custom commands against a file based on its file size.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "josh5/unmanic:latest",
"logo": "https://docs.unmanic.app/img/icon.png",
"name": "unmanic",
"platform": "linux",
"ports": [
"8888:8888/tcp"
],
"restart_policy": "unless-stopped",
"title": "Unmanic",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/unmanic/config"
},
{
"container": "/library",
"bind": "/portainer/Files/AppData/Config/unmanic/library"
},
{
"container": "/tmp/unmanic",
"bind": "/portainer/Files/AppData/Config/unmanic/tmp"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://docs.unmanic.app/\" target=\"_blank\">https://docs.unmanic.app/</a><br><b>Official Docker Documentation: </b><a href=\"https://docs.unmanic.app/docs/installation/docker\" target=\"_blank\">https://docs.unmanic.app/docs/installation/docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 811
},
{
"categories": [
"Network"
],
"description": "UpSnap is a simple wake on lan app written with SvelteKit, Go, PocketBase and nmap.",
"logo": "https://github.com/seriousm4x/UpSnap/raw/master/frontend/static/favicon.png",
"name": "upsnap",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/upsnap.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Upsnap",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 812
},
{
"categories": [
"Other",
"Tools"
],
"description": "It is a self-hosted monitoring tool like 'Uptime Robot'.",
"image": "louislam/uptime-kuma:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/uptime-kuma.png",
"name": "uptime-kuma",
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/louislam/uptime-kuma\" target=\"_blank\">https://github.com/louislam/uptime-kuma</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install#-docker\" target=\"_blank\">https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install#-docker</a><br><br><br>A fancy self-hosted monitoring tool.",
"platform": "linux",
"ports": [
"3001:3001/tcp"
],
"restart_policy": "unless-stopped",
"title": "Uptime Kuma (container)",
"type": 1,
"volumes": [
{
"container": "/app/data",
"bind": "/portainer/Files/AppData/Config/uptime-kuma"
}
],
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 813
},
{
"categories": [
"Tools",
"Network"
],
"description": "It is a self-hosted monitoring tool like Uptime Robot",
"logo": "https://images.opencollective.com/uptime-kuma/29c5113/logo/256.png",
"name": "uptime-kuma",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/uptimekuma.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Uptime Kuma (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 814
},
{
"categories": [
"Backup"
],
"description": "UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time.",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
}
],
"image": "uroni/urbackup-server:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/urbackup.png",
"name": "UrBackup",
"platform": "linux",
"ports": [
"55415:55415/tcp",
"55414:55414/tcp"
],
"restart_policy": "unless-stopped",
"title": "UrBackup",
"type": 1,
"volumes": [
{
"container": "/var/urbackup",
"bind": "/portainer/Files/AppData/Config/urbackup"
},
{
"container": "/backup",
"bind": "/portainer/backups"
}
],
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://www.urbackup.org/\" target=\"_blank\">https://www.urbackup.org/</a><br><b>Official Docker Documentation: </b><a href=\"https://www.github.com/uroni/urbackup-server-docker\" target=\"_blank\">https://www.github.com/uroni/urbackup-server-docker</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 815
},
{
"type": 1,
"name": "urlwatch",
"title": "UrlWatch",
"description": "A tool for monitoring webpages for updates",
"logo": "https://mediadepot.github.io/templates/img/urlwatch.png",
"image": "mediadepot/urlwatch:master",
"categories": [
"Tools"
],
"ports": [
"8081/tcp"
],
"volumes": [
{
"container": "/srv/urlwatch/config",
"bind": "/opt/mediadepot/apps/urlwatch"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.urlwatch.loadbalancer.server.port",
"value": "8081"
},
{
"name": "traefik.http.routers.urlwatch.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.urlwatch.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 816
},
{
"id": 817,
"type": 3,
"title": "USCIS Tracker",
"name": "uscis-tracker",
"description": "Know what moved on your green card case, and when your date comes up.",
"note": "One tap from a signed-in my.uscis.gov tab reads every case in your household. The tracker keeps the full history, shows what changed since you last looked (including the updates USCIS never announces), and estimates when the visa bulletin will reach your priority date. Open http://&lt;server&gt;:5181 after it starts.",
"categories": [
"Utilities"
],
"platform": "linux",
"logo": "https://armanckeser.github.io/selfhost-apps/portainer/uscis-tracker.png",
"repository": {
"url": "https://github.com/armanckeser/uscis-tracker",
"stackfile": "docker-compose.selfhost.yml"
},
"env": [
{
"name": "TAG",
"label": "Version",
"default": "0.3.0"
},
{
"name": "PORT",
"label": "Web port on this server",
"default": "5181"
},
{
"name": "AUTH_PASSWORD",
"label": "Password for the app (leave empty for no login)",
"description": "Set one if anyone else on your network can reach this server.",
"default": ""
}
],
"maintainer": "https://github.com/armanckeser/selfhost-apps/"
},
{
"type": 3,
"title": "useSend",
"name": "usesend",
"description": "useSend (formerly Unsend) - the open-source Resend alternative: transactional email API, campaigns, contacts, and delivery analytics, with the actual sending done by your AWS SES (~$0.10 per 1,000 emails - deliverability is SES's job, the",
"categories": [
"Email Newsletters"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "usesend/compose.yaml"
},
"env": [
{
"name": "AWS_ACCESS_KEY_ID",
"label": "AWS_ACCESS_KEY_ID",
"description": "AWS SES credentials - useSend delivers through YOUR SES."
},
{
"name": "AWS_DEFAULT_REGION",
"label": "AWS_DEFAULT_REGION",
"default": "us-east-1"
},
{
"name": "AWS_SECRET_ACCESS_KEY",
"label": "AWS_SECRET_ACCESS_KEY"
},
{
"name": "GITHUB_ID",
"label": "GITHUB_ID",
"description": "GitHub OAuth app (login provider) - callback: <NEXTAUTH_URL>/api/auth/callback/github"
},
{
"name": "GITHUB_SECRET",
"label": "GITHUB_SECRET"
},
{
"name": "NEXTAUTH_SECRET",
"label": "NEXTAUTH_SECRET"
},
{
"name": "NEXTAUTH_URL",
"label": "NEXTAUTH_URL",
"description": "Public URL (the app's https domain on Miget).",
"default": "http://localhost:5000"
},
{
"name": "REDIS_AUTH",
"label": "REDIS_AUTH",
"default": "# openssl rand -hex 24"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 818
},
{
"categories": [
"Games",
"Other"
],
"description": "Valheim dedicated gameserver in Docker with full modding support. Source: https://github.com/lloesche/valheim-server-docker",
"env": [
{
"default": "My Server",
"label": "Server name (shown in the browser)",
"name": "SERVER_NAME"
},
{
"default": "Dedicated",
"label": "World/save name",
"name": "WORLD_NAME"
},
{
"default": "changeme123",
"label": "Server password (minimum 5 characters)",
"name": "SERVER_PASS"
},
{
"default": "Etc/UTC",
"label": "Timezone",
"name": "TZ"
}
],
"logo": "https://avatars.githubusercontent.com/u/82116562",
"name": "valheim-server-docker",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/valheim-server-docker.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Valheim Server",
"type": 3,
"id": 819
},
{
"type": 3,
"title": "Valkey",
"name": "valkey",
"description": "Valkey - the BSD-licensed, Redis-compatible in-memory data store, forked and stewarded by the Linux Foundation after Redis changed its license. Drop-in for Redis clients: caching, queues, pub/sub, streams, and data structures.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "valkey/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/valkey.png",
"env": [
{
"name": "VALKEY_PASSWORD",
"label": "VALKEY_PASSWORD",
"description": "Valkey password (requirepass)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 820
},
{
"type": 3,
"title": "Valkey Cluster",
"name": "valkey-cluster",
"description": "Horizontally-scaled Valkey where the keyspace is partitioned across multiple master shards, each with a replica - the same design as Redis Cluster, BSD-licensed and Redis-protocol compatible.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "valkey-cluster/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/valkey.png",
"env": [
{
"name": "VALKEY_PASSWORD",
"label": "VALKEY_PASSWORD",
"description": "Shared Valkey password (all nodes + the cluster-forming init)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 821
},
{
"type": 3,
"title": "Valkey Sentinel",
"name": "valkey-sentinel",
"description": "High availability for Valkey with automatic failover, using Valkey's built-in Sentinel (the same design as Redis Sentinel). One master, two replicas, and three sentinels that watch the master and promote a replica if it fails.",
"categories": [
"Caches Key Value"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "valkey-sentinel/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/valkey.png",
"env": [
{
"name": "VALKEY_PASSWORD",
"label": "VALKEY_PASSWORD",
"description": "Shared Valkey password (master, replicas, and sentinel auth)."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 822
},
{
"categories": [
"Tools"
],
"description": "This is a Bitwarden server API implementation written in Rust compatible with upstream Bitwarden clients*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.",
"image": "vaultwarden/server:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/bitwarden.png",
"name": "vaultwarden",
"note": "This project is not associated with the Bitwarden project nor 8bit Solutions LLC.",
"platform": "linux",
"ports": [
"80/tcp"
],
"restart_policy": "unless-stopped",
"title": "Vaultwarden (container)",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Vaultwarden"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 823
},
{
"type": 3,
"title": "Vaultwarden (stack)",
"name": "vaultwarden",
"description": "Vaultwarden - the Bitwarden-compatible server in Rust: the official Bitwarden browser extensions, mobile and desktop apps, and CLI all connect to it unchanged. One ~tiny container + a 2 GB volume (SQLite, attachments, keys).",
"categories": [
"Security"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "vaultwarden/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/vaultwarden.png",
"env": [
{
"name": "ADMIN_TOKEN",
"label": "ADMIN_TOKEN",
"description": "Optional admin page token - argon2 PHC hash, NOT plaintext: docker run --rm -it vaultwarden/server /vaultwarden hash --preset owasp In .env files, keep the hash"
},
{
"name": "DOMAIN",
"label": "DOMAIN",
"description": "Full public URL of the instance (https in production - WebAuthn and email links depend on it).",
"default": "http://localhost:5000"
},
{
"name": "SIGNUPS_ALLOWED",
"label": "SIGNUPS_ALLOWED",
"description": "Close after creating your accounts (org invitations still work).",
"default": "true"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 824
},
{
"id": 825,
"type": 1,
"title": "Verdaccio",
"name": "verdaccio",
"description": "Private npm registry and caching proxy: publish your own packages to it, and install everything else through it so npmjs downloads get cached locally. Works with npm, yarn and pnpm. Source: https://github.com/verdaccio/verdaccio",
"categories": [
"Development",
"Storage"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/verdaccio/verdaccio/master/packages/ui-components/src/components/Logo/img/logo.svg",
"image": "verdaccio/verdaccio:6",
"restart_policy": "unless-stopped",
"ports": [
"4873:4873/tcp"
],
"volumes": [
{
"container": "/verdaccio/storage"
}
],
"note": "Open <code>http://&lt;your-host&gt;:4873</code> to browse packages, and point npm at it with <code>npm config set registry http://&lt;your-host&gt;:4873/</code>. Anything it doesn't host comes from npmjs and gets cached. There's no admin: <code>npm login --registry http://&lt;your-host&gt;:4873/</code> makes an account the first time, and any account can publish and unpublish any package. Sign-ups stay open and packages can be read without logging in, which is upstream's default and only changes in its config.yaml, so keep it on your own network. Authors with an email get their avatar from Gravatar in the web UI. Accounts, packages, the npmjs cache and the generated token secret live in the volume. Docs: <a href=\"https://www.verdaccio.org/docs/docker\" target=\"_blank\">verdaccio.org</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Tools",
"Productivity"
],
"description": "The to-do app to organize your life.| Before use create custom template and Edit: VIKUNJA_SERVICE_FRONTENDURL , VIKUNJA_API_URL & VIKUNJA_SERVICE_JWTSECRET",
"env": [
{
"default": "1000",
"label": "PUID",
"name": "PUID"
},
{
"default": "1000",
"label": "PGID",
"name": "PGID"
},
{
"label": "PORT",
"name": "PORT"
}
],
"logo": "https://vikunja.io/images/vikunja.png",
"name": "Vikunja",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/vikunja.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Vikunja",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 826
},
{
"id": 827,
"type": 1,
"title": "Vivaldi",
"name": "Vivaldi",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/vivaldi/config</p>",
"description": "[Vivaldi](https://vivaldi.com/) is a Norwegian freeware, cross-platform web browser with a built-in email client developed by Vivaldi Technologies.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vivaldi-logo.png",
"image": "linuxserver/vivaldi:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "VIVALDI_CLI",
"label": "VIVALDI_CLI",
"default": "https://www.linuxserver.io/",
"description": "Specify one or multiple Vivaldi CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/vivaldi/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 828,
"type": 1,
"title": "Vlc",
"name": "Vlc",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/vlc/config</p>",
"description": "[VLC Media Player](https://www.videolan.org/vlc/) is a free and open source cross-platform multimedia player and framework that delivers dependable performance across multiple devices.",
"categories": [
"Media Management"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vlc-logo.png",
"image": "linuxserver/vlc:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "VLC_CLI",
"label": "VLC_CLI",
"default": "--no-qt-minimal-view",
"description": "Specify one or multiple VLC CLI flags, this string will be passed to the application in full. [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/vlc/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"Tools"
],
"description": "This is a replacement for Microsoft's KMS server.",
"image": "mikolatero/vlmcsd:latest",
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/vlmcsd.png",
"name": "vlmcsd-kms",
"platform": "linux",
"ports": [
"1688:1688/tcp"
],
"restart_policy": "unless-stopped",
"title": "Vlmcsd - KMS",
"type": 1,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://hub.docker.com/r/mikolatero/vlmcsd\" target=\"_blank\">https://hub.docker.com/r/mikolatero/vlmcsd</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/mikolatero/docker-vlmcsd\" target=\"_blank\">https://github.com/mikolatero/docker-vlmcsd</a><br><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 829
},
{
"id": 830,
"type": 1,
"title": "Vscode",
"name": "Vscode",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/vscode/config</p>",
"description": "[VS Code](https://code.visualstudio.com/) is an integrated development environment developed by Microsoft. This container runs the full desktop application, for a web native version see [Code Server](https://github.com/linuxserver/docker-code-server).",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vscode-logo.png",
"image": "linuxserver/vscode:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/vscode/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 831,
"type": 1,
"title": "Vscodium",
"name": "Vscodium",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/vscodium/config</p>",
"description": "[VSCodium](https://vscodium.com/) is a community-driven, freely-licensed binary distribution of Microsoft\u2019s editor VS Code.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vscodium-icon.png",
"image": "linuxserver/vscodium:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/vscodium/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 832,
"type": 1,
"title": "Vscodium-web",
"name": "Vscodium-web",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/vscodium-web/config</p>",
"description": "[Vscodium-web](https://vscodium.com/) is a community-driven, freely-licensed binary distribution of the remote host web component of Microsoft's editor VS Code.",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vscodium-icon.png",
"image": "linuxserver/vscodium-web:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "CONNECTION_TOKEN",
"label": "CONNECTION_TOKEN",
"default": "",
"description": "Optional security token for accessing the Web UI (ie. `supersecrettoken`). [OPTIONAL]"
},
{
"name": "CONNECTION_TOKEN_FILE",
"label": "CONNECTION_TOKEN_FILE",
"default": "",
"description": "Optional path to a file inside the container that contains the security token for accessing the Web UI (ie. `/path/to/file`). Overrides `CONNECTION_TOKEN`. [OPTIONAL]"
},
{
"name": "SUDO_PASSWORD",
"label": "SUDO_PASSWORD",
"default": "password",
"description": "If this optional variable is set, user will have sudo access in the vscodium-web terminal with the specified password. [OPTIONAL]"
},
{
"name": "SUDO_PASSWORD_HASH",
"label": "SUDO_PASSWORD_HASH",
"default": "",
"description": "Optionally set sudo password via hash (takes priority over `SUDO_PASSWORD` var). Format is `$type$salt$hashed`. [OPTIONAL]"
},
{
"name": "CODE_ARGS",
"label": "CODE_ARGS",
"default": "",
"description": "Optionally add cli parameters to vscodium binary. [OPTIONAL]"
}
],
"ports": [
"8000:8000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/vscodium-web/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 1,
"name": "vsftpd",
"title": "vsftpd FTP Server",
"description": "Secure, fast FTP server for UNIX-like systems",
"logo": "https://mediadepot.github.io/templates/img/pureftpd-icon.jpg",
"image": "delfer/alpine-ftp-server:latest",
"network": "host",
"categories": [
"Other",
"Utilities"
],
"ports": [
"21/tcp",
"21000/tcp",
"21001/tcp",
"21002/tcp",
"21003/tcp",
"21004/tcp",
"21005/tcp",
"21006/tcp",
"21007/tcp",
"21008/tcp",
"21009/tcp",
"21010/tcp"
],
"volumes": [
{
"container": "/home/depot/tvshows",
"bind": "/media/storage/tvshows"
},
{
"container": "/home/depot/movies",
"bind": "/media/storage/movies"
},
{
"container": "/home/depot/music",
"bind": "/media/storage/music"
},
{
"container": "/home/depot/ebooks",
"bind": "/media/storage/ebooks"
},
{
"container": "/home/depot/photos",
"bind": "/media/storage/photos"
},
{
"container": "/home/depot/documents",
"bind": "/media/storage/documents"
},
{
"container": "/home/depot/downloads",
"bind": "/media/storage/downloads"
},
{
"container": "/home/depot/software",
"bind": "/media/storage/software"
},
{
"container": "/home/depot/blackhole",
"bind": "/media/temp/blackhole"
},
{
"container": "/home/depot/processing",
"bind": "/media/temp/processing"
}
],
"env": [
{
"name": "ADDRESS",
"label": "ADDRESS"
},
{
"name": "USERS",
"label": "USERS",
"default": "depot|badpass|/home/depot|15000"
}
],
"labels": [],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 833
},
{
"id": 834,
"type": 3,
"title": "Wakapi",
"name": "wakapi",
"description": "Coding time tracker that works with the WakaTime editor plugins. Point them at your own server and get stats per project, language, editor and machine, plus badges you can put in a README. Source: https://github.com/muety/wakapi",
"categories": [
"Development",
"Analytics"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/muety/wakapi/master/static/assets/images/icon-512x512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "WAKAPI_PASSWORD_SALT",
"label": "Password salt (required)",
"description": "Mixed into every password hash. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or nobody can log in."
},
{
"name": "WAKAPI_COOKIE_KEY",
"label": "Cookie key",
"description": "Keeps you logged in when it restarts. Generate one with: openssl rand -base64 32. Leave it blank and every restart logs everyone out."
},
{
"name": "WAKAPI_PORT",
"label": "Host port for the web UI",
"default": "3100"
}
],
"note": "Set the <b>password salt</b> before you deploy (<code>openssl rand -hex 32</code> makes a good one), since the stack won't start without it, and keep it the same when you redeploy. Then open <code>http://&lt;your-host&gt;:3100</code> (or whichever port you picked) and sign up. The first account is the admin. Sign-ups stay open, so once you've made yours add <code>WAKAPI_ALLOW_SIGNUP</code> = <code>false</code> to the stack's environment variables and update the stack. The setup page shows the <code>~/.wakatime.cfg</code> lines for your editor's WakaTime plugin, with your API key. Invite links point at localhost until you add <code>WAKAPI_PUBLIC_URL</code> (like <code>http://192.168.1.10:3100</code>) there too. The logged-out front page loads one badge image from badges.fw-web.space. Everything lives in SQLite, in the <code>wakapi-data</code> volume. Docs: <a href=\"https://github.com/muety/wakapi#readme\" target=\"_blank\">github.com/muety/wakapi</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/wakapi/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Tools"
],
"description": "wallabag is a web application allowing you to save web pages for later reading. Click, save and read it when you want.",
"logo": "https://www.wallabag.org/user/themes/boxify/img/logo-wallabag.svg",
"name": "Wallabag",
"repository": {
"stackfile": "Template/Stack/wallabag.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"platform": "linux",
"ports": [
"8234:80/tcp"
],
"restart_policy": "always",
"title": "Wallabag",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 835
},
{
"id": 836,
"type": 1,
"title": "Wallos",
"name": "wallos",
"description": "Subscription tracker for keeping an eye on recurring bills, with stats, multiple currencies and reminders before things renew. Source: https://github.com/ellite/wallos",
"categories": [
"Finance"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/ellite/wallos/main/images/icon/android-chrome-512x512.png",
"image": "bellamy/wallos:latest",
"restart_policy": "unless-stopped",
"ports": [
"8282:80/tcp"
],
"volumes": [
{
"container": "/var/www/html/db"
},
{
"container": "/var/www/html/images/uploads/logos"
}
],
"env": [
{
"name": "TZ",
"label": "Timezone",
"description": "Like Europe/London. Used for renewal dates and reminders.",
"default": "UTC"
}
],
"note": "Open <code>http://&lt;your-host&gt;:8282</code> and register. The first account becomes the admin, and sign-ups are closed after that. The database and any logos you upload live in the two volumes. Docs: <a href=\"https://github.com/ellite/wallos#readme\" target=\"_blank\">github.com/ellite/wallos</a>",
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Tools",
"Maintenance"
],
"description": "With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially.",
"image": "containrrr/watchtower:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/watchtower.png",
"name": "watchtower",
"note": "It is recommended to manually update your containers but we're including this for those of you that don't care",
"platform": "linux",
"restart_policy": "unless-stopped",
"title": "Watchtower",
"type": 1,
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 837
},
{
"type": 1,
"title": "Watchtower {shmolf}",
"name": "watchtower",
"categories": [
"Docker"
],
"description": "A container-based solution for automating Docker container base image updates",
"note": "<a target='_blank' href='https://containrrr.dev/watchtower/'>Application documentation \ud83d\uddd7</a>",
"logo": "https://raw.githubusercontent.com/shmolf/portainer-templates/main/assets/logos/watchtower-logo.png",
"platform": "linux",
"image": "containrrr/watchtower:latest",
"ports": [
"9001/tcp"
],
"restart_policy": "always",
"volumes": [
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/shmolf/portainer-templates/",
"id": 838
},
{
"categories": [
"Tools"
],
"description": "Web Check give you a comprehensive, on-demand open source intelligence for any website",
"logo": "https://camo.githubusercontent.com/e081ebebf2ef1dbe9ecffa081063db7c9f696e5913d75699f7d2968a186d0d72/68747470733a2f2f692e6962622e636f2f7131675a4e32702f7765622d636865636b2d6c6f676f2e706e67",
"name": "web-check",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/webcheck.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Web Check",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 839
},
{
"id": 840,
"type": 1,
"title": "Webcord",
"name": "Webcord",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/webcord/config</p>",
"description": "[WebCord](https://github.com/SpacingBat3/WebCord) can be summarized as a pack of security and privacy hardenings, Discord features reimplementations, Electron / Chromium / Discord bugs workarounds, stylesheets, internal pages and wrapped https://discord.com page, designed to conform with ToS as much as it is possible (or hide the changes that might violate it from Discord's eyes).",
"categories": [
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webcord-icon.png",
"image": "linuxserver/webcord:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/webcord/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 841,
"type": 1,
"title": "Webgrabplus",
"name": "Webgrabplus",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/webgrabplus/config<br>mkdir -p /srv/lsio/webgrabplus/data</p>",
"description": "[Webgrabplus](https://www.webgrabplus.com) is a multi-site incremental xmltv epg grabber. It collects tv-program guide data from selected tvguide sites for your favourite channels.",
"categories": [
"Media Tools"
],
"platform": "linux",
"logo": "https://www.webgrabplus.com/sites/default/themes/WgTheme/images/slideshows/EPG_fading.jpg",
"image": "linuxserver/webgrabplus:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/webgrabplus/config"
},
{
"container": "/data",
"bind": "/srv/lsio/webgrabplus/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 842,
"type": 1,
"title": "Webstation",
"name": "Webstation",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/webstation/config</p>",
"description": "[Webstation](https://github.com/linuxserver/docker-webstation) is a web native emulation focused LXQt desktop based on Ubuntu.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webstation-logo.png",
"image": "linuxserver/webstation:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/webstation/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 843,
"type": 1,
"title": "Webtop",
"name": "Webtop",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/webtop/config</p>",
"description": "[Webtop](https://github.com/linuxserver/docker-webtop) - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser.",
"categories": [
"Remote Desktop"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png",
"image": "linuxserver/webtop:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/webtop/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Social"
],
"description": "Webtrees is the web\u2019s leading online collaborative genealogy application. [GEDCOM files support]",
"logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Logo_webtrees.svg/400px-Logo_webtrees.svg.png",
"name": "webtrees",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/webtrees.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Webtrees",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 844
},
{
"id": 845,
"type": 1,
"title": "Weixin",
"name": "Weixin",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/weixin/config</p>",
"description": "[Weixin](https://weixin.qq.com/) (WeChat) is an instant messaging, social media, and mobile payment app developed by Tencent.",
"categories": [
"Chat"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/weixin-logo.png",
"image": "linuxserver/weixin:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/weixin/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Fitness"
],
"description": "Self hosted FLOSS fitness/workout, nutrition and weight tracker written with Django",
"logo": "https://raw.githubusercontent.com/wger-project/wger/master/wger/core/static/images/logos/logo.png",
"name": "wger",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/wger.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Wger",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 846
},
{
"categories": [
"Adult"
],
"description": "Whisparr is an adult movie collection manager for Usenet and BitTorrent users.",
"logo": "https://whisparr.com/logo/256.png",
"name": "whisparr",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/whisparr.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Whisparr",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 847
},
{
"categories": [
"Tools"
],
"description": "Self-hosted, ad-free, privacy-respecting Google metasearch engine.",
"image": "benbusby/whoogle-search:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/whoogle.png",
"name": "whoogle",
"platform": "linux",
"ports": [
"5001:5000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Whoogle",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "/portainer/Files/AppData/Config/Whoogle"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 848
},
{
"id": 849,
"type": 1,
"title": "Wikijs",
"name": "Wikijs",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/wikijs/config<br>mkdir -p /srv/lsio/wikijs/data</p>",
"description": "[Wikijs](https://github.com/Requarks/wiki) A modern, lightweight and powerful wiki app built on NodeJS.",
"categories": [
"Content Management"
],
"platform": "linux",
"logo": "https://static.requarks.io/logo/wikijs-full.svg",
"image": "linuxserver/wikijs:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "DB_TYPE",
"label": "DB_TYPE",
"default": "sqlite",
"description": "Set to sqlite (default) or postgres depending on the database engine you wish to use [OPTIONAL]"
},
{
"name": "DB_HOST",
"label": "DB_HOST",
"default": "",
"description": "DB hostname (postgres only) [OPTIONAL]"
},
{
"name": "DB_PORT",
"label": "DB_PORT",
"default": "",
"description": "DB port (postgres only) [OPTIONAL]"
},
{
"name": "DB_NAME",
"label": "DB_NAME",
"default": "",
"description": "DB name (postgres only) [OPTIONAL]"
},
{
"name": "DB_USER",
"label": "DB_USER",
"default": "",
"description": "DB username (postgres only) [OPTIONAL]"
},
{
"name": "DB_PASS",
"label": "DB_PASS",
"default": "",
"description": "DB password (postgres only) [OPTIONAL]"
}
],
"ports": [
"3000:3000/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/wikijs/config"
},
{
"container": "/data",
"bind": "/srv/lsio/wikijs/data"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 850,
"type": 1,
"title": "Winegui",
"name": "Winegui",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/winegui/config</p>",
"description": "[WineGUI](https://gitlab.melroy.org/melroy/winegui) is a user-interface friendly Wine manager that provides a graphical frontend for creating and managing Wine bottles.",
"categories": [
"Games",
"Business"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/winegui-logo.png",
"image": "linuxserver/winegui:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/winegui/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 851,
"type": 1,
"title": "Wireguard",
"name": "Wireguard",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/wireguard/config<br></p>",
"description": "[WireGuard\u00ae](https://www.wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.",
"categories": [
"Network",
"VPN"
],
"platform": "linux",
"logo": "https://www.wireguard.com/img/wireguard.svg",
"image": "linuxserver/wireguard:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "SERVERURL",
"label": "SERVERURL",
"default": "wireguard.domain.com",
"description": "External IP or domain name for docker host. Used in server mode. If set to `auto`, the container will try to determine and set the external IP automatically [OPTIONAL]"
},
{
"name": "SERVERPORT",
"label": "SERVERPORT",
"default": "51820",
"description": "External port for docker host. Used in server mode. [OPTIONAL]"
},
{
"name": "PEERS",
"label": "PEERS",
"default": "1",
"description": "Number of peers to create confs for. Required for server mode. Can also be a list of names: `myPC,myPhone,myTablet` (alphanumeric only) [OPTIONAL]"
},
{
"name": "PEERDNS",
"label": "PEERDNS",
"default": "auto",
"description": "DNS server set in peer/client configs (can be set as `8.8.8.8`). Used in server mode. Defaults to `auto`, which uses wireguard docker host's DNS via included CoreDNS forward. [OPTIONAL]"
},
{
"name": "INTERNAL_SUBNET",
"label": "INTERNAL_SUBNET",
"default": "10.13.13.0",
"description": "Internal subnet for the wireguard and server and peers (only change if it clashes). Used in server mode. [OPTIONAL]"
},
{
"name": "ALLOWEDIPS",
"label": "ALLOWEDIPS",
"default": "0.0.0.0/0",
"description": "The IPs/Ranges that the peers will be able to reach using the VPN connection. If not specified the default value is: '0.0.0.0/0, ::0/0' This will cause ALL traffic to route through the VPN, if you want split tunneling, set this to only the IPs you would like to use the tunnel AND the ip of the server's WG ip, such as 10.13.13.1. [OPTIONAL]"
},
{
"name": "PERSISTENTKEEPALIVE_PEERS",
"label": "PERSISTENTKEEPALIVE_PEERS",
"default": "",
"description": "Set to `all` or a list of comma separated peers (ie. `1,4,laptop`) for the wireguard server to send keepalive packets to listed peers every 25 seconds. Useful if server is accessed via domain name and has dynamic IP. Used only in server mode. [OPTIONAL]"
},
{
"name": "LOG_CONFS",
"label": "LOG_CONFS",
"default": "true",
"description": "Generated QR codes will be displayed in the docker log. Set to `false` to skip log output. [OPTIONAL]"
}
],
"ports": [
"51820:51820/udp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/wireguard/config"
},
{
"container": "/lib/modules",
"bind": "/lib/modules"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Other",
"VPN"
],
"description": "Fast VPN Server with easy to use User Interface",
"env": [
{
"default": "example.domain.com",
"description": "Set here your DDNS domain",
"label": "WG_HOST",
"name": "WG_HOST"
},
{
"default": "ENTER AN ADMIN PASSWORD",
"description": "Leave blank to access WebUI without loggin",
"label": "PASSWORD",
"name": "PASSWORD"
},
{
"default": "51820",
"label": "WG_PORT",
"name": "WG_PORT"
},
{
"default": "1.1.1.1",
"label": "WG_DEFAULT_DNS",
"name": "WG_DEFAULT_DNS"
},
{
"default": "10.8.0.x",
"label": "WG_DEFAULT_ADDRESS",
"name": "WG_DEFAULT_ADDRESS"
},
{
"default": "0.0.0.0/0, ::/0",
"label": "WG_ALLOWED_IPS",
"name": "WG_ALLOWED_IPS"
}
],
"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/wireguard.png",
"name": "wg-easy",
"platform": "linux",
"repository": {
"stackfile": "stack/wireguard-easy.yml",
"url": "https://github.com/pi-hosted/pi-hosted"
},
"title": "Wireguard Server",
"type": 3,
"note": "<b>Template created by Pi-Hosted Series</b><br><b>Check our Github page: <a href=\"https://github.com/pi-hosted/pi-hosted\" target=\"_blank\">https://github.com/pi-hosted/pi-hosted</a></b><br><br><b>Official Webpage: </b><a href=\"https://github.com/WeeJeWel/wg-easy/\" target=\"_blank\">https://github.com/WeeJeWel/wg-easy/</a><br><b>Official Docker Documentation: </b><a href=\"https://github.com/WeeJeWel/wg-easy/#1-install-docker\" target=\"_blank\">https://github.com/WeeJeWel/wg-easy/#1-install-docker</a><br><h3><b>Pi-Hosted dedicated documentation: </b><a href=\"https://github.com/pi-hosted/pi-hosted/blob/master/docs/wireguard-install.md\" target=\"_blank\">wireguard-install.md</a></h3><br><br><br><b>Youtube Video: </b><a href=https://www.youtube.com/watch?v=yB_jAumIxOg target=\"_blank\">Novaspirit Tech - Beginners Guide to WireGuard Docker and Installing Pi-OS 64bit</a><br><br>",
"maintainer": "https://github.com/novaspirit/pi-hosted/",
"id": 852
},
{
"id": 853,
"type": 1,
"title": "Wireshark",
"name": "Wireshark",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/wireshark/config</p>",
"description": "[Wireshark](https://www.wireshark.org/) is the world\u2019s foremost and widely-used network protocol analyzer. It lets you see what\u2019s happening on your network at a microscopic level and is the de facto (and often de jure) standard across many commercial and non-profit enterprises, government agencies, and educational institutions. Wireshark development thrives thanks to the volunteer contributions of networking experts around the globe and is the continuation of a project started by Gerald Combs in 1998.",
"categories": [
"Network"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/wireshark-icon.png",
"image": "linuxserver/wireshark:latest",
"network": "host",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp",
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/wireshark/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 854,
"type": 3,
"title": "Wishlist",
"name": "wishlist",
"description": "A wishlist that makes you wait before you buy.",
"note": "Wishlist gives you an allowance that grows by the second. Paste a product link and the name, photo and price fill in; prices are checked daily and you are told when they drop. Open http://&lt;server&gt;:5185 after it starts.",
"categories": [
"Shopping"
],
"platform": "linux",
"logo": "https://armanckeser.github.io/selfhost-apps/portainer/wishlist.png",
"repository": {
"url": "https://github.com/armanckeser/wishlist",
"stackfile": "docker-compose.selfhost.yml"
},
"env": [
{
"name": "TAG",
"label": "Version",
"default": "0.33.0"
},
{
"name": "PORT",
"label": "Web port on this server",
"default": "5185"
}
],
"maintainer": "https://github.com/armanckeser/selfhost-apps/"
},
{
"type": 1,
"name": "wizarr",
"title": "Wizarr",
"description": " Wizarr is an advanced user invitation and management system for Jellyfin, Plex, Emby etc. ",
"logo": "https://mediadepot.github.io/templates/img/wizarr-logo.png",
"image": "ghcr.io/wizarrrr/wizarr:latest",
"categories": [
"Tools"
],
"ports": [
"5690/tcp"
],
"volumes": [
{
"container": "/data/database",
"bind": "/opt/mediadepot/apps/wizarr"
},
{
"container": "/etc/localtime",
"bind": "/etc/localtime",
"readonly": true
}
],
"env": [
{
"name": "APP_URL",
"label": "APP_URL",
"default": "https://wizarr.domain.com"
}
],
"labels": [
{
"name": "traefik.enable",
"value": "true"
},
{
"name": "traefik.http.services.wizarr.loadbalancer.server.port",
"value": "5690"
},
{
"name": "traefik.http.routers.wizarr.entrypoints",
"value": "websecure"
},
{
"name": "traefik.http.routers.wizarr.tls.certresolver",
"value": "mydnschallenge"
}
],
"maintainer": "https://github.com/mediadepot/templates/",
"id": 855
},
{
"categories": [
"CI CD",
"Development"
],
"description": "A simple yet powerful CI/CD engine with great extensibility, built for containers. Source: https://github.com/woodpecker-ci/woodpecker",
"env": [
{
"default": "http://localhost:8000",
"label": "Server public URL",
"name": "WOODPECKER_HOST"
},
{
"default": "changeme-generate-a-long-random-secret",
"label": "Agent secret (shared random string)",
"name": "WOODPECKER_AGENT_SECRET"
},
{
"label": "GitHub OAuth Client ID",
"name": "WOODPECKER_GITHUB_CLIENT"
},
{
"label": "GitHub OAuth Client Secret",
"name": "WOODPECKER_GITHUB_SECRET"
}
],
"logo": "https://avatars.githubusercontent.com/u/84780935",
"name": "woodpecker-ci",
"note": "Woodpecker requires a forge and will not start until one is configured. Register a GitHub OAuth app (Authorization callback URL: <your WOODPECKER_HOST>/authorize) and paste the Client ID and Secret above. To use Gitea, Forgejo, GitLab or Bitbucket instead, edit the stack's WOODPECKER_* forge variables. See https://woodpecker-ci.org/docs",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/woodpecker-ci.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "Woodpecker CI",
"type": 3,
"id": 856
},
{
"id": 857,
"type": 3,
"title": "WordPress (stack)",
"description": "WordPress setup with a MySQL database",
"note": "Deploys a WordPress instance connected to a MySQL database.",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/wordpress/docker-compose.yml"
},
"env": [
{
"name": "MYSQL_DATABASE_PASSWORD",
"label": "Database root password",
"description": "Password used by the MySQL root user."
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"id": 858,
"type": 2,
"title": "WordPress (swarm)",
"description": "WordPress setup with a MySQL database",
"note": "Deploys a WordPress instance connected to a MySQL database.",
"categories": [
"CMS"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/wordpress/docker-stack.yml"
},
"env": [
{
"name": "MYSQL_DATABASE_PASSWORD",
"label": "Database root password",
"description": "Password used by the MySQL root user."
}
],
"maintainer": "https://github.com/portainer/templates/"
},
{
"type": 1,
"title": "Wowza",
"description": "Streaming media server",
"categories": [
"Streaming"
],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wowza.png",
"image": "sameersbn/wowza:4.1.2-8",
"env": [
{
"name": "WOWZA_ACCEPT_LICENSE",
"label": "Agree to Wowza EULA",
"default": "yes",
"preset": true
},
{
"name": "WOWZA_KEY",
"label": "License key"
}
],
"ports": [
"1935/tcp",
"8086/tcp",
"8087/tcp",
"8088/tcp"
],
"volumes": [
{
"container": "/var/lib/wowza"
}
],
"maintainer": "https://github.com/mikestraney/portainer-templates/",
"id": 859
},
{
"id": 860,
"type": 1,
"title": "Wps-office",
"name": "Wps-office",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/wps-office/config</p>",
"description": "[WPS Office](https://www.wps.com/) is a lightweight, feature-rich comprehensive office suite with high compatibility. As a handy and professional office software, WPS Office allows you to edit files in Writer, Presentation, Spreadsheet, and PDF to improve your work efficiency.",
"categories": [
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/wps-office-icon.png",
"image": "linuxserver/wps-office:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/wps-office/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"type": 3,
"title": "Writebook",
"name": "writebook",
"description": "Writebook - 37signals' free, self-hosted publishing tool: write and share books, manuals, and documentation with a clean, fast reader. It is a Rails app (the same stack behind Basecamp and HEY) fronted by Thruster, 37signals' HTTP/2 proxy.",
"categories": [
"CMS Publishing"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "writebook/compose.yaml"
},
"env": [
{
"name": "SECRET_KEY_BASE",
"label": "SECRET_KEY_BASE",
"description": "Rails secret - a long random string."
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 861
},
{
"id": 862,
"type": 1,
"title": "Xbackbone",
"name": "Xbackbone",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/xbackbone/config</p>",
"description": "[Xbackbone](https://github.com/SergiX44/XBackBone) is a simple, self-hosted, lightweight PHP file manager that support the instant sharing tool ShareX and *NIX systems. It supports uploading and displaying images, GIF, video, code, formatted text, and file downloading and uploading. Also have a web UI with multi user management, past uploads history and search support.",
"categories": [
"File Sharing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/SergiX44/XBackBone/master/docs/img/xbackbone.png",
"image": "linuxserver/xbackbone:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/xbackbone/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 863,
"type": 1,
"title": "Xemu",
"name": "Xemu",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/xemu/config</p>",
"description": "[xemu](https://xemu.app/) is a free and open-source application that emulates the original Microsoft Xbox game console, enabling people to play their original Xbox games on Windows, macOS, and Linux systems.",
"categories": [
"Games"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/xemu-logo.png",
"image": "linuxserver/xemu:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/xemu/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Wiki"
],
"description": "Xwiki s a free wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki.",
"logo": "https://upload.wikimedia.org/wikipedia/commons/e/e2/Logo-xwikiorange.svg",
"name": "xwiki",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/xwiki.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Xwiki",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 864
},
{
"id": 865,
"type": 1,
"title": "Yaak",
"name": "Yaak",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/yaak/config</p>",
"description": "[Yaak](https://yaak.app/) is a desktop API client for organizing and executing REST, GraphQL, and gRPC requests. It's built using [Tauri](https://tauri.app/), [Rust](https://www.rust-lang.org/), and [ReactJS](https://react.dev/).",
"categories": [
"Programming"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/yaak-logo.png",
"image": "linuxserver/yaak:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/yaak/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Tools"
],
"description": "A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.",
"image": "selfhostedpro/yacht:latest",
"logo": "https://raw.githubusercontent.com/SelfhostedPro/Yacht/master/readme_media/Yacht_logo_1_dark.png",
"name": "yacht",
"platform": "linux",
"ports": [
"8001:8000/tcp"
],
"restart_policy": "unless-stopped",
"title": "Yacht",
"type": 1,
"volumes": [
{
"container": "/config",
"bind": "yacht"
},
{
"container": "/var/run/docker.sock",
"bind": "/var/run/docker.sock"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 866
},
{
"id": 867,
"type": 1,
"title": "Your_spotify (container)",
"name": "Your_spotify",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/your_spotify/config</p>",
"description": "[Your_spotify](https://github.com/Yooooomi/your_spotify) is a self-hosted application that tracks what you listen and offers you a dashboard to explore statistics about it! It's composed of a web server which polls the Spotify API every now and then and a web application on which you can explore your statistics.",
"categories": [
"Music"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/your_spotify-logo.png",
"image": "linuxserver/your_spotify:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
},
{
"name": "APP_URL",
"label": "APP_URL",
"default": "http://localhost",
"description": "The protocol and hostname where the app will be accessed."
},
{
"name": "SPOTIFY_PUBLIC",
"label": "SPOTIFY_PUBLIC",
"default": "",
"description": "Your Spotify application client ID."
},
{
"name": "SPOTIFY_SECRET",
"label": "SPOTIFY_SECRET",
"default": "",
"description": "Your Spotify application secret."
},
{
"name": "SPOTIFY_API_DELAY_MS",
"label": "SPOTIFY_API_DELAY_MS",
"default": "2000",
"description": "Minimum delay in milliseconds between each spotify request. Can help with hitting 429 when importing data."
},
{
"name": "CORS",
"label": "CORS",
"default": "http://localhost:80,https://localhost:443",
"description": "Allowed CORS sources, set to `all` to allow any source."
},
{
"name": "MONGO_ENDPOINT",
"label": "MONGO_ENDPOINT",
"default": "mongodb://mongo:27017/your_spotify",
"description": "Set mongodb endpoint address/port."
}
],
"ports": [
"80:80/tcp",
"443:443/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/your_spotify/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Music",
"Monitoring"
],
"description": "YourSpotify is a self-hosted application that tracks what you listen and offers you a dashboard to explore statistics about it!\n\nSource: https://github.com/Yooooomi/your_spotify",
"name": "your_spotify",
"platform": "linux",
"repository": {
"stackfile": "Template/Stack/your_spotify.yml",
"url": "https://github.com/xneo1/portainer_templates"
},
"title": "Your_spotify (stack)",
"type": 3,
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 868
},
{
"id": 869,
"type": 3,
"title": "YOURLS",
"name": "yourls",
"description": "URL shortener you run yourself: short links on your own address with custom keywords, click stats with referrers and countries, bookmarklets and an API for making links from scripts. Source: https://github.com/YOURLS/YOURLS",
"categories": [
"Web",
"Tools"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/YOURLS/YOURLS/master/images/favicon.svg",
"restart_policy": "unless-stopped",
"env": [
{
"name": "YOURLS_URL",
"label": "Address you'll open it on (required)",
"description": "Exactly what you'll type in the browser, port included, all lowercase and no slash at the end, like http://192.168.1.20:8400. Every short link and admin page is built from it."
},
{
"name": "YOURLS_ADMIN_USER",
"label": "Admin username",
"default": "admin"
},
{
"name": "YOURLS_ADMIN_PASSWORD",
"label": "Admin password (required)",
"description": "What you'll log in to the admin area with."
},
{
"name": "YOURLS_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 16"
},
{
"name": "YOURLS_COOKIE_KEY",
"label": "Cookie key",
"description": "Keeps you logged in, and your API signature token the same, across updates. Generate one with: openssl rand -hex 32. Left blank, both change every time it's updated."
},
{
"name": "YOURLS_PORT",
"label": "Host port",
"default": "8400"
}
],
"note": "Fill in the <b>address</b>, <b>admin password</b> and <b>database password</b> before you deploy, since the stack won't start without them. The address has to be exactly what you'll type in the browser, like <code>http://192.168.1.20:8400</code>: the port you're using, all lowercase, and no slash at the end. YOURLS builds every short link, page and button from it, so if it's wrong <code>/admin</code> sends you off to that address to install, any page you do reach has no styling and won't shorten anything, and short links point at the wrong place. To fix it, change the address in the stack's environment variables and redeploy. Then open <code>/admin</code> on that address (the bare address just says Forbidden, that's normal), click <i>Install YOURLS</i> once to set up the database, and log in with the admin username and password from the form. The login lives in the stack's environment variables, so that's where you change the password. The install adds three sample links to yourls.org, delete them if you like. Short links are public, and so are their stats pages (add a <code>+</code> to any short link), which load their charts and site icons from Google. For scripts, use the signature token under Tools rather than your password, and set a cookie key so the token survives updates. Links and stats live in the <code>db-data</code> volume. Docs: <a href=\"https://yourls.org/docs\" target=\"_blank\">yourls.org/docs</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/yourls/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"categories": [
"Downloaders"
],
"description": "YoutubeDL-Material is a Material Design frontend for youtube-dl. It's coded using Angular 9 for the frontend, and Node.js on the backend.",
"image": "tzahi12345/youtubedl-material:latest",
"logo": "https://raw.githubusercontent.com/xneo1/portainer_templates/master/Images/ytdlm.png",
"name": "youtubedl-material",
"platform": "linux",
"ports": [
"17442:17442/tcp"
],
"restart_policy": "unless-stopped",
"title": "YouTubeDL-Material",
"type": 1,
"volumes": [
{
"container": "/app/appdata",
"bind": "/portainer/Files/AppData/Config/YTDLM"
},
{
"container": "/app/video",
"bind": "/portainer/Files/AppData/Youtube/Video"
},
{
"container": "/app/subscriptions",
"bind": "/portainer/Files/AppData/Youtube/Subscriptions"
},
{
"container": "/app/users",
"bind": "/portainer/Files/AppData/Youtube/Users"
},
{
"container": "/app/audio",
"bind": "/portainer/Files/AppData/Youtube/Audio"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 870
},
{
"type": 3,
"title": "Yuvomi",
"description": "Self-hosted family planner: tasks, shared calendar with CalDAV/CardDAV, shopping, meals, budget, notes, contacts and health in one installable PWA on a single SQLite database. Source: https://github.com/ulsklyc/yuvomi",
"categories": [
"Productivity"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/ulsklyc/yuvomi/main/public/icons/icon-512.png",
"repository": {
"url": "https://github.com/ulsklyc/yuvomi",
"stackfile": "docs/docker-compose.portainer.yml"
},
"env": [
{
"name": "SESSION_SECRET",
"label": "Session secret (required)",
"description": "At least 32 random characters. Generate one with: openssl rand -hex 32. Changing it later signs everyone out once."
},
{
"name": "DB_ENCRYPTION_KEY",
"label": "Database encryption key (required)",
"description": "At least 32 random characters. Generate one with: openssl rand -hex 32. Keep a copy: the database and its backups only open with exactly this key."
},
{
"name": "OIKOS_HTTP_PORT",
"label": "Host port for the web UI",
"default": "3000"
},
{
"name": "BASE_URL",
"label": "Base URL (recommended)",
"description": "The address your household uses, e.g. https://yuvomi.example.com. Without it, password reset mails are never sent."
}
],
"note": "Set the <b>session secret</b> and the <b>database encryption key</b> before you deploy, and keep a copy of the key. Then open port 3000 (or the one you chose) and create your admin account. Behind an HTTPS reverse proxy, also set SESSION_SECURE=true. All other settings are listed in <a href=\"https://github.com/ulsklyc/yuvomi/blob/main/.env.example\" target=\"_blank\">.env.example</a>.",
"maintainer": "https://github.com/ulsklyc/yuvomi/",
"id": 871
},
{
"id": 872,
"type": 1,
"title": "Zen",
"name": "Zen",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/zen/config</p>",
"description": "[Zen Browser](https://zen-browser.app/) is a free and open-source fork of Mozilla Firefox with a focus on privacy, customizability and design.",
"categories": [
"Web Browser"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/zen-logo.png",
"image": "linuxserver/zen:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/zen/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 873,
"type": 3,
"title": "Zipline",
"name": "zipline",
"description": "File sharing and screenshot host that works with ShareX, Flameshot and the like, with a link shortener, text pastes, folders, and files that can expire, need a password or delete themselves after so many views. Source: https://github.com/diced/zipline",
"categories": [
"File Sharing"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/diced/zipline/trunk/public/favicon-512x512.png",
"restart_policy": "unless-stopped",
"env": [
{
"name": "ZIPLINE_SECRET",
"label": "Secret (required)",
"description": "At least 32 characters. Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or every login and upload token stops working."
},
{
"name": "ZIPLINE_DB_PASSWORD",
"label": "Database password (required)",
"description": "Generate one with: openssl rand -hex 32. Keep it the same when you redeploy, or Zipline can't reach its database."
},
{
"name": "ZIPLINE_PORT",
"label": "Host port for the web UI",
"default": "3200"
}
],
"note": "Set both <b>secrets</b> before you deploy (<code>openssl rand -hex 32</code> makes good ones), since the stack won't start without them, and keep them the same when you redeploy. Then open <code>http://&lt;your-host&gt;:3200</code> (or whichever port you picked) and create the first account, which becomes the super admin. There are no open sign-ups, so you add everyone else under Users. Settings, under your name in the top corner, makes ready-to-use ShareX and Flameshot configs. Links use whatever address you opened it on, and the rest of the settings (domains, HTTPS links, sign-ups, the 100 MB file limit) live in the dashboard under Server Settings. It checks GitHub for new versions, which you can switch off there under Features. Files and thumbnails live in the <code>zipline-uploads</code> volume, everything else in <code>postgres-data</code>. Docs: <a href=\"https://zipline.diced.sh/docs/get-started\" target=\"_blank\">zipline.diced.sh</a>",
"repository": {
"url": "https://github.com/NotAFlightRisk/portainer-templates-extras",
"stackfile": "apps/zipline/compose.yml"
},
"maintainer": "https://github.com/NotAFlightRisk/portainer-templates-extras/"
},
{
"type": 3,
"title": "Zitadel",
"name": "zitadel",
"description": "Zitadel - modern identity infrastructure: OIDC, SAML, passkeys-first login, multi-tenant organizations, and JS actions for custom logic. One stateless Go binary on Postgres - the lightest full IdP in the catalogue (~512 MB).",
"categories": [
"Auth API Gateway"
],
"platform": "linux",
"repository": {
"url": "https://github.com/deployable-sh/stacks",
"stackfile": "zitadel/compose.yaml"
},
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/zitadel.png",
"env": [
{
"name": "ZITADEL_EXTERNALDOMAIN",
"label": "ZITADEL_EXTERNALDOMAIN",
"description": "BAKED AT FIRST SETUP - set the final domain before first deploy.",
"default": "localhost"
},
{
"name": "ZITADEL_EXTERNALPORT",
"label": "ZITADEL_EXTERNALPORT",
"default": "5000"
},
{
"name": "ZITADEL_EXTERNALSECURE",
"label": "ZITADEL_EXTERNALSECURE",
"default": "false"
},
{
"name": "ZITADEL_MASTERKEY",
"label": "ZITADEL_MASTERKEY",
"description": "Exactly 32 characters: tr -dc A-Za-z0-9 </dev/urandom | head -c 32"
}
],
"maintainer": "https://github.com/deployable-sh/stacks/",
"id": 874
},
{
"id": 875,
"type": 1,
"title": "Znc",
"name": "Znc",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/znc/config</p>",
"description": "[Znc](http://wiki.znc.in/ZNC) is an IRC network bouncer or BNC. It can detach the client from the actual IRC server, and also from selected channels. Multiple clients from different locations can connect to a single ZNC account simultaneously and therefore appear under the same nickname on IRC.",
"categories": [
"Irc"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/znc-logo.png",
"image": "linuxserver/znc:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"6501:6501/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/znc/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"id": 876,
"type": 1,
"title": "Zotero",
"name": "Zotero",
"note": "Portainer App Templates by <a href='https://www.technorabilia.com' target='_blank'>Technorabilia</a>, based on data provided by <a href='https://www.linuxserver.io' target='_blank'>LinuxServer.io</a>.</p><p>Ensure to create the following volume directories on the host file system, or modify the paths in the volume mapping section under the advanced options below, as needed.</p><p>mkdir -p /srv/lsio/zotero/config</p>",
"description": "[Zotero](https://www.zotero.org/) is a free, easy-to-use tool to help you collect, organize, annotate, cite, and share research.",
"categories": [
"Documents"
],
"platform": "linux",
"logo": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/zotero-icon.png",
"image": "linuxserver/zotero:latest",
"env": [
{
"name": "PUID",
"label": "PUID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the UID to use here."
},
{
"name": "PGID",
"label": "PGID",
"default": "1000",
"description": "Run 'id [USER]' for the owner of the host volume directories to get the GID to use here."
},
{
"name": "TZ",
"label": "TZ",
"default": "Etc/UTC",
"description": "specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List)."
}
],
"ports": [
"3000:3000/tcp",
"3001:3001/tcp"
],
"volumes": [
{
"container": "/config",
"bind": "/srv/lsio/zotero/config"
}
],
"restart_policy": "unless-stopped",
"maintainer": "https://github.com/technorabilia/portainer-templates/"
},
{
"categories": [
"Networking",
"VPN"
],
"description": "ZeroTier network controller with a web UI. Source: https://github.com/sinamics/ztnet",
"env": [
{
"default": "http://localhost:3000",
"label": "Public URL of the web UI (e.g. http://your-host-ip:3000)",
"name": "NEXTAUTH_URL"
},
{
"default": "changeme-generate-a-long-random-secret",
"label": "Auth secret (long random string)",
"name": "NEXTAUTH_SECRET"
}
],
"logo": "https://avatars.githubusercontent.com/u/4173285",
"name": "ztnet",
"platform": "linux",
"repository": {
"stackfile": "sources/stacks/ztnet/docker-compose.yml",
"url": "https://github.com/lissy93/portainer-templates"
},
"title": "ZTNet",
"type": 3,
"id": 877
},
{
"categories": [
"Social",
"Forum"
],
"description": "Zusam is a free and open-source way to self-host private forums for groups of friends.",
"env": [
{
"default": "email@domain.example",
"label": "INIT_USER",
"name": "INIT_USER"
},
{
"default": "initpass zusam",
"label": "INIT_PASSWORD",
"name": "INIT_PASSWORD"
}
],
"image": "zusam/zusam:latest",
"logo": "https://github.com/zusam/zusam/raw/master/app/src/assets/zusam_logo.png",
"name": "Zusam",
"platform": "linux",
"ports": [
"4180:8080/tcp"
],
"restart_policy": "unless-stopped",
"title": "Zus.am",
"type": 1,
"volumes": [
{
"container": "/zusam/data",
"bind": "/portainer/Files/AppData/Config/Zusam"
}
],
"maintainer": "https://github.com/xneo1/portainer_templates/",
"id": 878
}
]
}