diff --git a/.github/workflows/build_and_push_docker_image.yml b/.github/workflows/build_and_push_docker_image.yml new file mode 100644 index 0000000..06c109c --- /dev/null +++ b/.github/workflows/build_and_push_docker_image.yml @@ -0,0 +1,36 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - main + - 'refs/tags/*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and Push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: ghcr.io/${{ github.repository }}/message-history-server:latest + + - name: Logout from GitHub Container Registry + run: docker logout ghcr.io + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..acc0475 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM rust:1-bullseye as builder +WORKDIR /code +COPY . . +RUN cargo build --release + +FROM debian:bullseye-slim +RUN apt-get update && apt-get install +COPY --from=builder /code/target/release/xmtp-message-history-server /usr/local/bin/xmtp-message-history-server +ENV RUST_LOG=info +CMD ["xmtp-message-history-server"]