tete2soja / staytus

💡 An open source solution for publishing the status of your services
http://staytus.co
MIT License
2 stars 1 forks source link

Staytus

GitHub Docker Pulls Docker Image Size (tag)

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.

Screenshot

Installation from source

System Requirements

Installation Instructions

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.

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.

Installation using Docker

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"

E-Mail Notifications

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.

Administration

To log in for the first time, visit the /admin, and log in with email admin@example.com 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.

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.

Each time you edit the theme, you need to compile again all static assets using bundle exec rake staytus:build staytus:install.

Examples in the wild

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