Making Docker and Kubernetes management easy.
 
 
 
 
 
 
Go to file
Chaim Lev-Ari 45113a7ff4 refactor(app): introduce webpack and babel (#2407)
* feat(agent): add new host page

* feat(agent): convert volume-browser to files-datatable

* fix(agent): browse folders in file-datatable

* feat(engine-details): replace engine view with host view

* feat(engine-details): remove old panels

* feat(engine-details): add basic engine-details-panel component

* feat(engine-details): pass details to the different components

* feat(engine-details): replace host-view with host-overview

* feat(engine-details): add commaseperated filter

* feat(engine-details): add host-view container component

* feat(engine-details): add host-details component

* feat(engine-details): build host details object

* feat(engine-details): format engine version

* feat(engine-details): get details for one node

* feat(engine-details): pass is-agent from view

* feat(engine-details): replace old node view with a new component

* feat(engine-details): add swarm-node-details component

* feat(engine-details): remove isSwarm binding

* feat(engine-details): remove node-details and include in parent

* feat(engine-details): add labels-table component

* feat(engine-details): add update node service

* feat(engine-details): add update label functionality

* style(engine-details): remove whitespaces

* feat(engine-details): remove old node page

* feat(engine-details): pass is agent to host details

* feat(host-details): hide missing info

* feat(host-details): update node availability

* style(host-details): remove obsolete event object

* feat(host-details): fix labels not sending

* feat(host-details): remove flags for hiding data

* feat(host-details): create mock call to server for agent host info

* style(host-details): fix spelling mistake in filter's name

* feat(host-details): get info from agent

* feat(host-details): hide engine labels when empty

* feat(node-details): move labels table and save button

* feat(host-info): add different urls for refresh

* feat(host-details): show disk/devices info for agent

* feat(host-view): add loading indicator to devices-panel

* feat(host-details): add loading indicator to disks panel

* feat(agent): fix browse volume

* feat(agent): browse files

* feat(agent): enable rename

* feat(agent): download file

* fix(agent): download file from root

* feat(agent): delete file

* style(agent): remove whitespaces

* fix(agent): fix link on node browser

* feat(agent): basic file uploader

* feat(agent): add basic file upload

* fix(volume-browser): move volume id to query params

* feat(node-browser): moved uploader into browser

* feat(node-browser): add upload spinner

* feat(agent): browse files relative to root

* feat(build): add webpack build config

* feat(build): add missing imports

* feat(webpack): add missing imports

* feat(build): enable eslint on build

* feat(build): add webpack notifier

* feat(build): clean terminal on build

* feat(build): import all globals

* feat(build): add angular import

* feat(build): fix styles

* feat(build): load favicons

* feat(build): load css before script

* feat(webpack): split vendors css and js to a different bundle

* feat(webpack): import angular in all files

* feat(webpack): remove eslint global config

* feat(webpack): add webpack clean dist

* feat(webpack): fix styling issues

* refactor(webpack): remove empty controllers

* refactor(webpack): optimize moment

* refactor(webpack): add bundle analyzer

* feat(webpack): add babel

* refactor(webpack): optimize lodash

* refactor(toastr): update toastr

* feat(webpack): create basic production and dev config

* fix(webpack): fix production config

* fix(webpack): fix html templates url

* refactor(webpack): remove angular imports

* refactor(webpack): remove more angular imports

* refactor(webpack): return angular to entry file

* style(webpack): remove comments from config

* fix(hosts): remove browse button

* fix(webpack): import lodash

* fix(webpack): import missing htmls

* feat(webpack): reduce lodash size

* feat(webpack): config grunt to use webpack

* feat(webpack): add postcss

* chore(codeclimate): use eslint-5 channel

* feat(deps): upgrade from lodash to lodash-es

* fix(webpack): fix bug with lodash

* chore(build): add build client script

* fix(webpack): fix missing jsyaml reference

* refactor(webpack): seperate builds of img files

* chore(build): add a way to check times of webpack build

* feat(webpack): add dev server

* fix(webpack): fix css output name

* chore(webpack): optimize images

* chore(webpack): add node env

* fix(build): copy templates on release

* chore(webpack): set env NODE_ENV

* feat(webpack): set NODE_ENV on production builds

* fix(extensions): set image path

* refactor(css): move vendor css to js import

* style(app): remove whitespaces

* fix(build-system): allow DevOps pipeline to leverage webpack (#2670)

* Update devopsbuild task to use webpack & remove AppVeyor environment var

* Added -Force to replace the existing dist folder

* Removed Test-Path

* dep(build-system): add angularjs-annotate to webpack + fix on imports

* Merge branch 'develop' into webpack

* refactor(app): webpack aliases for imports + async / await dep + start refactor

* style(extensions): use develop version of the view

* fix(app): fix several issues introduced by webpack migration

* fix(webpack): fix ng-include not loading templates with webpack

* Fix Windows CI with Webpack (#2782)

* fix(configs): refactor broke configs creation and list views

* fix(build-system): update build_binary_devops for Windows
2019-03-21 18:46:49 +13:00
.github chore(project): update issue templates 2018-05-02 17:01:05 +02:00
api refactor(api): refactor base import path (#2788) 2019-03-21 14:20:14 +13:00
app refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
assets refactor(app): minor refactor (#2773) 2019-03-13 11:09:53 +13:00
build refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
distribution chore(version): bump version number 2019-03-05 17:34:19 +13:00
test/unit fix(general): fix the size display using the filesize library (#246) 2016-10-01 21:38:20 +13:00
webpack refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.babelrc refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.codeclimate.yml refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.dockerignore chore(codefresh): add codefresh.yml (#887) 2017-05-25 11:08:26 +02:00
.eslintignore refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.eslintrc.yml refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13: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 refactor(app): minor refactor (#2773) 2019-03-13 11:09:53 +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 refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
package.json refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
postcss.config.js refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
templates.json feat(templates): add sonatype nexus 3 template 2019-01-23 16:05:07 +13:00
webpack.config.js refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
yarn.lock refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00

README.md

Docker Pulls Microbadger Documentation Status Build Status Code Climate 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, supports other platforms too). Portainer allows you to manage your 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:

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]