Note: This project is a fork from the orignal work of adamcooke. This fork exists to apply some PR and fixes issues from the original one. I want to add some other features.
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.
- Ruby 2.3 or greater (including
ruby-dev
package on Linux) - MySQL database server
- Ruby gems:
- Bundler (
gem install bundler
) - Rake (
gem install rake
) - Procodile (
gem install procodile
)
- Bundler (
Alternatively, these basic instructions will get you up and running.
Before start, you'll need to create a new MySQL database:
CREATE DATABASE `staytus` CHARSET utf8 COLLATE utf8_unicode_ci;
GRANT ALL ON staytus.* TO `staytus`@`localhost` IDENTIFIED BY "a_secure_password";
$ git clone https://github.com/tete2soja/staytus
$ cd staytus
$ git checkout stable
$ bundle install --deployment --without development:test
$ cp config/database.example.yml config/database.yml
$ vim config/database.yml # Add your database configuration
$ bundle exec rake staytus:build staytus:install
$ procodile start --foreground
In case the bundle install
command fails at mysql2
, make sure that you have the MySQL development package (ie. mysql
on macOS, libmariadb-dev
for MariaDB on Linux)
This will run the application on HTTP port 8787 and you can access from http://[IP]:8787
to begin the installation.
You may also want to change the SMTP configuration via environment variables,
which are described in config/environment.example.yml
.
To run staytus in the background, simply run procodile start
without the --foreground
option.
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.
A docker image is available from Docker Hub. You need to use an external MariaDB database.
If you want a quick start with default value, you can use the included docker-compose.yml
file or copy/paste the following content:
version: "3.8"
services:
database:
image: yobasystems/alpine-mariadb:10.6
environment:
MYSQL_ROOT_PASSWORD: staytus
MYSQL_DATABASE: staytus
MYSQL_USER: staytus
MYSQL_PASSWORD: staytus
volumes:
- ./mysql:/var/lib/mysql
staytus:
image: nioupola/staytus:latest
restart: unless-stopped
volumes:
- ./config/:/opt/staytus/persisted
environment:
DB_DATABASE: staytus
DB_USER: staytus
DB_PASSWORD: staytus
DB_HOST: database
STAYTUS_SMTP_HOSTNAME:
STAYTUS_SMTP_PORT:
STAYTUS_SMTP_USERNAME:
STAYTUS_SMTP_PASSWORD:
depends_on:
- database
ports:
- "127.0.0.1:5000:5000"
All e-mail notifications are sent through a background worker process. This will be started automatically when you run the application using procodile start
. If you don't do this, you can run jobs using bundle exec rake jobs:work
.
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. The default user should be deleted once you have create a new one with your own email address and password.
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.
Each time you edit the theme, you need to compile again all static assets using bundle exec rake staytus:build staytus:install
.
If you're running Staytus in the wild, let us know so we can add you to the list.