![]() * feat(custom-templates): introduce types * feat(custom-templates): introduce data layer service * feat(custom-templates): introduce http handler * feat(custom-templates): create routes and view stubs * feat(custom-templates): add create custom template ui * feat(custom-templates): add json keys * feat(custom-templates): introduce custom templates list page * feat(custom-templates): introduce update page * feat(stack): create template from stack * feat(stacks): create stack from custom template * feat(custom-templates): disable edit/delete of templates * fix(custom-templates): fail update on non admin/owner * fix(custom-templates): add ng-inject decorator * chore(plop): revert template * feat(stacks): remove actions column * feat(stack): add button to create template from stack * feat(stacks): add empty state for templates * feat(custom-templates): show templates in a list * feat(custom-template): replace table with list * feat(custom-templates): move create template button * refactor(custom-templates): introduce more fields * feat(custom-templates): use stack type when creating template * feat(custom-templates): use same type as stack * feat(custom-templates): add edit and delete buttons to template item * feat(custom-templates): customize stack before deploy * feat(stack): show template details * feat(custom-templates): move customize * feat(custom-templates): create description required * fix(template): show platform icon * fix(custom-templates): show spinner when creating stack * feat(custom-templates): prevent user from edit templates * feat(custom-templates): use resource control for custom templates * feat(custom-templates): show created templates * feat(custom-templates): filter templates by stack type * fix(custom-templates): create swarm or standalone stack * feat(stacks): filter templates by type * feat(resource-control): disable resource control on public * feat(custom-template): apply access control on edit * feat(custom-template): add form validation * feat(stack): disable create custom template from external task * refactor(custom-templates): create template from file and type * feat(templates): introduce a file handler that returns template docker file * feat(template): introduce template duplication * feat(custom-template): enforce unique template name * fix(template): rename copy button * fix(custom-template): clear access control selection between templates * fix(custom-templates): show required fields * refactor(filesystem): use a constant for temp path |
||
---|---|---|
.github | ||
.vscode | ||
api | ||
app | ||
build | ||
distribution | ||
plop-templates | ||
test | ||
webpack | ||
.babelrc | ||
.codeclimate.yml | ||
.dockerignore | ||
.eslintignore | ||
.eslintrc.yml | ||
.gitignore | ||
.godir | ||
.prettierrc | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
build.sh | ||
docker-compose.pull-dog.yml | ||
extensions.json | ||
gruntfile.js | ||
jsconfig.json | ||
package.json | ||
plopfile.js | ||
postcss.config.js | ||
pull-dog.json | ||
webpack.config.js | ||
yarn.lock |
README.md
Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). Portainer is meant to be as simple to deploy as it is to use. It consists of a single container that can run on any Docker engine (can be deployed as Linux container or a Windows native container, supports other platforms too). Portainer allows you to manage all your Docker resources (containers, images, volumes, networks and more) ! It is compatible with the standalone Docker engine and with Docker Swarm mode.
Demo
You can try out the public demo instance: http://demo.portainer.io/ (login with the username admin and the password tryportainer).
Please note that the public demo cluster is reset every 15min.
Alternatively, you can deploy a copy of the demo stack inside a play-with-docker (PWD) playground:
- Browse PWD/?stack=portainer-demo/play-with-docker/docker-stack.yml
- Sign in with your Docker ID
- Follow these steps.
Unlike the public demo, the playground sessions are deleted after 4 hours. Apart from that, all the settings are same, including default credentials.
Getting started
Getting help
For FORMAL Support, please purchase a support subscription from here: https://www.portainer.io/products-services/portainer-business-support/
For community support: You can find more information about Portainer's community support framework policy here: https://www.portainer.io/2019/04/portainer-support-policy/
- Issues: https://github.com/portainer/portainer/issues
- FAQ: https://www.portainer.io/documentation/faqs/
- Slack (chat): https://portainer.io/slack/
Reporting bugs and contributing
- Want to report a bug or request a feature? Please open an issue.
- Want to help us build portainer? Follow our contribution guidelines to build it locally and make a pull request. We need all the help we can get!
Security
- Here at Portainer, we believe in responsible disclosure of security issues. If you have found a security issue, please report it to security@portainer.io.
Limitations
Portainer supports "Current - 2 docker versions only. Prior versions may operate, however these are not supported.
Licensing
Portainer is licensed under the zlib license. See LICENSE for reference.
Portainer also contains the following code, which is licensed under the MIT license:
UI For Docker: Copyright (c) 2013-2016 Michael Crosby (crosbymichael.com), Kevan Ahlquist (kevanahlquist.com), Anthony Lapenna (portainer.io)
rdash-angular: Copyright (c) [2014][elliot hesp]