Skip to content

Commit

Permalink
feat: add Dockerfile (#8)
Browse files Browse the repository at this point in the history
* feat: add Dockerfile

* doc: add using with Docker in README

* Update README.md

---------

Co-authored-by: Michael <161408495+michaelien@users.noreply.github.com>
  • Loading branch information
jtsang4 and Michael authored May 29, 2024
1 parent bc386b6 commit 72d6a15
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -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"]
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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.
Expand Down

0 comments on commit 72d6a15

Please sign in to comment.