Get the machine ready by updating the software repository and then upgrading any outdated libraries.
sudo apt update
sudo apt upgradeTo avoid any conflicting packages on the machine run
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; doneInstall official docker gpg keys for verifying docker installation
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.ascAdd repository to apt sources.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get updateInstall docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginConfirm that docker is installed correctly
sudo docker run hello-worldStarting docker service if it is not running
sudo service docker startSetup to run docker without appending sudo
sudo groupadd dockerAdd user to the group.
sudo usermod -aG docker $USERActivate the group changes.
newgrp dockerConfigure docker to start on boot.
sudo systemctl enable docker.service
sudo systemctl enable containerd.serviceClone the one-click hornet setup github repository.
git clone https://github.com/sadick254/one-click-tangle.gitInstall the private tangle first
./private-tangle.sh installConfigure hornet dashboard password
docker compose run node tools pwd-hashCopy the contents and head to the node config file to replace the password.
366b1e9d76eba6779e0faa02b813b4ffa162e650dbf19f028d050439feadd749
2828c4d214040f2ea0929bc2f0336d64d16caf346cc8c199a3ea11f593128895
Restart the node service after changing the password.
docker compose restart nodeRun the private-tangle.sh
./private-tangle.sh startdocker compose file.
services:
ipfs:
image: ipfs/kubo:master-2024-05-06-2841ec0
ports:
- 4001:4001
- 4001:4001/udp
- 8080:8080
- 5001:5001
volumes:
- ./ipfs/export:/export
- ./ipfs/data:/data/ipfssudo go install github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen@masterCreate a docker-compose file with the following contents.
services:
myql:
image: mysql:8.4.0
env_file:
- .env
ports:
- 3306:3306
Also create a .env file with the following contents. Replace the defaults to your prefered values.
MYSQL_ROOT_PASSWORD=pass
MYSQL_DATABASE=tlip
MYSQL_USER=tlip
MYSQL_PASSWORD=pass
MYSQL_ALLOW_EMPTY_PASSWORD=trueversion: "3.5"
services:
tlip.api:
image: tlipgtsc/tlip:1.0.7
env_file:
- .env
ports:
- 4000:4000
restart: always
depends_on:
- mysql
- ipfs
- rabbitmq
environment:
MYSQL_HOST: mysql
MQ_HOST: rabbitmq
IPFS_HOST: ipfs
tlip.ui:
image: tlipgtsc/tlip:latest
env_file:
- .env
ports:
- 3000:3000
restart: always
depends_on:
- tlip.api
ipfs:
image: ipfs/kubo:master-2024-05-06-2841ec0
ports:
- 4001:4001
- 4001:4001/udp
- 8080:8080
- 5001:5001
volumes:
- ./ipfs/export:/export
- ./ipfs/data:/data/ipfs
mysql:
image: mysql:8.4.0
env_file:
- .env
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: gtsc
MYSQL_DATABASE: gtsc
MYSQL_USER: gtsc
MYSQL_PASSWORD: gtsc
volumes:
- mysql_data:/var/lib/mysql
rabbitmq:
container_name: "${RABBITMQ_DOCKER_NAME:-rabbitmq-tlip}"
image: rabbitmq:3.13-management
ports:
- "5672:5672" # Gateway
- "15672:15672" # Management UI
environment:
- MQ_USER=readonly
- MQ_PASS=wso2readonly
- MQ_PORT=5672
- MQ_VHOST=/carbon
volumes:
- "${RABBITMQ_VOLUME_DIR:-./volume}:/var/lib/rabbitmq"
- "/var/run/docker.sock:/var/run/docker.sock"
volumes:
mysql_data:
ipfs_data:
rabbitmq_data: