Go to file
Chaim Lev-Ari 0f3c7b1424
refactor(home): migrate view to react [EE-1810] (#6314)
* refactor(http): parse axios errors (#6325)

* refactor(home): use endpoint-list as react component [EE-1814] (#6060)

* refactor(home): use endpoint-list as react component

fix(home): add missing features and refactors

- kubebutton
- group name
- poll when endpoint is off
- state management

refactor(endpoints): use stat component

fix(endpoints): add space between items

refactor(endpoints): move stats to components

refactor(endpoints): fetch time

refactor(home): move logic

refactor(home): move fe render logic

refactor(settings): use vanilla js for publicSettings

refactor(kube): remove angular from kube config service

feat(home): add kubeconfig button

feat(home): send analytics when opening kubeconfig modal

fix(home): memoize footer

refactor(home): use react-query for loading

fix(home): show correct control for kubeconfig modal

refactor(home): use debounce

refactor(home): use new components

refactor(home): replace endpoints with environments

refactor(home): move endpoint-list component to home

fix(home): show group name

refactor(home): use switch for environment icon

fix(kubeconfig): fix default case

refactor(axios): use parse axios error

refactor(home): use link components for navigate

fix(home): align azure icon

refactor(home): refactor stats

refactor(home): export envstatusbadge

refactor(home): remove unused bindings

* chore(home): write tests for edge indicator

* chore(home): basic stories for environment item

* style(settings): reformat

* fix(environments): add publicurl

* refactor(home): use table components

* refactor(datatables): merge useSearchBarState

* refactor(home): fetch group in env item

* chore(tests): basic tests

* chore(home): test when no envs

* refactor(tags): use axios for tagService

* refactor(env-groups): use axios for getGroups

* feat(app): ui-state context provider

* refactor(home): create MotdPanel

* refactor(app): create InformationPanel

* feat(endpoints): fetch number of total endpoints

* refactor(app): merge hooks

* refactor(home): migrate view to react [EE-1810]

fixes [EE-1810]

refactor(home): wip use react view

feat(home): show message if no endpoints

refactor(home): show endpoint list

refactor(home): don't use home to manage link

refactor(home): move state

refactor(home): check if edge using util

refactor(home): move inf panels

chore(home): tests

refactor(home): load groups and tags in env-item

refactor(settings): revert publicSettings change

refactor(home): move confirm snapshot method

* fix(home): show tags

* fix(environments): handle missing snapshots

* fix(kube/volumes): fetch pesistent volume claims

* refactor(kube): remove use of endpointProvider

* refactor(endpoints): set current endpoint

* chore(home): add data-cy for tests

* chore(tests): mock axios-progress-bar

* refactor(home): move use env list to env module

* feat(app): sync home view changes with ee

* fix(home): sort page header

* fix(app): fix tests

* chore(github): use yarn cache

* refactor(environments): load list of groups

* chore(babel): remove auto 18n keys extraction

* chore(environments): fix tests

* refactor(k8s/application): use current endpoint

* fix(app/header): add margin to header

* refactor(app): remove unused types

* refactor(app): use rq onError handler

* refactor(home): wrap element with button
2022-03-08 14:14:23 +02:00
.github refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00
.storybook refactor(app): create access-control-form react component [EE-2332] (#6346) 2022-01-05 18:28:56 +02:00
.vscode.example chore(git): ignore prettier commits on git blame (#6584) 2022-02-22 16:27:35 +02:00
api refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00
app refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00
build feat: bump golang version to 1.17.6 (#6366) 2022-01-10 13:10:02 +13:00
distribution chore(version): bump version number 2020-08-27 17:48:02 +12:00
plop-templates chore(plop): use templates as in style guide (#4916) 2021-03-19 09:03:26 +13:00
test fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
translations/en fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
webpack fix(app): skip authorizations in CE [EE-2423] (#6431) 2022-01-24 08:02:23 +02:00
.codeclimate.yml feat(kubernetes): introduce kubernetes support (#3987) 2020-07-06 11:21:03 +12:00
.dockerignore chore(codefresh): add codefresh.yml (#887) 2017-05-25 11:08:26 +02:00
.env.defaults fix(app): skip authorizations in CE [EE-2423] (#6431) 2022-01-24 08:02:23 +02:00
.eslintignore refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
.eslintrc.yml fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
.git-blame-ignore-revs chore(git): ignore prettier commits on git blame (#6584) 2022-02-22 16:27:35 +02:00
.gitignore feature(kubeconfig): access to all kube environment contexts from within the Portainer UI [EE-1727] (#5966) 2021-11-22 15:05:09 -03:00
.godir refactor(global): rename uifd to portainer 2016-09-04 14:50:37 +12:00
.prettierignore feat(app): introduce react configurations [EE-1809] (#5953) 2021-11-03 12:41:59 +02:00
.prettierrc fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
ATTRIBUTIONS.md Link to attributions 2021-03-22 15:35:26 +13:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#946) 2017-06-22 05:11:40 +02:00
CONTRIBUTING.md feat(api-key/backend): introducing support for api-key based auth EE-978 (#6079) 2021-11-30 15:31:16 +13:00
LICENSE chore(license): update license info so that GitHub recognizes it (#1924) 2018-05-23 14:47:43 +02:00
README.md docs(github): fix slack link [EE-2438] (#6541) 2022-02-11 10:07:14 -03:00
babel.config.js refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00
build.sh chore(build): update build script and add grunt yarn script (#2276) 2018-09-16 10:34:46 +08:00
docker-compose.pull-dog.yml feat(build-system): update pull-dog configuration (#4532) 2020-12-02 08:27:30 +13:00
extensions.json feat(extensions): update offline manifest 2019-12-03 09:50:10 +13:00
gruntfile.js fix(download-plugin): Image name not available when using watchtower or similar (#6225) 2022-01-10 10:07:46 +08:00
jest.config.js refactor(app): create access-control-form react component [EE-2332] (#6346) 2022-01-05 18:28:56 +02:00
jsconfig.json fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
lint-staged.config.js fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
package.json refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00
plopfile.js chore(plop): use templates as in style guide (#4916) 2021-03-19 09:03:26 +13:00
postcss.config.js fix(wizard): align wizard grid (#5752) 2021-09-30 15:54:15 +13:00
pull-dog.json chore(ci/pull-dog): update pulldog configuration 2020-07-21 08:27:53 +12:00
tool-versions.json fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
tsconfig.json fix(app): add github action for linting and formatting [EE-2344] (#6356) 2022-01-17 07:53:32 +02:00
webpack.config.js refactor(app): introduce webpack and babel (#2407) 2019-03-21 18:46:49 +13:00
yarn.lock refactor(home): migrate view to react [EE-1810] (#6314) 2022-03-08 14:14:23 +02:00

README.md

Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. It is designed to be as simple to deploy as it is to use. The application allows you to manage all your orchestrator resources (containers, images, volumes, networks and more) through a smart GUI and/or an extensive API.

Portainer consists of a single container that can run on any cluster. It can be deployed as a Linux container or a Windows native container.

Portainer Business Edition builds on the open-source base and includes a range of advanced features and functions (like RBAC and Support) that are specific to the needs of business users.

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.

Latest Version

Portainer CE is updated regularly. We aim to do an update release every couple of months.

The latest version of Portainer is 2.9.x. Portainer is on version 2, the second number denotes the month of release.

Getting started

Features & Functions

View this table to see all of the Portainer CE functionality and compare to Portainer Business.

Getting help

Portainer CE is an open source project and is supported by the community. You can buy a supported version of Portainer at portainer.io

Learn more about Portainer's community support channels here.

You can join the Portainer Community by visiting community.portainer.io. This will give you advance notice of events, content and other related Portainer content.

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.

Security

Work for us

If you are a developer, and our code in this repo makes sense to you, we would love to hear from you. We are always on the hunt for awesome devs, either freelance or employed. Drop us a line to info@portainer.io with your details and/or visit our careers page.

Privacy

To make sure we focus our development effort in the right places we need to know which features get used most often. To give us this information we use Matomo Analytics, which is hosted in Germany and is fully GDPR compliant.

When Portainer first starts, you are given the option to DISABLE analytics. If you don't choose to disable it, we collect anonymous usage as per our privacy policy. Please note, there is no personally identifiable information sent or stored at any time and we only use the data to help us improve Portainer.

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 code from open source projects. See ATTRIBUTIONS.md for a list.