Go to file
Chaim Lev-Ari c5aecfe6f3 feat(host): Add host file browser with upload/download files (#2337)
* 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(agent): browse standalone agent

* feat(agent): move browse button from header

* fix(agent): fix url of browser view

* fix(agent): fix breadcrumb on title of host-browser

* feat(agent): fix url on node-browser breadcrumb

* refactor(agent): remove unused controller

* refactor(docker): remove unused filter

* refactor(docker): remove unused controllers

* refactor(docker): remove isAgent binding
2018-10-12 11:32:17 +13:00
.github chore(project): update issue templates 2018-05-02 17:01:05 +02:00
api docs(swagger): update StackUpdateRequest model (#2360) 2018-10-11 13:09:51 +13:00
app feat(host): Add host file browser with upload/download files (#2337) 2018-10-12 11:32:17 +13:00
assets feat(network-creation): enhance UX with macvlan driver for swarm mode (#2082) (#2122) 2018-08-16 12:29:15 +02:00
build refactor(build-system): update build_in_container.sh (#2230) 2018-09-01 10:09:24 +02: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): update build badge 2018-08-15 21:02:01 +02:00
build.sh chore(build): update build script and add grunt yarn script (#2276) 2018-09-16 10:34:46 +08:00
gruntfile.js feat(build-system): update shippedDockerVersion to 18.06.1-ce (#2281) 2018-09-17 09:26:37 +08:00
index.html feat(auth): remove sanitization calls and ask for password update if needed (#2222) 2018-08-28 10:13:01 +02:00
package.json chore(build): update build script and add grunt yarn script (#2276) 2018-09-16 10:34:46 +08:00
templates.json feat(templates): add datadog agent templates 2018-08-13 14:06:54 +02:00
vendor.yml feat(volume-browser): add the ability to browse volume content (#2051) 2018-07-23 07:01:03 +02:00
yarn.lock chore(project): update lodash version to 4.17.10 (#2156) 2018-08-13 19:10:09 +02: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]