Giter Site home page Giter Site logo

portainer / portainer Goto Github PK

View Code? Open in Web Editor NEW
28.8K 474.0 2.3K 75.39 MB

Making Docker and Kubernetes management easy.

Home Page: https://www.portainer.io

License: zlib License

JavaScript 17.57% HTML 9.94% CSS 1.35% Go 32.29% Shell 0.20% Dockerfile 0.14% Handlebars 0.01% TypeScript 38.41% EJS 0.03% Makefile 0.06% Mustache 0.01%
docker docker-swarm ui docker-deployment docker-compose docker-container docker-image portainer docker-ui dockerfile

portainer's Introduction

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.

Latest Version

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

latest version

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 https://www.portainer.io/join-our-community. 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 [email protected] 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.

portainer's People

Contributors

andres-portainer avatar arrislee avatar chaogeng77977 avatar chelorydel avatar chiptus avatar cmenginnz avatar crosbymichael avatar dakota-portainer avatar deviantony avatar dimasalakhov avatar fhanportainer avatar hookenz avatar kevana avatar matias-portainer avatar maximebajeux avatar oscarzhou-portainer avatar prabhat-portainer avatar rexwangpt avatar sbusso avatar stevensbkang avatar sunportainer avatar testa113 avatar thojkooi avatar waysonwei avatar wheresolivia avatar wtfkr0 avatar xat0mz avatar xuorg avatar yi-portainer avatar zees-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

portainer's Issues

Line up dockerui flags with Docker CLI flags

We should line up the flags passed to the container with the Docker flags to provide a familiar API to anyone that's already in the docker ecosystem.

Changes:

  • --endpoint, -e updated to --host, -H and must use the following format: tcp://mydockerhost.com or unix://path/to/socket
  • add the --tlsverify flag to enable TLS support
  • add the --tlscacert flag to specify the path to the CA
  • add the --tlscert flag to specify the path to the TLS certificate file
  • add the --tlskey flag to specify the path to the TLS key file

Form validation

At the moment there is no form validation in any creation view, from validation should be added for required fields at least.

Refactor grunt tasks

Taken from #300

All the following grunt tasks are similar except for their parameters:

  • run
  • runSwarm
  • runSsl
  • runSwarmLocal
    There should be a way to specify command line options/flags to grunt so we could actually refactor all these task into one.

It would be nice to be able to use the grunt command like this:

# Local portainer instance using /var/run/docker.sock
$ grunt run
# Local portainer instance in swarm mode
$ grunt run --swarm
# Remote portainer instance using -H tcp://IP:PORT
$ grunt run IP:PORT
# Remote portainer instance in swarm mode
$ grunt run IP:PORT --swarm

Being able to specify the IP:PORT of the remote instance on the command line would also be handy and avoid hardcoding fixed IP addresses in the gruntfile.

The same issue is present for for the buildBinary, buildUnixArmBinary and buildWindowsBinary grunt tasks.

See http://gruntjs.com/frequently-asked-questions#options

Revamp dashboard

The actual dashboard does not display enough information and is useless.

Need to review and replace it's content with useful information.

Coherent style for all entity tables

Actually only the container table in the containers view is using the class table-hover. Either the volume, network and image tables should use it all or none of them.

Duplicate a container

Sometimes, you want to create containers with the same configuration (network, volumes, command...) and actually you need to recreate a container from scratch.

Add the ability to duplicate an existing container configuration.

Do not display duplicated volumes in Swarm mode

When the UI points to a Swarm cluster, the global volumes are listed for each node in the cluster (Docker Swarm standard behaviour).

It would be clearer to not display duplicates volumes.

Fix CSRF header issue when using grunt-dev

When using grunt-dev, a new container is created upon changes in the code. This cause the authKey.dat file to be recreated each time and leads to CSRF issues when trying to use POST requests against the Docker API.

Display all containers by default

Currently, stopped/exited containers are hidden from the containers view unless you enable Display All.

All containers should be listed, and exited/stopped containers should be hidden when disabling 'Show only running containers'.

CLI preview

Add a CLI preview in creation forms to display the Docker CLI command that would be created based on form parameters.

E.g. when creating a container with the following fields:

  • Name: web
  • image: nginx

The preview would output:

docker run --name web nginx:latest

Wide screen support

The UI is responsive to screen size using Bootstrap grid system, currently there's no way to support wide screens (e.g. width > 1500px) but this should be available in BS4.

twbs/bootstrap#12802

Container templates

Add a new section that will allow the user to deploy container in one click.

E.g. a view with a list of templates (Elasticsearch, MySQL, Tomcat...), the user then should have the choice between 'deploy' which will trigger a container creation with predefined parameters or 'run from' which will open the container creation view with predefined parameters autofilling the form.

The templates should be declared externally and be available via REST.

  • Templates view
  • Backend
  • External definition
  • Documentation

Define a --swarm flag

The current version displays a Swarm tab in the UI. This tab should only be defined when connected to a Swarm endpoint.

Proposition: Start the application with a --swarm flag, when this flag is present, display the Swarm tab. If not, we'll consider that the application is connected to a Docker engine and then a Docker tab with information about the engine should be displayed.

Dynamic breadcrumb

The upper part of each view is used to display a breadcrumb of the app. This breadcrumb is currently static. It needs to be updated depending on the current view in the application.

New container creation view

The current container creation tool is too messy, we need to have a cleaner/easier way to create containers.

Readonly user account

Add the ability to define 'read-only' user accounts.

Such accounts have the following permissions:

  • Unable to start/alter/delete any resources (such as cannot create a container, execute actions against a container, remove an image...)
  • Ability to inspect resources (such as inspect image details, container stats, containers logs...)
  • An optional ability to use the container console

The 3rd option will be treated as an optional case during the user account creation (read only or read only with console access).

Rename angular modules filter and services

The name of the modules are currently:

  • dockerui.filters
  • dockerui.services

Rename them to uifordocker.filters and uifordocker.services to stay coherent with the rest of the app.

Pull image before running container

Actually, when trying to start a container with an image that is not present on the Docker host an error is issued 'No such image:'.

The image should be pulled before trying to run the container.

Prometheus integration

Add the ability to poll metrics from a Prometheus backend.

Metrics from node_exporter to be added in the Swarm view.

Metrics from cAdvisor should replace the metrics available in the stats view for a specific container.

Unable to remove running container

When trying to remove a running container, a message is issued 'Container removed' but the container is not removed as the -f option is not passed to the remove command.

Fix typo in Docker view

The Docker engine info table is called 'Cluster status'. This should be replaced with 'Engine status'.

ViewSpinner is not always triggered

When triggering actions that requires some processing time (such as creating a container, a network...) a spinner is displayed.

Sometimes, this spinner is not displayed which could lead to confusion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.