Skip to content
forked from adamcooke/staytus

An open source solution for publishing the status of your services

License

Notifications You must be signed in to change notification settings

fracklen/staytus

 
 

Repository files navigation

Staytus

Staytus is a complete solution for publishing the latest information about any issues with your web applications, networks or services. Along with absolutely beautiful public & admin interfaces, Staytus is a powerful tool for any organization with customers that rely on them to be online 24/7.

Screenshot

Installation from source

System Requirements

  • Ruby 2.1 or greater
  • RubyGems and Bundler
  • A MySQL database server

Instructions

Before start, you'll need to create a new MySQL database:

mysql$ CREATE DATABASE `staytus` CHARSET utf8 COLLATE utf8_unicode_ci;
mysql$ GRANT ALL ON staytus.* TO `staytus`@`localhost` IDENTIFIED BY "a_secure_password";
$ git clone https://github.com/adamcooke/staytus
$ cd staytus
$ git checkout stable
$ bundle install --deployment --without development:test
$ cp config/database.example.yml config/database.yml
$ nano -w config/database.yml # Add your database configuration
$ bundle exec rake staytus:build staytus:install
$ bundle exec foreman start

This will run the application on HTTP port 5000. When you first login, you'll be able to add your own site settings. Browse to http:https://[IP]:5000 to begin.

You may also want to change the SMTP configuration via environment variables, which are described in config/environment.example.yml.

Upgrading

Once you've installed Staytus, you can easily upgrade it by following this process.

$ cd path/to/staytus
$ git pull origin stable
$ bundle
$ bundle exec rake staytus:build staytus:upgrade

Once you've done this, you should ensure you restart any Staytus processes which you have running.

Setup with Docker

  1. Install Docker locally
  2. Run docker run -d -p 0.0.0.0:80:5000 --name=staytus adamcooke/staytus
  3. Go to http:https://localhost:80 and follow the instructions to configure Staytus

This will pull and start the latest published Staytus Docker image, and start it listening on port 80 on the host machine.

Note that this container includes two persistent volumes, one for the database (persisting all config and state) and one for persistent DB config.

Upgrading with Docker

When a new Staytus Docker image is published that you'd like to upgrade to:

  1. Stop your current Staytus container with docker stop staytus
  2. Rename your previous container with docker rename staytus staytus-old
  3. Start a new container, reusing your previous volumes, with docker run -d -p 0.0.0.0:80:5000 --name=staytus --volumes-from=staytus-old adamcooke/staytus
  4. Delete the old container with docker rm staytus-old

This will automatically migrate your DB to pick up any new changes, and bring in any new code changes from the Staytus code.

Administration

To log in for the first time, visit the /admin, and log in with email [email protected] and password password. You will probably want to go to Settings -> Users and set up your admins.

Themes

All themes are stored in the content/themes directory. You can add your own themes in this directory but we do not recommend making changes to the default theme as these changes may get overridden in an upgrade.

Full details about how to make these will be coming soon.

## Examples in the wild

If you're running Staytus in the wild, let us know so we can add you to the list.

Screenshots

Here's a few extra screenshots from the admin and public interfaces.

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

About

An open source solution for publishing the status of your services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Ruby 48.5%
  • HTML 32.7%
  • CSS 16.8%
  • CoffeeScript 1.3%
  • Other 0.7%