Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools.
Go to file
2015-06-02 16:02:44 +02:00
bin delete setup.js 2014-08-25 00:04:51 +01:00
lib User adding/editing 2015-06-02 16:02:44 +02:00
playbooks Update site layout 2015-03-25 00:36:00 +00:00
public User adding/editing 2015-06-02 16:02:44 +02:00
.bowerrc Rename credential to identity, better UI 2014-09-11 18:42:13 +01:00
.dockerignore [fea] working with docker and fig 2015-03-31 17:45:37 +03:00
.gitignore Get rid of grunt, fix users routing issues 2015-06-02 15:25:19 +02:00
bower.json Update site layout 2015-03-25 00:36:00 +00:00
Dockerfile Fix magic REDIS_PORT variable 2015-04-24 08:35:22 +02:00
fig.yml [fea] working with docker and fig 2015-03-31 17:45:37 +03:00
LICENSE Initial commit 2014-08-23 23:43:31 +01:00
package.json [Update] Git url in package json 2015-03-31 21:03:56 -04:00
README.md Add articles section 2015-05-14 14:24:37 +01:00
Vagrantfile Fix authentication failures & get rid of grunt 2015-03-09 12:26:12 +00:00

semaphore

Open Source Alternative to Ansible Tower

screenshot

Features

The basics of Ansible Tower, but in addition:

  • Fast, Simple interface (not having to submit a million forms to get something simple done)
  • Task output is streamed live via websocket
  • Create inventories per playbook
  • Add rsa keys (to authenticate git repositories)
  • Run playbooks against specified hosts
  • Multiple Users support

Docker quickstart

Run redis

docker run -d \
  --name=redisio \
  redis

Run mongodb

docker run -d \
  --name=mongodb \
  -p 127.0.0.1:27017:27017 \
  mongo

Run semaphore

docker run -d \
  --name=semaphore \
  --restart=always \
  --link redisio:redis \
  --link mongodb:mongo \
  -e MONGODB_URL="mongodb://mongo/semaphore" \
  -e REDIS_HOST="redis" \
  -p 80:80 \
  castawaylabs/semaphore

Development

  1. Install VirtualBox & Vagrant
  2. Run vagrant plugin install gatling-rsync-auto
  3. Run vagrant up to start the vagrant box
  4. Run vagrant gatling-rsync-auto to synchronise changes from your local machine to vagrant

Running semaphore inside vagrant

  1. vagrant ssh, cd /opt/semaphore
  2. npm install
  3. bower install
  4. npm install -g nodemon
  5. nodemon bin/semaphore

Initial Login

Email:			'admin@semaphore.local'
Password:		'CastawayLabs'

Environment Variables

Use these variables to override the config.

Variable Name Description Default Value
PORT Web Port 80
REDIS_PORT Redis Port 6379
REDIS_HOST Redis Hostname 127.0.0.1
REDIS_KEY Redis auth key
BUGSNAG_KEY Bugsnag API key
SMTP_USER Mandrill smtp username
SMTP_PASS Mandrill smtp password
MONGODB_URL Mongodb URL mongodb://127.0.0.1/semaphore

Vision and goals for v1

  • Be able to specify environment information per playbook / per task
  • Schedule jobs
  • Email alerts
  • Multiple user support

Articles

License

MIT