Initial commit
This commit is contained in:
83
docs/aws-install.md
Normal file
83
docs/aws-install.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# AWS Installation Guide
|
||||
|
||||
## Step 1: Prepare the infrastructure
|
||||
|
||||
Infrastructural requirements for the installation are:
|
||||
|
||||
- An EC2 m5.xlarge **Debian** instance with a 200 GB disk storage
|
||||
- An Elastic Container Registry repository with the baseapp image
|
||||
- A DNS record to point to the machine(e.g. `example.domain.com`)
|
||||
|
||||
Create these resources before starting the installation and provision them with your RSA key to be able to connect to the VM instance using SSH.
|
||||
|
||||
## Step 2: Configure the instance
|
||||
|
||||
Connect to the instance over SSH as a `root`/`admin` user and perform the following steps.
|
||||
|
||||
### Core dependencies
|
||||
|
||||
```bash
|
||||
apt-get update
|
||||
apt-get install -y -q git tmux gnupg2 dirmngr dbus htop curl libmariadbclient-dev-compat build-essential
|
||||
```
|
||||
|
||||
### Docker installation
|
||||
|
||||
```bash
|
||||
curl -fsSL https://get.docker.com/ | bash
|
||||
usermod -a -G docker $USER
|
||||
|
||||
COMPOSE_VERSION="1.23.2"
|
||||
COMPOSE_URL="https://github.com/docker/compose/releases/download/$COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)"
|
||||
|
||||
curl -L "$COMPOSE_URL" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
|
||||
### User creation
|
||||
|
||||
```bash
|
||||
groupadd app
|
||||
useradd --create-home --home /home/app --shell /bin/bash \
|
||||
--gid app --groups docker,sudo app
|
||||
```
|
||||
|
||||
### Ruby installation
|
||||
|
||||
As the `app` user(`sudo su app`), run:
|
||||
|
||||
```bash
|
||||
gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
||||
curl -sSL https://get.rvm.io | bash -s stable
|
||||
source /home/app/.rvm/scripts/rvm
|
||||
rvm install --quiet-curl 2.6.1
|
||||
rvm use --default 2.6.1
|
||||
gem install bundler
|
||||
```
|
||||
|
||||
## Step 3: Prepare the deployment
|
||||
|
||||
Clone the opendax repo to `/home/app`
|
||||
|
||||
```bash
|
||||
git clone git@git.openware.com:opendax
|
||||
```
|
||||
|
||||
`cd` into the `opendax` directory and prepare `config/app.yml` according to the [README](../README.md).
|
||||
|
||||
When the configuration is ready, run
|
||||
|
||||
```bash
|
||||
bundle install
|
||||
rake render:config
|
||||
rake parity:import && \
|
||||
until rake wallet:create['deposit','http://0.0.0.0:8545','changeme']; do sleep 15; done && \
|
||||
rake wallet:create['hot','http://0.0.0.0:8545','changeme'] && \
|
||||
rake wallet:create['warm','http://0.0.0.0:8545','changeme'] && \
|
||||
rake render:config && \
|
||||
rake service:all && \
|
||||
chmod +x bin/install_webhook
|
||||
./bin/install_webhook
|
||||
```
|
||||
|
||||
After the deployment process is finished, the frontend would be accessible from the domain provided in the configuration.
|
||||
Reference in New Issue
Block a user