Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Running Statup on the smallest EC2 server is very quick using the AWS AMI Image. When the AMI image boots it will automatically run the init.sh script to update Docker containers and remove unused containers/images. The server will also re-download the init.sh script to make sure it is up-to-date with the latest updates and bug fixes.
Choose the correct AMI Image ID based on your AWS region.
EC2 Server Features
Running your Statup server on a small EC2 instance is perfect for most users. Below you'll find some commands to get up and running in seconds.
- Super cheap on the t2.nano (~$4.60 monthly)
- Small usage, 8gb of hard drive
- Automatic SSL certificate if you require it
- Automatic upgrades for Ubuntu packages
- Automatic reboot when the server needs it
- Automatic database cleanup, so you'll never be at 100% full.
- Automatic docker containers/images removal
Create Security Groups
Using the AWS CLI you can copy and paste the commands below to auto create everything for you. The server opens 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
Create EC2 without SSL
Once your server has started, go to the EC2 Public DNS endpoint. You should be redirected to /setup to continue your installation process! The database information is already inputed for you.
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
This is an awesome way to do things, start a Statup server with an SSL cert that will automatically regenerate when its near expiration time. You'll need to point your domain's A record (IP address) or CNAME (public DNS endpoint) to use this feature.
# edit the contents inside of ec2-ssl.sh then continue LETSENCRYPT_HOST="status.MYDOMAIN.com" LETSENCRYPT_EMAIL="noreply@MYEMAIL.com"
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 \ --security-group-ids sg-7e8b830f
EC2 Server Specs
- t2.nano ($4.60 monthly)
- 8gb SSD Memory
- 0.5gb RAM
- Docker with Docker Compose installed
- Running Statup, NGINX, and Postgres
- boot scripts to automatically clean unused containers.