(Deprecated) It is not possible to create AKA masternodes anymore. Setup will be updated, once AKA team implements necessary changes for masternodes to return. (You can still use this setup to setup standard akroma node - no rewards - to support AKA decentralization.)
Note: All parameters inside [] has to be submitted without [], e.g. --user=[user]
as --user=akroma
0. git clone "https://github.com/cryi/aka-remote-mn.git" && cd aka-remote-mn
sudo chmod +x ./configurator
- generate temporary enodeid and use it to register remote node in akroma.io
./configurator --generate-temporary-enodeid
- Fill data and nodeid from akroma.io and your email for obtaining letsencrypt certificates and optinaly port
./configurator --data=[data] --nodeid=[nodeid] --email=[email] --port=[port]
- data is TRANSACTION DATA
- nodeid is number defined in MASTERNODE field (top most one) in akroma.io node overview
- email has to be valid email address
- port (optional), sets RPC port for masternode (default 8545).
sudo ./configurator --full --user=[user]
- Update enodeid and port in akroma.io
- setup outputs node info at the end, you can also find it inside file
./data/node.info
(cat ./data/node.info
) - setup also outputs DNS TXT records
- user (optional) is user used to execute and update MN
- setup outputs node info at the end, you can also find it inside file
- Submit dns TXT challenge to akroma.io
- you can find it at the end of setup (if it is not found in DNS records)
- you can find it also in
./letsencrypt/certbot/certbot.output
- Verify DNS TXT records propagation (takes up to 3 hours to propagate)
./configurator --verify-dns
- wait for
STATUS: propagated
- wait for
- Get valid certificates with
./configurator -c
- valid certificates will be issued only if there are already valid DNS TXT records found
- You can use
./configurator -s
to verify RemoteNode validity- LOCAL HTTPS test signs working node locally
- REMOTE HTTPS test signs propagated dns record for your [nodeid].remote.akroma.io
- CERTIFICATE VALIDITY test signs the node has valid certificates
- Only node which passes all test will be considered functional
WARNING: These steps may differ based on your OS. This setup is recommended ONLY for advanced users.
-
install docker according to the official documentation (https://docs.docker.com/install/)
-
install docker compose
- for linux systems:
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
- (only on unix based systems)
chmod +x /usr/local/bin/docker-compose
- for linux systems:
-
docker-compose --version
# Verifying if docker-compose works correctly
- a) set write permissions for user id 1000 for directory
./data
- on unix based systems with POSIX shell you can use:
sh ./tools/allow_container_write.sh -f -p ./data
- (non default) if you use user remap feature in docker, set allow write permission for user remap id + 1000
- on unix based systems with POSIX shell you can use:
- b) replace email, nodeid and data with proper values
- nodeid and email in
./containers/certbot/docker-compose.yml
- nodeid and data in
./containers/nginx/conf.d/aka.conf
- nodeid and email in
- generate temporary certificates (masternode nginx wont run without them)
./letsencrypt/fullchain.pem
# required by nginx container./letsencrypt/privkey.pem
# required by nginx container
docker-compose up -d
# builds and starts masternode- you can test masternode responding to https on https://127.0.0.1/client
docker-compose -f "$certbotComposeFile" run certbot
# prints challenges/obtains certificites.- when you got valid certificates (DNS TXT challenges are not printed anymore), restart RemoteNode with
docker-compose up -d --force-recreate
- Your node should be fully functional now.
docker-compose down
# stops masternodedocker-compose up
# starts masternode with log output into consoledocker-compose up -d
# starts masternode in detached mode (no console output)docker-compose logs
# displays log output from servicesdocker exec --user akroma -it [container id] bash
# opens bash inside containerdocker ps
# lists running containers (you can find out container id in left column)wget --no-cache --no-cookies https://raw.githubusercontent.com/cryi/aka-remote-mn/master/configurator -O ./configurator && chmod +x ./configurator
# updates configurator