🚢 800+ 1-click Portainer app templates
See the codeA compiled list of 500+ 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
In Portainer, App Templates enable you to easily deploy services with a predetermined configuration, while allowing you to customize options through the web UI. While Portainer ships with some default templates (see portainer/templates), it's often helpful to have 1-click access to many more apps + stacks, 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. It's also possible to self-host, as well as combine with your own custom templates.
You can browse all supported apps and stacks and see stats, config options and stand-alone installation commands for each, at portainer-templates.as93.net
The template file uses Portainer's v3 format, which is compatible with all Portainer versions. To add a new template, see this guide.
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.jsonAlternatively, when you start Portainer, you can append the --templates flag pointing to the templates URL.
If you'd prefer to source templates locally, you can self-host with Docker - there's a sample NGINX container provided
Just run: docker run -p 8080:80 lissy93/portainer-templates (changing 8080 to a port of your choice)
You'll then be able to pass Portainer the template file located at http://[host]:[port]/templates.json
If you'd prefer to build the image yourself locally, you can do so with the following commands (if you're using your own fork, don't forget to switch lissy93 out for your username!)
git clone https://github.com/lissy93/portainer-templates.git
cd portainer-templates
docker build -t portainer-templates .
docker run -d -p "8080:80" portainer-templates
If you're using your own template file, but don't want to fork this repository, you can instead simply pass your templates.json file to the above Docker container as a volume, with -v "${PWD}/templates.json:/usr/share/nginx/html/templates.json"
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/local/ directory.
Every row in sources.csv is name, url, maintainer, kind, where kind is either:
collection - somebody's maintained list covering many apps (the default, if you leave it blank)app - a single self-hosted app, published by its own authorAdd a row, and the next build downloads it, parses it and merges it into the final template. Because that happens every night, an app author only needs one PR here: from then on they edit the file in their own repo and the change shows up within a day.
If the same app appears more than once, duplicates are settled in this order:
sources/local/ - the copies maintained in this repoapp sources - the author's own template for their own appcollection sources, in the order they're listed in sources.csvAn app source carries exactly one template, so a row approved once can't grow entries nobody reviewed - an author shipping variants adds a row per variant. If an app source stops resolving it's simply left out of that build, whereas a missing collection stops the build, since it would take hundreds of apps with it.
Alternatively, place your template file within the sources/local/ 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. Note that anything in there becomes ours to maintain, and needs a PR for every change - so if it's your own app, publishing it from your own repo as an app source is usually the better deal.
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.
To check a template you host yourself, point the validator straight at its URL with python lib/validate_sources.py <url>.
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.
Click an item, to see stats, config options and installation instructions
Truncated — view the full README on GitHub.
417 followers · starred Oct 2023
110 followers · starred Nov 2024
153 followers · starred Dec 2023
48 followers · starred Apr 2023
🚢 800+ 1-click Portainer app templates
See the codeA compiled list of 500+ 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
In Portainer, App Templates enable you to easily deploy services with a predetermined configuration, while allowing you to customize options through the web UI. While Portainer ships with some default templates (see portainer/templates), it's often helpful to have 1-click access to many more apps + stacks, 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. It's also possible to self-host, as well as combine with your own custom templates.
You can browse all supported apps and stacks and see stats, config options and stand-alone installation commands for each, at portainer-templates.as93.net
The template file uses Portainer's v3 format, which is compatible with all Portainer versions. To add a new template, see this guide.
https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.jsonAlternatively, when you start Portainer, you can append the --templates flag pointing to the templates URL.
If you'd prefer to source templates locally, you can self-host with Docker - there's a sample NGINX container provided
Just run: docker run -p 8080:80 lissy93/portainer-templates (changing 8080 to a port of your choice)
You'll then be able to pass Portainer the template file located at http://[host]:[port]/templates.json
If you'd prefer to build the image yourself locally, you can do so with the following commands (if you're using your own fork, don't forget to switch lissy93 out for your username!)
git clone https://github.com/lissy93/portainer-templates.git
cd portainer-templates
docker build -t portainer-templates .
docker run -d -p "8080:80" portainer-templates
If you're using your own template file, but don't want to fork this repository, you can instead simply pass your templates.json file to the above Docker container as a volume, with -v "${PWD}/templates.json:/usr/share/nginx/html/templates.json"
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/local/ directory.
Every row in sources.csv is name, url, maintainer, kind, where kind is either:
collection - somebody's maintained list covering many apps (the default, if you leave it blank)app - a single self-hosted app, published by its own authorAdd a row, and the next build downloads it, parses it and merges it into the final template. Because that happens every night, an app author only needs one PR here: from then on they edit the file in their own repo and the change shows up within a day.
If the same app appears more than once, duplicates are settled in this order:
sources/local/ - the copies maintained in this repoapp sources - the author's own template for their own appcollection sources, in the order they're listed in sources.csvAn app source carries exactly one template, so a row approved once can't grow entries nobody reviewed - an author shipping variants adds a row per variant. If an app source stops resolving it's simply left out of that build, whereas a missing collection stops the build, since it would take hundreds of apps with it.
Alternatively, place your template file within the sources/local/ 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. Note that anything in there becomes ours to maintain, and needs a PR for every change - so if it's your own app, publishing it from your own repo as an app source is usually the better deal.
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.
To check a template you host yourself, point the validator straight at its URL with python lib/validate_sources.py <url>.
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.
Click an item, to see stats, config options and installation instructions
Truncated — view the full README on GitHub.
417 followers · starred Oct 2023
110 followers · starred Nov 2024
153 followers · starred Dec 2023
48 followers · starred Apr 2023