diff --git a/README.md b/README.md index 5876164e..9b909ba6 100644 --- a/README.md +++ b/README.md @@ -31,24 +31,18 @@ Statup will allow you to completely customize your Status Page using SASS stylin
## Mobile View is Gorgeous -Your status page will be optimized for mobile and desktop viewers. Statup has a full width edge to edge view, which you can also edit to meet your requirements. - -
-
-
-
@@ -70,12 +64,11 @@ statup export ###### `index.html` will be created in the current directory with CDN URL's for assets. ## Run on Docker -Use the [Statup Docker Image](https://hub.docker.com/r/hunterlong/statup) to create a status page in seconds. +Use the [Statup Docker Image](https://hub.docker.com/r/hunterlong/statup) to create a status page in seconds. Checkout the [Docker Wiki](https://github.com/hunterlong/statup/wiki/Docker) to view more details on how to get started using Docker. ```bash docker run -it -p 8080:8080 hunterlong/statup ``` -There are multiple way to startup a Statup server. You want to make sure Statup is on it's own instance that is not on the same server as the applications you wish to monitor. -It doesn't look good when your Status Page goes down, I recommend a small EC2 instance so you can set it, and forget it. +There are multiple ways to startup a Statup server. You want to make sure Statup is on it's own instance that is not on the same server as the applications you wish to monitor. It doesn't look good when your Status Page goes down, I recommend a small EC2 instance so you can set it, and forget it. ## Docker Compose In this folder there is a standard docker-compose file that include nginx, postgres, and Statup. @@ -86,55 +79,71 @@ docker-compose up -d ## Docker Compose with Automatic SSL You can automatically start a Statup server with automatic SSL encryption using this docker-compose file. First point your domain's DNS to the Statup server, and then run this docker-compose command with DOMAIN and EMAIL. Email is for letsencrypt services. ```bash -LETSENCRYPT_HOST=mydomain.com \ - LETSENCRYPT_EMAIL=info@mydomain.com \ +LETSENCRYPT_HOST=mydomain.com \ + LETSENCRYPT_EMAIL=info@mydomain.com \ docker-compose -f docker-compose-ssl.yml up -d ``` Once your instance has started, it will take a moment to get your SSL certificate. Make sure you have a A or CNAME record on your domain that points to the IP/DNS of your server running Statup. ## Run on EC2 Server -Running Statup on the smallest EC2 server is very quick using the AWS AMI Image: `ami-7be8a103`. +Running Statup on the smallest EC2 server is very quick using the AWS AMI Image. Checkout the [AWS Wiki](https://github.com/hunterlong/statup/wiki/AWS-EC2) to see a step by step guide on how to get your EC2 Statup service online. ##### Create Security Groups +Create the AWS Security Groups with the commands below, Statup will expose port 80 and 443. ```bash -aws ec2 create-security-group --group-name StatupPublicHTTP --description "Statup HTTP Server on port 80 and 443" +aws ec2 create-security-group --group-name StatupPublicHTTP \ + --description "Statup HTTP Server on port 80 and 443" # will response back a Group ID. Copy ID and use it for --group-id below. -aws ec2 authorize-security-group-ingress --group-id sg-7e8b830f --protocol tcp --port 80 --cidr 0.0.0.0/0 -aws ec2 authorize-security-group-ingress --group-id sg-7e8b830f --protocol tcp --port 443 --cidr 0.0.0.0/0 + +aws ec2 authorize-security-group-ingress \ + --group-id sg-7e8b830f --protocol tcp \ + --port 80 --cidr 0.0.0.0/0 + +aws ec2 authorize-security-group-ingress \ + --group-id sg-7e8b830f --protocol tcp \ + --port 443 --cidr 0.0.0.0/0 ``` ##### Create EC2 without SSL ```bash -aws ec2 run-instances \ - --image-id ami-7be8a103 \ - --count 1 --instance-type t2.nano \ - --key-name MYKEYHERE \ +aws ec2 run-instances \ + --image-id ami-7be8a103 \ + --count 1 --instance-type t2.nano \ + --key-name MYKEYHERE \ --security-group-ids sg-7e8b830f ``` ##### Create EC2 with Automatic SSL Certification +The AWS-CLI command below will automatically create an EC2 server and create an SSL certificate from Lets Encrypt, for free. ```bash wget https://raw.githubusercontent.com/hunterlong/statup/master/servers/ec2-ssl.sh # Edit ec2-ssl.sh and insert your domain you want to use, then run command below. # Use the Security Group ID that you used above for --security-group-ids -aws ec2 run-instances \ - --user-data file://ec2-ssl.sh \ - --image-id ami-7be8a103 \ - --count 1 --instance-type t2.nano \ - --key-name MYKEYHERE \ + +aws ec2 run-instances \ + --user-data file://ec2-ssl.sh \ + --image-id ami-7be8a103 \ + --count 1 --instance-type t2.nano \ + --key-name MYKEYHERE \ --security-group-ids sg-7e8b830f ``` ## Prometheus Exporter -Statup includes a prometheus exporter so you can have even more monitoring power with your services. The prometheus exporter can be seen on `/metrics`, simply create another exporter in your prometheus config. Use your Statup API Secret for the Authorization Bearer header, the `/metrics` URL is dedicated for Prometheus and requires the correct API Secret has `Authorization` header. +Statup includes a [Prometheus Exporter](https://github.com/hunterlong/statup/wiki/Prometheus-Exporter) so you can have even more monitoring power with your services. The Prometheus exporter can be seen on `/metrics`, simply create another exporter in your prometheus config. Use your Statup API Secret for the Authorization Bearer header, the `/metrics` URL is dedicated for Prometheus and requires the correct API Secret has `Authorization` header. ```yaml scrape_configs: - job_name: 'statup' - bearer_token: MY API SECRET HERE + bearer_token: 'MY API SECRET HERE' static_configs: - targets: ['statup:8080'] ``` +## Contributing +Statup accepts Push Requests! Feel free to add your own features and notifiers. You probably want to checkout the [Notifier Wiki](https://github.com/hunterlong/statup/wiki/Notifiers) to get a better understanding on how to create your own notification methods for failing/successful services. Testing on Statup will test each function on MySQL, Postgres, and SQLite. I recommend you run a MySQL and a Postgres Docker image for testing. + +[](https://goreportcard.com/report/github.com/hunterlong/statup) [](https://travis-ci.org/hunterlong/statup) [](https://dashboard.cypress.io/#/projects/bi8mhr/runs) [](https://hub.docker.com/r/hunterlong/statup/builds/) +[](https://godoc.org/github.com/hunterlong/statup) +