Go to file
Anthony Lapenna 6fd5ddc802
feat(extensions): introduce extension support (#2527)
* wip

* wip: missing repository & tags removal

* feat(registry): private registry management

* style(plugin-details): update view

* wip

* wip

* wip

* feat(plugins): add license info

* feat(plugins): browse feature preview

* feat(registry-configure): add the ability to configure registry management

* style(app): update text in app

* feat(plugins): add plugin version number

* feat(plugins): wip plugin upgrade process

* feat(plugins): wip plugin upgrade

* feat(plugins): add the ability to update a plugin

* feat(plugins): init plugins at startup time

* feat(plugins): add the ability to remove a plugin

* feat(plugins): update to latest plugin definitions

* feat(plugins): introduce plugin-tooltip component

* refactor(app): relocate plugin files to app/plugins

* feat(plugins): introduce PluginDefinitionsURL constant

* feat(plugins): update the flags used by the plugins

* feat(plugins): wip

* feat(plugins): display a label when a plugin has expired

* wip

* feat(registry-creation): update registry creation logic

* refactor(registry-creation): change name/ids for inputs

* feat(api): pass registry type to management configuration

* feat(api): unstrip /v2 in regsitry proxy

* docs(api): add TODO

* feat(store): mockup-1

* feat(store): mockup 2

* feat(store): mockup 2

* feat(store): update mockup-2

* feat(app): add unauthenticated event check

* update gruntfile

* style(support): update support views

* style(support): update product views

* refactor(extensions): refactor plugins to extensions

* feat(extensions): add a deal property

* feat(extensions): introduce ExtensionManager

* style(extensions): update extension details style

* feat(extensions): display license/company when enabling extension

* feat(extensions): update extensions views

* feat(extensions): use ProductId defined in extension schema

* style(app): remove padding left for form section title elements

* style(support): use per host model

* refactor(extensions): multiple refactors related to extensions mecanism

* feat(extensions): update tls file path for registry extension

* feat(extensions): update registry management configuration

* feat(extensions): send license in header to extension proxy

* fix(proxy): fix invalid default loopback address

* feat(extensions): add header X-RegistryManagement-ForceNew for specific operations

* feat(extensions): add the ability to display screenshots

* feat(extensions): center screenshots

* style(extensions): tune style

* feat(extensions-details): open full screen image on click (#2517)

* feat(extension-details): show magnifying glass on images

* feat(extensions): support extension logo

* feat(extensions): update support logos

* refactor(lint): fix lint issues
2018-12-09 16:49:27 +13:00
.github chore(project): update issue templates 2018-05-02 17:01:05 +02:00
api feat(extensions): introduce extension support (#2527) 2018-12-09 16:49:27 +13:00
app feat(extensions): introduce extension support (#2527) 2018-12-09 16:49:27 +13:00
assets feat(extensions): introduce extension support (#2527) 2018-12-09 16:49:27 +13:00
build fix(build-system): revert appveyor integration 2018-12-09 16:32:12 +13:00
distribution chore(version): bump version number 2018-09-15 19:26:03 +08:00
test/unit fix(general): fix the size display using the filesize library (#246) 2016-10-01 21:38:20 +13:00
.codeclimate.yml chore(codeclimate): update .codeclimate.yml (#2212) 2018-08-24 10:40:05 +02:00
.dockerignore chore(codefresh): add codefresh.yml (#887) 2017-05-25 11:08:26 +02:00
.eslintrc.yml * chore(eslint): update esllint and remove unused variables 2018-08-22 17:33:06 +02:00
.gitignore chore(gitignore): add .vscode to .gitignore (#2130) 2018-08-06 15:32:27 +02:00
.godir refactor(global): rename uifd to portainer 2016-09-04 14:50:37 +12:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#946) 2017-06-22 05:11:40 +02:00
CONTRIBUTING.md docs(project): update CONTRIBUTING.md 2018-09-19 11:40:06 +08:00
LICENSE chore(license): update license info so that GitHub recognizes it (#1924) 2018-05-23 14:47:43 +02:00
README.md docs(README): fix semaphore badge 2018-10-24 08:55:30 +13:00
appveyor-ci.yml fix(build-system): fix local build system after appveyor introduction (#2528) 2018-12-09 16:08:36 +13:00
appveyor-release.yml fix(build-system): fix local build system after appveyor introduction (#2528) 2018-12-09 16:08:36 +13:00
build.sh chore(build): update build script and add grunt yarn script (#2276) 2018-09-16 10:34:46 +08:00
gruntfile.js fix(build-system): revert appveyor integration 2018-12-09 16:32:12 +13:00
index.html * feat(UX): schedule creation UX overhaul (#2485) 2018-12-07 08:53:23 +13:00
package.json * feat(UX): schedule creation UX overhaul (#2485) 2018-12-07 08:53:23 +13:00
templates.json feat(templates): add datadog agent templates 2018-08-13 14:06:54 +02:00
vendor.yml * feat(UX): schedule creation UX overhaul (#2485) 2018-12-07 08:53:23 +13:00
yarn.lock * feat(UX): schedule creation UX overhaul (#2485) 2018-12-07 08:53:23 +13:00

README.md

Docker Pulls Microbadger Documentation Status Build Status Code Climate Slack Gitter Donate

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).

Portainer allows you to manage your Docker 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:

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

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!

Limitations

Portainer has full support for the following Docker versions:

  • Docker 1.10 to the latest version
  • Standalone Docker Swarm >= 1.2.3 (NOTE: Use of Standalone Docker Swarm is being discouraged since the introduction of built-in Swarm Mode in Docker. While older versions of Portainer had support for Standalone Docker Swarm, Portainer 1.17.0 and newer do not support it. However, the built-in Swarm Mode of Docker is fully supported.)

Partial support for the following Docker versions (some features may not be available):

  • Docker 1.9

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]