swirl

A web UI for Docker, focused on swarm cluster.

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., Name, Value, ---------------, -----------------------------, DB_TYPE, mongo,bolt, DB_ADDRESS, localhost:27017/swirl, DOCKER_ENDPOINT, tcp://docker-proxy:2375, AUTH_TIMEOUT, 4h, ### 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.

Name, Description, Examples
---, ---, ---
swirl.scale, Service auto scaling, swirl.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.

主要指標

概覽
名稱與所有者tgraf/bmon
主編程語言C
編程語言TypeScript (語言數: 4)
平台
許可證Other
所有者活动
創建於2013-07-05 13:02:33
推送於2023-09-19 13:03:31
最后一次提交2018-11-11 21:40:17
發布數10
最新版本名稱v4.0 (發布於 )
第一版名稱v3.1 (發布於 )
用户参与
星數1.3k
關注者數47
派生數100
提交數151
已啟用問題?
問題數60
打開的問題數41
拉請求數32
打開的拉請求數10
關閉的拉請求數5
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?