diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1bdd543..d8b1d55 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,3 +18,34 @@ jobs: - name: Build Docker image run: docker build -t discord-badge . + + - name: Run Docker container + run: | + docker run -d -e TOKEN=${{ secrets.DISCORD_TOKEN }} discord-badge + + + + +name: Publish Docker Image + +on: + push: + branches: + - main # Trigger the workflow on pushes to the main branch + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Login to GitHub Packages Docker registry + run: echo "${{ secrets.GH_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.repository_owner }} --password-stdin + + - name: Build Docker image + run: docker build -t docker.pkg.github.com/${{ github.repository }}/discord-badge:latest . + + - name: Push Docker image + run: docker push docker.pkg.github.com/${{ github.repository }}/discord-badge:latest diff --git a/Dockerfile b/Dockerfile index 9352058..b2297f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,8 +22,5 @@ WORKDIR /usr/src/app # Copy the built artifacts from the builder stage to the production stage COPY --from=builder /usr/src/app . -# Expose the port the app runs on -EXPOSE 3000 - # Command to run the application in the production stage CMD ["node", "index.js"] diff --git a/README.md b/README.md index 2840c06..7e36420 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ docker build -t discord-badge . ``` 3. Run the container and insert your Discord bot token ```bash -docker run -it -p 3000:3000 discord-badge +docker run -d -e TOKEN= discord-badge ``` 4. Jump directly to step 12 and follow the remaining steps from the main instruction diff --git a/index.js b/index.js index b54bdb2..202edae 100644 --- a/index.js +++ b/index.js @@ -34,7 +34,7 @@ client.on('interactionCreate', (interaction) => { const question = (q) => new Promise((resolve) => rl.question(q, resolve)); (async ()=>{ - const token = await question('Application token? '); + const token = process.env.TOKEN; if(!token) throw new Error('Invalid token'); const ratelimitTest = await fetch(`https://discord.com/api/v9/invites/discord-developers`);