feat: add Dockerfile (#8)

* feat: add Dockerfile

* doc: add using with Docker in README

* Update README.md

---------

Co-authored-by: Michael <161408495+michaelien@users.noreply.github.com>
This commit is contained in:
James Tsang
2024-05-29 11:10:03 +08:00
committed by GitHub
parent bc386b6539
commit 72d6a155bb
2 changed files with 35 additions and 0 deletions

17
Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
# Build stage
FROM golang:1.22.2-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o memogram ./bin/memogram
RUN chmod +x memogram
# Run stage
FROM alpine:latest
WORKDIR /app
ENV SERVER_ADDR=dns:localhost:5230
ENV BOT_TOKEN=your_telegram_bot_token
COPY .env.example .env
COPY --from=builder /app/memogram .
CMD ["./memogram"]

View File

@@ -26,6 +26,8 @@ The `SERVER_ADDR` should be a gRPC server address that the Memos is running on.
### Starting the Service
#### Starting with binary
1. Download and extract the released binary file;
2. Create a `.env` file in the same directory as the binary file;
3. Run the executable in the terminal:
@@ -36,6 +38,22 @@ The `SERVER_ADDR` should be a gRPC server address that the Memos is running on.
4. Once the bot is running, you can interact with it via your Telegram bot.
#### Starting with Docker
Or you can start the service with Docker:
1. Build the Docker image: `docker build -t memogram .`
2. Run the Docker container with the required environment variables:
```sh
docker run -d --name memogram \
-e SERVER_ADDR=dns:localhost:5230 \
-e BOT_TOKEN=your_telegram_bot_token \
memogram
```
3. The Memogram service should now be running inside the Docker container. You can interact with it via your Telegram bot.
### Interaction Commands
- `/start <access_token>`: Start the bot with your Memos access token.