mirror of
https://github.com/bitvora/wot-relay.git
synced 2025-04-19 10:11:18 +00:00
feat: update Dockerfile, docker-compose and README for better Docker usage
This commit updates the Dockerfile to use a more docker-friendly approach. Instead of cloning the repository inside the Dockerfile, it now copies the files from the host. It also sets some fixed environment variables and uses a .env file for the rest. The docker-compose.yml file now uses an .env file for more convenient environment variable management. It also maps volumes to the host, allowing you to change the paths of the `db` folder and `templates` folder. The README.md has been updated with new instructions reflecting these changes. It now includes instructions for running the Docker container in the foreground or background, and for updating the relay.
This commit is contained in:
parent
060fd68c85
commit
ca8dde54f1
@ -3,4 +3,5 @@ RELAY_PUBKEY="e2ccf7cf20403f3f2a4a55b328f0de3be38558a7d5f33632fdaaefc726c1c8eb"
|
||||
RELAY_DESCRIPTION="Only notes in utxo WoT"
|
||||
RELAY_URL="wss://wot.utxo.one"
|
||||
DB_PATH="db"
|
||||
INDEX_PATH="templates/index.html"
|
||||
INDEX_PATH="templates/index.html"
|
||||
STATIC_PATH="templates/static"
|
||||
|
58
Dockerfile
58
Dockerfile
@ -1,27 +1,31 @@
|
||||
# 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"]
|
||||
# Use Golang image based on Debian Bookworm
|
||||
FROM golang:bookworm
|
||||
|
||||
# Set the working directory within the container
|
||||
WORKDIR /app
|
||||
|
||||
# Copy go.mod and go.sum files
|
||||
COPY go.mod go.sum ./
|
||||
|
||||
# Download dependencies
|
||||
RUN go mod download
|
||||
|
||||
# Copy the rest of the application source code
|
||||
COPY . .
|
||||
|
||||
# Set fixed environment variables
|
||||
ENV DB_PATH="db"
|
||||
ENV INDEX_PATH="templates/index.html"
|
||||
ENV STATIC_PATH="templates/static"
|
||||
|
||||
# touch a .env (https://github.com/bitvora/wot-relay/pull/4)
|
||||
RUN touch .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"]
|
||||
|
34
README.md
34
README.md
@ -97,25 +97,37 @@ To start the project using Docker Compose, follow these steps:
|
||||
|
||||
1. Ensure Docker and Docker Compose are installed on your system.
|
||||
2. Navigate to the project directory.
|
||||
3. Edit the `docker-compose.yml` file to update the environment variables as needed:
|
||||
3. Ensure the `.env` file is present in the project directory and has the necessary environment variables set.
|
||||
4. You can also change the paths of the `db` folder and `templates` folder in the `docker-compose.yml` file.
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
RELAY_NAME: "utxo WoT relay"
|
||||
RELAY_PUBKEY: "YOURPUBKEY"
|
||||
RELAY_DESCRIPTION: "Only notes in utxo WoT"
|
||||
DB_PATH: "./db"
|
||||
```
|
||||
```yaml
|
||||
volumes:
|
||||
- "./db:/app/db" # only change the left side before the colon
|
||||
- "./templates/index.html:/app/templates/index.html" # only change the left side before the colon
|
||||
- "./templates/static:/app/templates/static" # only change the left side before the colon
|
||||
```
|
||||
|
||||
4. Run the following command:
|
||||
5. Run the following command:
|
||||
|
||||
```sh
|
||||
docker-compose up --build
|
||||
# in foreground
|
||||
docker compose up --build
|
||||
# in background
|
||||
docker compose up --build -d
|
||||
```
|
||||
6. For updating the relay, run the following command:
|
||||
|
||||
```sh
|
||||
git pull
|
||||
docker compose build --no-cache
|
||||
# in foreground
|
||||
docker compose up
|
||||
# in background
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
This will build the Docker image and start the `wot-relay` service as defined in the `docker-compose.yml` file. The application will be accessible on port 3334.
|
||||
|
||||
|
||||
### 7. Access the relay
|
||||
|
||||
Once everything is set up, the relay will be running on `localhost:3334`.
|
||||
|
@ -1,14 +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"
|
||||
services:
|
||||
wot-relay:
|
||||
container_name: wot-relay
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- "./db:/app/db" # only change the left side before the colon
|
||||
- "./templates/index.html:/app/templates/index.html" # only change the left side before the colon
|
||||
- "./templates/static:/app/templates/static" # only change the left side before the colon
|
||||
ports:
|
||||
- "3334:3334"
|
||||
|
Loading…
x
Reference in New Issue
Block a user