-
Notifications
You must be signed in to change notification settings - Fork 60
Origin Deployment
Machine should have at least following resources available:
- 30 GB disk space
- 4GB RAM
- 2 cores CPU
Currently this corresponds to AWS t2.medium instance.
Please make sure you have installed:
- Git
- Python 2
- NodeJS 12, NPM
- Yarn
- Docker
- Docker Compose
To use UI you also need MetaMask installed.
On Ubuntu you can install Docker using: sudo snap install docker and then sudo chmod 666 /var/run/docker.sock.
git clone https://github.com/energywebfoundation/origin.git
yarn
yarn build
- Install Postgres and create a clean new database named
origin. Make sure that you have a user namedpostgreswith a passwordpostgres. - Make sure you have created a
.envfile in the root of the monorepo and that all necessary variables are set. Use .env.example as an example of how the.envfile should look.
- Set
WEB3to the Web3.js provider URL (RPC Server). - Set
BACKEND_URLto HOST:3030.
where HOST is for example http://localhost or http://<yourdomain.com>, or some other address of your machine.
If you plan to use localhost:8545 or any local blockchain (instead of Volta RPC or production chain), please make sure to start it first:
yarn run:ganache
yarn migrate:demo
Note: This will overwrite any DB changes you have and deploy new smart contracts. If you're using it in a production environment, run this instead:
yarn migrate:prod
yarn run:backend
From now on API should be running on following address: HOST:3030
Run frontend:
docker-compose down -v
docker-compose up -d --build
Now you should be able to access frontend on URL: HOST
Having frontend service started and contracts deployed we can test the application.
First, make sure you have correct RPC set in MetaMask. For example, if you deployed contracts to Volta, in MetaMask add and use RPC: https://volta-rpc.energyweb.org. If you've used http://localhost:8545, use http://localhost:8545 in MetaMask and so on.
Now, in your browser open your domain URL: http://<yourdomain.com>.
Set ENERGY_API_BASE_URL="http://localhost:3031" in .env.
Start simulator:
yarn run:simulator
If you have already started docker container and then modify src files of any package then you might need to rebuild them and recreate Docker volumes to have updated docker container. In this case run:
yarn build
docker-compose down -v
docker-compose build
before running docker-compose up command.
git clone git@github.com:energywebfoundation/origin.git
mv docker-compose.yml docker-compose.old.yml
mv docker-compose.collective.yml docker-compose.yml
yarn
Copy .env.example to .env and set ORM_DATABASE_DOCKER=TRUE.
If you want to use local Ganache network then start it, for example with command:
yarn run:ganache # Skip if using other chain, but change .env WEB3 property
When your WEB3 endpoint is up and running, run these commands:
yarn build
TAG=canary ./origin-docker-run.sh
yarn run:demo