254 KiB
Portainer Templates
A compiled list of 400+ ready to go Portainer App templates
🌐 portainer-templates.as93.net
TL;DR Under Settings → App Templates in your Portainer GUI, paste this URL:
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
Intro
In Portainer, App Templates enable you to easily deploy a container with a predetermined configuration, while allowing you to customize options through the web UI. Both single containers, and stacks are supported. While Portainer ships with some default templates (see portainer/templates), it's often helpful to have 1-click access to many more apps, without having to constantly switch template sources.
This repo combines app templates from several sources, to create a ready-to-go template file containing all the apps you'll ever need.
Usage
- Log into your Portainer web UI
- Under Settings --> App Templates, update the URL to
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
- Now under Home --> App Templates, you should see all apps. Click one to deploy.
Alternatively, when you start Portainer, you can append the --templates flag pointing to the templates URL.
Self-Hosting
git clone https://github.com/lissy93/portainer-templates.git portainer-templates
cd portainer-templates
docker build -t portainer-templates .
docker run -d -p "8080:80" portainer-templates
If you're running a fork of this repo, don't forget to replace [lissy93] with your own username.
Your templates file will then be served up, at: http://docker-host:8080/templates.json
Or, to mount the templates.json file to your container, so that you can make changes to it, and have them show up within Portainer
docker run -d -p "8080:80" -v "${PWD}/templates.json:/usr/share/nginx/html/templates.json" portainer-templates
Editing
The template.json file is generated using the scripts in lib, using GitHub Actions.
Running the make command will download all listed sources, parse them, and combine them with anything in the sources dir, outputting the templates.json file.
So, you only need to edit either the sources.csv file, or add your templates directly into the sources/ directory.
Adding a new Source
If you're maintaining your own list of Portainer templates, and would like them to be included, just add the URL to your template.json file to sources.csv, along with a name.
When the action runs, it will download the content, parse it and add it to the final template.
Adding a Template / Template list
Alternatively, place your template file within the sources directory, and it will be automatically combined into the main template.json. Be sure that your template corresponds to Portainer's App Template JSON Format.
Validating Templates
There is a schema defined in Schema.json, which can be used to validate any Portainer template.
Run make validate to ensure your template conforms to Portainer's App Template specification.
Maintaining your own Templates
If you'd like to use this repo as a base, but maintain your own list of template, just fork the repository, and update lissy93 with your username in the import URL.
Supported Apps and Stacks
↕️ Click to Expand ↕️
Actual
Adguard
Adguard Home
Adguardhome-Sync
Airsonic
Airsonic-Advanced
Alpine Xfce4 Novnc
Apache Httpd
Apprise-ApiAppsmith
Appwrite
Archisteamfarm
Archivebox
Aria2 Pro
Ariang
AudacityAudiobookshelf
AutheliaAuthentik
Autobrr
Babybuddy
BaikalBaserow
Bazarr
Beets
Bitwarden Rs
Blender
Boinc
Booksonic
Booksonic-Air
Bookstack
Broadlink Manager- Budge
Budibase
Caddy
Calibre
Calibre-Web
Cardigann
Castopod
Change Detection
Changedetection.Io
Chevereto
Chiefonboarding
Chowdown
Chromium
Chrony Ntp- Ci
Clamav
Cloud Commander
Cloud9
Cloudflare Ddns
Cockroachdb
Code ServerCodex
Codiad
Commandbox
Contentbox
Cops
Couchpotato
Cratedb
Cryptofolio
Daapd
Darktable
Dashdot
Dashmachine
Dashy
Datadog Agent
Davinci Postgres Server
Davos
Ddclient
Deemix
Deluge- Deluge Openvpn
Digikam
Dillinger
Diskover- Docker Container Stats
- Docker-Compose
- Documize
- Dokku
Dokuwiki
Domoticz
Doplarr
Doublecommander
Dozzle
Dradis
Draw.Io
Droppy
Drupal
Duckdns
Duplicacy
Duplicati
Eclipse Mosquitto
Eclipse Mosquitto Mqtt
Edgeconnector 840D
Edgeconnector Modbus
Elasticsearch
Emby
Embystat
Emulatorjs
Endlessh
Eufy Security Ws
Excalidraw
Fail2Ban
Fdo
Feed2Toot
Fenrus
Ferdi Server
Ferdium- Ffmpeg
File Browser
Filebrowser Latest
Filebrowser S6
Filepizza
FilerunFilestash
Filezilla
Firefox
Fireshare
Flame
Flame-DashboardFlaresolverr
- Fleet
Floating License ServerFlood
Foldingathome
Foundryvtt Server
Freeboard
Freescout
Freshrss
Frigate Nvr
Gaps
Gazee
GhostGhostfolio
Gitea
Gitea With Mariadb
Github-Desktop
Gitlab Ce
Gitqlient
Glances
Go-Socks5-Proxy
Gokapi
Gotify
Grafana
Grav
Grocy
Guacamole
GuacdHabridge
- Hasty-Paste
Headphones
Healthchecks
Hedgedoc
HeimdallHomarr
Homarr-Secured
Homeassistant
Homebridge
Homebridge - Debian
Homechart
Homepage
Homer
Htpcmanager
Httpd
Huginn
Hydra2- I Hate Money
Immich
Influxdb
Influxdb & Telegraf
Influxdb 1.8.10
Invoice Ninja
Iobroker- Iperf
Ipfs
Ironfunctions
Ironfunctions Api
Ironfunctions Ui
Jackett
Jdownloader
Jellyfin
Jellyfin-AccountsJellyseer
Jellyseerr
Jenkins- Jenkins-Builder
Joomla
Joplin- Jump
Kanzi
Kasm
Kavita
Kdenlive
Klaxon
Klipper[Testing], Mainsail, Moonraker
Kodi-Headless
Koillection
Komga
Lazylibrarian- Lazytainer
Ldap-Auth
Leantime
Let'S Encrypt / Swag
Let'S Encrypt [Deprecated]
Letsencrypt
Libreddit
Libreoffice
Libresonic
Librespeed
Lidarr
Limnoria
Littlelink Server
Liveswitch
Lldap
Logzio Logs Collector
Logzio Metrics Collector
Lychee
Lychee With Mariadb
Magento 2
Magicmirror2
Mailpile
Maloja
Mariadb
Mastodon
Matomo
Mautic
Mayan Edms
Mcmyadmin 2
Mealie
MedusaMeilisearch
Meshcentral
Metube
Microsoft Oms AgentMidarr
Minecraft Server
Minetest- Miniflux
Minio
Minisatip
MongoMonica
Moodle
Mozilla Syncserver
Mstream
Mullvad-Browser
Murmur
Musicbrainz
Muximux
Mylar
Mylar3
Mysql
Mysql-Workbench
N8N
Nano
Nano-Wallet
Navidrome
Neko
NetbootxyzNetbox
Netdata
Nextcloud- Nextcloudpi
Nextcloudstack
Nginx
Nginx Proxy Manager
Nginx Proxy Manager V2 With Mysql [Deprecated]
Nginx Proxy Manager V2 With Mysql And Goaccess Charts [Deprecated]
Nginx Proxy Manager V2 With Sqlite And Goaccess Charts
Nginx Proxy Manager V2 With Sqllite
Nginx Proxy Manager V3 [Devel] Not Ready For Use
Ngircd
Nitter
Nntp2Nntp
Nocodb
Node Red
Nodejs
Nord-Vpn
Nut Server- Nuts
Nzbget
Nzbhydra 2
Octoprint
Odoo
Omada Eap Controller
Ombi
Opc Router
Openamt
Openbudgeteer
Openfaas
Openssh-Server
Openvpn Access Server
Openvpn-As
Openvscode-Server
Opera
Organizr
Organizr V2Ory Kratos (Oathkeeper)
Ory Kratos (Standalone)
Oscam
Overseerr
Owncloud
Pairdrop
Paperless
Paperless Ngx- Paperless-Ng
PapermergePeppermint
Petio
Pgadmin
Photoprism
Photoshow
Phpmyadmin
Pi-Hole
Pi-Hole Doh/Dot
Pi-Hole-Unbound
Pi.Alert
Pidgin
Piwigo
Pixapop
Pixel-Server
Plesk
Plex
Plex Media Server
Plex Requests
Plex-Meta-Manager
Plone
Portainer Agent- Poste.Io
Postgresql
Pritunl
Privatebin
Projectsend
Protonmail Bridge
Prowlarr- Proxitok
Pure-Ftp Server
Pwndrop
Pydio
Pydio-Cells
Pyload-Ng
Pylon
Qbittorrent
QdirstatQflood
Quassel Irc
Quassel-Core
Quassel-Web
Rabbitmq
Radarr
Raneto
Raspberry Pi Docker Monitor
Rclone Config Backup
Rdesktop
Reactive-Resume
Readarr- Readme-Sync
Redis
Redis Cluster
Redmine
Registry
Registry (Cache)
Remmina- Remotely
Requestrr
Resilio-Sync
Reveal.Js
Rocket Chat
Rport
Rsnapshot
Rust Desk
Rutorrent
Sabnzbd
Samba
Scality S3
Scrutiny
Searxng
Sematext Docker Agent
Servas
Shiori
Sickchill
Sickgear
SickrageSignal Proxy
Silverstripe
Smokeping
Snapdrop
Snibox
Snipe-It
Snippet-Box- Softing Edgeconnector Modbus
Solr
Sonarr
Speedtest Tracker
Sql Server
Sql Server Express
Sqlitebrowser
Sshwifty
Stash
Statping- Surrealdb
Swag
Swag - Secure Web Application Gateway
Synclounge
Syncthing
Syslog-NgSystem Stats Oled Display
Tabby
Tailscale
TaisunTandoor
Tautulli
Tdarr
TeleportTester
Thelounge
Tiddlywiki
Tiny Tiny RssTooljet
Tosibox Lock For Container
Traefik
Traggo
Transmission
Transmission Openvpn Version 4
Transmission-Openvpn
Trilium
Trudesk
Tvheadend
Ubooquity
UbuntuUmami.Is
Unifi Video
Unifi-Controller
Unmanic
Unpoller Monitor
Upsnap
Uptime Kuma
Urbackup
Urlwatch
Vaultwarden
Vikunja
Vikunja With Frontend
Vlmcsd - Kms
Vscodium
Vsftpd Ftp ServerWallabag
Watchtower
Webgrabplus
Webtop
Wger
Whisparr
Whoogle
Wikijs
Windows 2000Wireguard
Wireguard Server
Wireshark
Wizarr
Wordpress
Wowza
XbackboneXwiki
Yacht- Your_Spotify
Yourls
Youtubedl-Material- Yq
Znc
Zus.Am
Sources
↕️ Click to Expand ↕️
Full credit to the authors of the following templates.
The main templates.json file is composes of these sources, along with the content of the sources directory.
template by @dnburgess
template by @Qballjos
template by @SelfhostedPro
template by @technorabilia
template by @mikestraney
template by @xneo1
template by @novaspirit
template by @donpablonow
template by @mediadepot
template by @mycroftwilde
template by @mediadepot
template by @portainer
Contributing
Website
There's a simple website, which lists all available templates and shows the config options for each. You can view it at portainer-templates.netlify.app
The source is located in the website branch, and it's build as a simple SSR Svelte app (using SvelteKit + TypeScript + SCSS + Vite).
To make changes to the website, you'll need Node.js and Git installed. Then just run the following commands:
git clone -b website git@github.com:Lissy93/portainer-templates.git # Clone the website branch
cd portainer-templates # Navigate into the directory
npm i # Install dependencies
npm run dev # Start the development server
And to pubish, run npm run build then either use npm start or host the content of the '/build' directory using a web server of your choice. Alternatively, there's a Dockerfile, for easy deployment :)
Note that it's not required to make any changes to the website when adding a new template or templates source, as data is fetched directly from templates.json in the repo's main branch - so should show up automatically once your changes are merged.
Disclaimer
License
© Alicia Sykes 2023
Licensed under MIT

Thanks for visiting :)
