Go to file
2017-10-20 14:45:25 +08:00
assets Allow updating replicas of service to zero 2017-10-16 20:24:11 +08:00
biz Display command line for creating service on detail page 2017-10-20 14:45:25 +08:00
config Add task list page 2017-10-19 20:42:05 +08:00
controller Display command line for creating service on detail page 2017-10-20 14:45:25 +08:00
dao Add i18n support 2017-10-12 11:04:43 +08:00
docs/images Add codes 2017-09-26 20:50:09 +08:00
misc Add task list page 2017-10-19 20:42:05 +08:00
model Display command line for creating service on detail page 2017-10-20 14:45:25 +08:00
views Display command line for creating service on detail page 2017-10-20 14:45:25 +08:00
.gitattributes Add codes 2017-09-26 20:50:09 +08:00
.gitignore Add codes 2017-09-26 20:50:09 +08:00
Dockerfile Add codes 2017-09-26 20:50:09 +08:00
Gopkg.toml Add codes 2017-09-26 20:50:09 +08:00
LICENSE Initial commit 2017-09-25 03:43:54 -05:00
main.go Fix permission key of service template 2017-10-19 14:24:38 +08:00
README.md Add go report badge 2017-09-29 16:54:31 +08:00

Swirl

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
  • LDAP authentication support
  • Full permission control based on RBAC model
  • Scale out as you want
  • And more...

Snapshots

Dashboard

Dashboard

Service list

Service list

Compose list

Compose list

Role editing

Role editing

Settings

Setting

Configuration

With config file

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

<config>
    <app>
        <add key="name" value="swirl"/>
    </app>
    <web>
        <add key="address" value=":8001"/>
        <!-- default authorize mode, valid options: *(everyone)/?(login user)/!(authorized explicitly) -->
        <add key="authorize_mode" value="?"/>
    </web>
    <swirl>
        <!-- optional -->
        <add key="docker_endpoint" value="tcp://docker-proxy:2375"/>
        <!-- required, valid options: mongo -->
        <add key="db_type" value="mongo"/>
        <!-- required, database connection string, must match with db.type option -->
        <add key="db_address" value="localhost:27017/swirl"/>
    </swirl>
</config>

With environment variables

Only three main options can be set by environment variables for now.

Name Value
DB_TYPE mongo
DB_ADDRESS localhost:27017/swirl
DOCKER_ENDPOINT tcp://docker-proxy:2375

With swarm config

Docker support mounting configuration file through swarm from v17.06.

Deployment

Stand alone

Just copy the swirl binary and config dir to the host, run it.

nohup swirl >swirl.log &

Docker

docker run -d -p 8001:8001 -v /var/run/docker.sock:/var/run/docker.sock --name=swirl cuigh/swirl

Docker swarm

docker service create \
  --name=swirl \
  --publish=8001:8001/tcp \
  --constraint=node.role==manager \
  --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  cuigh/swirl

Build

Swirl use dep as dependency management tool.

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.