Project one-click install

PROXEUS
Proxeus
Published in
4 min readFeb 23, 2021

--

Proxeus install with Stackscripts on Linode

Since the last newsletter, we have been working on making the Proxeus platform more accessible to people like us: who want a sandbox to work on projects, hack on a startup idea without having to have a full-scale installation with all the requisite costs and engineering tasks involved. We have lowered the barrier to entry in three ways: A) we have set up a community forum for Q&A, B) we have started revamping user-facing documentation, C) we have created a on “one-click” deployment on Linode.

Last June 2020, we looked for hosting service and after some comparison, we decided on one company. After our first login, we could choose right away a selection of applications to be installed in one-click on our dedicated space. It’s easy, scroll through the page, find the app you like and click on the friendly button: Install. After 3 minutes you have your app ready to be used. This is what we did for our website. Click, install, ready. Now the longest part was to configure, install themes, tweak the colours and fill the content. But the website was ready.

Last time, we saw that Proxeus is a low-code software. When you use its workflows, you barely have to code, except when building connectors to the outer world (But that’s for another post). But we didn’t talk about the backend. How easy is it for a company to deploy Proxeus to produce certified reports? Well, It is not that complicated, but you still have some developer knowledge. But not for that long. We didn’t tell you yet, but we look at a way to improve this part of the equation.

A goal of 2021 is to make Proxeus easier to install. Today we started a project we named One-click-install. And it’s quite exciting.

What can be automated? How could be improved? Tough question if you don’t know the environment you plan to run the server. So they decide to start with hosting on Linode. Why? Because of Linode one feature: Stackscripts.

What are StackScripts?

“StackScripts provide Linode users with the ability to automate the deployment of custom systems on top of Linode’s default Linux distribution images.”

Stackscript is a script you can customize at will to install or remove services you need. You can see it as a user script executed at runlevel.

You can find Proxeus recipe on Linode https://cloud.linode.com/stackscripts/758453

Once deployed, starting your instance, you will get this window:

And what we need are the requirement of Proxeus:

- Docker

- Golang

Then some ENV variable for Proxeus to start fresh and new, ready for the task:

- PROXEUSBLOCKCHAINCONTRACT_ADDRESS

- PROXEUSALLOWHTTP

- PROXEUSDATADIR

- PROXEUSINFURAAPI_KEY

- PROXEUSSPARKPOSTAPI_KEY

- PROXEUSPLATFORMDOMAIN

loleg created the pull request #205 that does exactly that.

The script uses 3 ENV variable you need first to be defined $FQDN, $INFURA, $SPARKPOST. These are commented at the head of the script. Check they are set before starting.

# <UDF name="FQDN" Label="Fully Qualified Domain Name" example="web.example.com" />
# <UDF name="INFURA" Label="Infura.io API key" example="a0e728c9fd444a123456789000b9370f" />
# <UDF name="SPARKPOST" Label="Sparkpost.com API key" example="27ed8e1234567890000014863f9e2cf553a7bd87" />

The installation start at line 96

## ----------------------------------------------
## Install & configure proxeus

The server is placed in the /srv directory

log "Installing Proxeus"
mkdir -p /srv
cd /srv

Where the installation bootstrap script is downloaded and executed.

wget https://raw.githubusercontent.com/loleg/proxeus-core/release/bootstrap.sh;
bash bootstrap.sh

Once done, ENV variable are set

cd proxeus
cat <<END >.env.prod
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS="0x1d3e5c81bf4bc60d41a8fbbb3d1bae6f03a75f71"
PROXEUS_ALLOW_HTTP=true
PROXEUS_DATA_DIR=./data
PROXEUS_INFURA_API_KEY="$INFURA"
PROXEUS_SPARKPOST_API_KEY="$SPARKPOST"
PROXEUS_PLATFORM_DOMAIN="http://$FQDN:1323"
END

And finally we start the Docker instance

log "Starting Proxeus Core"
docker-compose --env-file .env.prod -f docker-compose.yml -f docker-compose-cloud.override.yml up -d &

After a few moment, as Proxeus start, you will be able to connect to the application under the domain name set ($FQDN), and the port 1323.

# Open http://$FQDN:1323/init to configure your server
log "After a minute, open: http://$FQDN:1323/init"

Is that all? No, this is just a start. We like to see easy install for other servers. You can play a big part in that too!

Use the Stackscript as an example, and create your script for your servers. Use the following documentation to helpyou install and setup your server:

We are here also to help. You have a problem, either

And of course, when your code is ready, let us know by creating a Pull Request.

Motivated? We will post updates on all new scripts we will receive.

Contact the Association at association@proxeus.org or visit our website at https://proxeus.org/

--

--

PROXEUS
Proxeus

Proxeus is the WordPress for blockchain — making blockchain accessible by simplifying the creation of document-centered blockchain applications. www.proxeus.com