diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..b31a442 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,31 @@ +name: Docker Image CI + +on: + push: + branches: [ "main" ] + tags: 'v*' + pull_request: + branches: [ "main" ] + +jobs: + + build: + + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/nois-bot:nextgen diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..14afd00 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +# See https://hub.docker.com/r/denoland/deno/tags for available images +FROM denoland/deno:alpine-1.36.1 + +COPY . /opt/drand-bot +WORKDIR /opt/drand-bot + +CMD deno run --allow-read --allow-net --allow-env main.ts diff --git a/README.md b/README.md index 3cad7c6..0d96a7f 100644 --- a/README.md +++ b/README.md @@ -86,3 +86,24 @@ pm2 restart main && pm2 logs --lines 100 #stop bot pm2 stop main ``` + +## Run in Docker + +Make sure you have + +- config.json file in your current directory +- Docker installed and running + +Update to latest version: + +```sh +docker pull noislabs/nois-bot:nextgen +``` + +Start: + +```sh +docker run \ + -v $PWD/config.json:/opt/drand-bot/config.json \ + noislabs/nois-bot:nextgen +```