diff --git a/.github/workflows/create-docker-image.yml b/.github/workflows/create-docker-image.yml new file mode 100644 index 000000000..be55c1ecc --- /dev/null +++ b/.github/workflows/create-docker-image.yml @@ -0,0 +1,34 @@ +name: Build MusicBot Docker Image + +on: + workflow_dispatch: + inputs: + musicbot_version: + description: 'Jagrosh/MusicBot version (required) Ex-0.3.9' + required: true + default: '0.3.9' + +jobs: + Build-Push-Docker-Image: + runs-on: ubuntu-latest + env: + musicbot_version: ${{ github.event.inputs.musicbot_version }} + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Building Docker Image + run: | + echo ${musicbot_version} + docker build --build-arg MUSICBOT_VERSION=${musicbot_version} -t ${{ secrets.DOCKER_USERNAME }}/jmusicbot:${musicbot_version} . + + - name: Log in to Docker Hub + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin + + - name: Pushing Docker Image to Docker Hub + run: docker push ${{ secrets.DOCKER_USERNAME }}/jmusicbot:${musicbot_version} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..bcb81c762 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM amazoncorretto:11-al2023 + +ARG MUSICBOT_VERSION + +WORKDIR / + +RUN pwd +RUN ls -lrt + +ENV TOKEN harsh + +RUN echo "Building MusicBot version: $MUSICBOT_VERSION" + +# Download and rename the JAR file based on the provided version +RUN curl -LJO "https://github.com/jagrosh/MusicBot/releases/download/$MUSICBOT_VERSION/JMusicBot-$MUSICBOT_VERSION.jar" \ + && mv "JMusicBot-$MUSICBOT_VERSION.jar" JMusicBot.jar + +# Copying Repo config.txt file to Build +COPY config.txt /config.txt + +# Replace occurrences of ${BOT-TOKEN} with the value of TOKEN in config.txt during runtime +CMD ["sh", "-c", "sed -i 's/${BOT-TOKEN}/${TOKEN}/g' /config.txt && java -Dnogui=true -jar /JMusicBot.jar"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..62f3893b2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3" +services: + discord-bot: + container_name: Discord-Hr-Music-bot + restart: unless-stopped + # Modify Version as per input[0.3.9] + image: [DOCKER HUB USER]/jmusic:[version] + labels: + # This is for Watchtower to Ignore Updating this Image. + - "com.centurylinklabs.watchtower.enable=false" + environment: + # Add your Bot TOken below + - TOKEN=[BOT TOKEN]