Skip to content

Commit

Permalink
Merge pull request #2 from ggfto/dev
Browse files Browse the repository at this point in the history
- Add user and password options
- Updated CI to generate relase automatically.
  • Loading branch information
ggfto authored Feb 7, 2024
2 parents 64339c7 + f9297b7 commit 0c684d8
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 35 deletions.
92 changes: 60 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: ci

on:
schedule:
- cron: "0 0 1 * *"
push:
branches:
- "main"
Expand All @@ -11,33 +9,63 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/mosquitto:latest
-
name: Update repo description
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: ${{ secrets.DOCKERHUB_USERNAME }}/mosquitto
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Generate Release
id: release
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
uses: rymndhng/release-on-push-action@master
with:
bump_version_scheme: minor
use_github_release_notes: true
tag_prefix: v
-
name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ github.repository }}:latest, ${{ github.repository }}:${{steps.release.outputs.version}}
-
name: Update repo description
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: ${{ github.repository }}
-
name: Success Discord Notification
if: success()
uses: rjstone/discord-webhook-notify@v1
with:
severity: info
details: Sucesso no build!
username: Octocat
avatarUrl: https://github.githubassets.com/images/modules/logos_page/Octocat.png
webhookUrl: ${{secrets.DISCORD_WEBHOOK}}
-
name: Failure Discord Notification
if: failure()
uses: rjstone/discord-webhook-notify@v1
with:
severity: error
details: ${{ join(steps.build.outputs.*, '\n') }}
username: Octocat
avatarUrl: https://github.githubassets.com/images/modules/logos_page/Octocat.png
webhookUrl: ${{secrets.DISCORD_WEBHOOK}}
2 changes: 1 addition & 1 deletion .mqtt/mosquitto.conf
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ listener 1883
listener 9001
#socket_domain ipv4
protocol websockets
allow_anonymous true
#allow_anonymous true

# By default, a listener will attempt to listen on all supported IP protocol
# versions. If you do not have an IPv4 or IPv6 interface you may wish to
Expand Down
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
FROM eclipse-mosquitto
RUN apk add --no-cache mosquitto-clients
COPY entrypoint.sh /entrypoint.sh
COPY .mqtt/mosquitto.conf /mosquitto/config/mosquitto.conf
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 1883
EXPOSE 9001
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,31 @@
## English

### Description
MQTT Server pre configured with default options to run 'plug and play'
MQTT Server pre configured with default options to run 'plug and play'. User and password can be set with `USER` and `PASSWORD` parameters.

### How to use

Just run from a terminal:
```sh
docker run -d -p 1883:1883 -p 9001:9001 --name mosquitto ggfto/mosquitto:latest
```
With user and password:
```sh
docker run -d -p 1883:1883 -p 9001:9001 -e USER=myuser -e PASSWORD=mypassword --name mosquitto ggfto/mosquitto:latest
```

## Português

### Descrição
Servidor MQTT pré-configurado com opções padrão para rodar sem a necessidade de ajustar algo
Servidor MQTT pré-configurado com opções padrão para rodar sem a necessidade de ajustar algo. Usuário e senha podem ser configurados com os parâmetros `USER` e `PASSWORD`

### Como usar

Apenas execute a partir de um terminal:
```sh
docker run -d -p 1883:1883 -p 9001:9001 --name mosquitto ggfto/mosquitto:latest
```
Com usuário e senha:
```sh
docker run -d -p 1883:1883 -p 9001:9001 -e USER=myuser -e PASSWORD=mypassword --name mosquitto ggfto/mosquitto:latest
```
13 changes: 13 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh
if [ ! -f /mosquitto/config/pwfile ]; then
if [ -n "$USER" ] && [ -n "$PASSWORD" ]; then
mosquitto_passwd -b -c /mosquitto/config/pwfile "$USER" "$PASSWORD"
chmod 700 /mosquitto/config/pwfile
chown mosquitto:mosquitto /mosquitto/config/pwfile
echo "password_file /mosquitto/config/pwfile" >> /mosquitto/config/mosquitto.conf
echo "allow_anonymous false" >> /mosquitto/config/mosquitto.conf
else
echo "allow_anonymous true" >> /mosquitto/config/mosquitto.conf
fi
fi
exec mosquitto -c /mosquitto/config/mosquitto.conf

0 comments on commit 0c684d8

Please sign in to comment.