forked from github-starred/komodo
builder setup guide
This commit is contained in:
@@ -4,8 +4,46 @@ A builder is a machine running monitor periphery and docker. Any server connecte
|
||||
|
||||
Building on a machine running production software is usually not a great idea, as this process can use a lot of system resources. It is better to start up a temporary cloud machine dedicated for the build, then shut it down when the build is finished. Right now monitor supports AWS ec2 for this task.
|
||||
|
||||
### AWS builder
|
||||
## AWS builder
|
||||
|
||||
Builders are now monitor resources, and are managed via the core API / can be updated using the UI.
|
||||
To use this feature, you need an AWS Ec2 AMI with docker and monitor periphery configured to run on system start.
|
||||
Once you create your builder and add the necessary configuration, it will be available to attach to builds.
|
||||
Once you create your builder and add the necessary configuration, it will be available to attach to builds.
|
||||
|
||||
### Setup the instance
|
||||
|
||||
Create an EC2 instance, and install Docker and Periphery on it.
|
||||
|
||||
The following script is an example of installing Docker and Periphery onto a Ubuntu/Debian instance:
|
||||
```sh
|
||||
#!/bin/bash
|
||||
apt update
|
||||
apt upgrade -y
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
systemctl enable docker.service
|
||||
systemctl enable containerd.service
|
||||
curl -sSL https://raw.githubusercontent.com/mbecker20/monitor/main/scripts/setup-periphery.py | python3
|
||||
systemctl enable periphery.service
|
||||
```
|
||||
|
||||
:::note
|
||||
AWS provides a "user data" feature, which will run a provided script as root. The above can be used with AWS user data
|
||||
to provide a hands free setup.
|
||||
:::
|
||||
|
||||
### Make an AMI from the instance
|
||||
|
||||
Once the instance is up and running, ssh in and confirm Periphery is running using:
|
||||
|
||||
```sh
|
||||
sudo systemctl status periphery.service
|
||||
```
|
||||
|
||||
If it is not, the install hasn't finished and you should wait a bit. It may take 5 minutes or more (all in updating / installing Docker, Periphery is just a 12 MB binary to download).
|
||||
|
||||
Once Periphery is running, you can navigate to the instance in the AWS UI and choose `Actions` -> `Image and templates` -> `Create image`. Just name the image and hit create.
|
||||
|
||||
The AMI will provide a unique id starting with `ami-`, use this with the builder configuration.
|
||||
|
||||
### Configure security groups / firewall
|
||||
The builders will need inbound access on port 8120 from monitor core, be sure to add a security group with this rule to the Builder configuration.
|
||||
|
||||
Reference in New Issue
Block a user