Add Dockerfile and Docker Compose for wot-relay setup

Introduced a Dockerfile to build the wot-relay application using the Golang image based on Debian Bookworm.

Configured the working directory, cloned the repository, downloaded Go module dependencies, set environment variables, and built the Go application.

Exposed port 3334 and set the command to run the executable.

Added a Docker Compose file for streamlined service deployment, including environment variable configurations, volume binding for the database directory, and port mapping.
This commit is contained in:
HolgerHatGarKeineNode 2024-09-06 17:49:30 +00:00 committed by GitHub
parent 61554badfc
commit 338442006b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 41 additions and 0 deletions

27
Dockerfile Normal file
View File

@ -0,0 +1,27 @@
# Use Golang image based on Debian Bookworm
FROM golang:bookworm
# Set the working directory within the container
WORKDIR /app
# Clone the repository
RUN git clone https://github.com/bitvora/wot-relay .
# Download Go module dependencies
RUN go mod download
# Write the .env file
RUN touch .env && \
echo "RELAY_NAME=${RELAY_NAME}" >> .env && \
echo "RELAY_PUBKEY=${RELAY_PUBKEY}" >> .env && \
echo "RELAY_DESCRIPTION=${RELAY_DESCRIPTION}" >> .env && \
echo "DB_PATH=${DB_PATH}" >> .env
# Build the Go application
RUN go build -o main .
# Expose the port that the application will run on
EXPOSE 3334
# Set the command to run the executable
CMD ["./main"]

14
docker-compose.yml Normal file
View File

@ -0,0 +1,14 @@
services:
wot-relay:
build:
context: .
dockerfile: Dockerfile
environment:
RELAY_NAME: "utxo WoT relay"
RELAY_PUBKEY: "e2ccf7cf20403f3f2a4a55b328f0de3be38558a7d5f33632fdaaefc726c1c8eb"
RELAY_DESCRIPTION: "Only notes in utxo WoT"
DB_PATH: "./db"
volumes:
- "./db:/app/db"
ports:
- "3334:3334"