Sign inSign up

cuigh/swirl

By cuigh

•Updated over 4 years ago

A web management UI for Docker, focus on swarm cluster.

Image
2

500K+

cuigh/swirl repository overview

⁠SWIRL

Docker Pulls Swirl

Swirl is a web management tool for Docker, focused on swarm cluster.

⁠Features

  • Swarm components management
  • Image and container management
  • Compose management with deployment support
  • Service monitoring based on Prometheus⁠ and cadvisor⁠
  • Service auto scaling
  • LDAP authentication support
  • Full permission control based on RBAC model
  • Scale out as you want
  • Multiple language support
  • And more...

⁠Snapshots

⁠Home

Home

⁠Service list

Service list

⁠Service stats

Service stats

⁠Stack list

Stack list

⁠Settings

Setting

⁠Configuration

⁠With config file

All options can be set with config/app.yml.

name: swirl
banner: false

web:
  address: ':8001'
  authorize: '?'

swirl:
  db_type: mongo
  db_address: localhost:27017/swirl
#  docker_endpoint: tcp://docker-proxy:2375

log:
  loggers:
  - level: info
    writers: console
  writers:
  - name: console
    type: console
    layout: '[{L}]{T}: {M}{N}'
⁠With environment variables

Only these options can be set by environment variables for now.

NameValue
DB_TYPEmongo,bolt
DB_ADDRESSlocalhost:27017/swirl
DOCKER_ENDPOINTtcp://docker-proxy:2375
AUTH_TIMEOUT4h
⁠With swarm config

Docker support mounting configuration file through swarm from v17.06, so you can store your config in swarm and mount it to your program.

⁠Deployment

Swirl support two storage engines now: mongo and bolt. bolt is suitable for develepment environment, Swirl can only deploy one replica if you use bolt storage engine.

⁠Stand alone

Just copy the swirl binary and config/assets/views directories to the host, and run it.

./swirl
⁠Docker
  • Use bolt storage engine
docker run -d -p 8001:8001 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /data/swirl:/data/swirl \
    -e DB_TYPE=bolt \
    -e DB_ADDRESS=/data/swirl \
    --name=swirl \
    cuigh/swirl
  • Use MongoDB storage engine
docker run -d -p 8001:8001 \
    --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
    -e DB_TYPE=mongo \
    -e DB_ADDRESS=localhost:27017/swirl \
    --name=swirl \
    cuigh/swirl
⁠Docker swarm
  • Use bolt storage engine
docker service create \
  --name=swirl \
  --publish=8001:8001/tcp \
  --env DB_TYPE=bolt \
  --env DB_ADDRESS=/data/swirl \
  --constraint=node.hostname==manager1 \
  --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  --mount=type=bind,src=/data/swirl,dst=/data/swirl \
  cuigh/swirl
  • Use MongoDB storage engine
docker service create \
  --name=swirl \
  --publish=8001:8001/tcp \
  --env DB_ADDRESS=localhost:27017/swirl \
  --constraint=node.role==manager \
  --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  cuigh/swirl
⁠Docker compose
docker stack deploy -c compose.yml swirl

⁠Advanced features

Swirl use service labels to support some features, the labels in the table below are currently supported.

NameDescriptionExamples
swirl.scaleService auto scalingswirl.scale=min=1,max=5,cpu=30:50

⁠Build

To build Swirl from source, you need go1.11 installed.

$ go build

⁠License

This product is licensed to you under the MIT License. You may not use this product except in compliance with the License. See LICENSE and NOTICE for more information.

Tag summary

Content type

Image

Digest

Size

9.1 MB

Last updated

over 7 years ago

docker pull cuigh/swirl