Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App submission mosquitto #1789

Merged
merged 32 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
cc90fb4
Create .gitkeep
dirstel Nov 11, 2024
a4f4d30
Create .gitkeep
dirstel Nov 11, 2024
48d7b2d
Create pre-start
dirstel Nov 11, 2024
d35afb6
Create mosquitto.conf.default
dirstel Nov 11, 2024
01ebda9
Delete mosquitto/config/.gitkeep
dirstel Nov 11, 2024
55110d8
Create docker-compose.yaml
dirstel Nov 11, 2024
f356642
Create umbrel-app.yaml
dirstel Nov 11, 2024
85567c2
Create .gitkeep
dirstel Nov 11, 2024
7520983
added www. dir
dirstel Nov 11, 2024
520827f
Delete mosquitto/www/.gitkeep
dirstel Nov 11, 2024
dc7298e
Create .gitkeep
dirstel Nov 11, 2024
d8b0288
Update umbrel-app.yaml
dirstel Nov 12, 2024
ba47b04
Update docker-compose.yaml
dirstel Nov 12, 2024
9e702ed
Merge pull request #1 from getumbrel/master
dirstel Nov 12, 2024
5284e42
chmod +x for pre-start hook
dirstel Nov 14, 2024
907af39
Update index.html
dirstel Nov 21, 2024
caba267
Update pre-start
dirstel Nov 25, 2024
212d737
renamed: config/mosquitto.conf.default -> data/config/mosquitto.co…
dirstel Nov 28, 2024
782b0e0
modified: data/config/mosquitto.conf.default
dirstel Nov 28, 2024
746f4ef
modified: docker-compose.yml
dirstel Nov 28, 2024
410202f
inital commit
dirstel Nov 29, 2024
6255a01
Delete zigbee2mqtt/umbrel-app.yml
dirstel Nov 29, 2024
9c60781
Delete zigbee2mqtt/hooks/pre-start
dirstel Nov 29, 2024
1d27444
Delete zigbee2mqtt/docker-compose.yml
dirstel Nov 29, 2024
ac6824c
Delete zigbee2mqtt/data/configuration.yaml.default
dirstel Nov 29, 2024
fa35a00
deleted: hooks/pre-start
dirstel Dec 10, 2024
541f32b
modified: data/config/mosquitto.conf
dirstel Dec 10, 2024
55f2431
Update docker-compose.yml
dirstel Dec 10, 2024
7233fbf
modified: data/www/index.html
dirstel Dec 10, 2024
516dc79
modified: data/www/index.html
dirstel Dec 10, 2024
9b529c3
Add gallery assets
nmfretz Dec 18, 2024
e30d202
Remove icon field for official app store launch
nmfretz Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions mosquitto/data/config/mosquitto.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Config file for mosquitto
# See mosquitto.conf(5) for more information.

# default listener
listener 1883

# websockets listener (including webserver)
listener 9001
protocol websockets
http_dir /mosquitto/www

# security
allow_anonymous true
#password_file
#acl_file

# Path to the PEM encoded server/keyfile certificate.
#certfile
#keyfile
1 change: 1 addition & 0 deletions mosquitto/data/log/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions mosquitto/data/mosquitto/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added mosquitto/data/www/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
308 changes: 308 additions & 0 deletions mosquitto/data/www/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,308 @@
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Mosquitto</title>
<style>
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
line-height: 1.15;
-webkit-text-size-adjust: 100%
}

body {
margin: 0
}

main {
display: block
}

h1 {
font-size: 2em;
margin: .67em 0
}

hr {
box-sizing: content-box;
height: 0;
overflow: visible
}

pre {
font-family: monospace, monospace;
font-size: 1em
}

a {
background-color: transparent
}

abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted
}

b,
strong {
font-weight: bolder
}

code,
kbd,
samp {
font-family: monospace, monospace;
font-size: 1em
}

small {
font-size: 80%
}

sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline
}

sub {
bottom: -.25em
}

sup {
top: -.5em
}

img {
border-style: none
}

button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0
}

button,
input {
overflow: visible
}

button,
select {
text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
-webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
border-style: none;
padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
outline: 1px dotted ButtonText
}

fieldset {
padding: .35em .75em .625em
}

legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal
}

progress {
vertical-align: baseline
}

textarea {
overflow: auto
}

[type=checkbox],
[type=radio] {
box-sizing: border-box;
padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
height: auto
}

[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
-webkit-appearance: none
}

::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}

details {
display: block
}

summary {
display: list-item
}

template {
display: none
}

[hidden] {
display: none
}
</style>
<style>
body {
background-color: #1D1B1B;
font-family: system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, Segoe UI, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
color: #fff;
}

*,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
color: #fff;
font-size: 20px;
font-weight: normal;
}

.success {
color: #63FB72;
}

.text-muted {
opacity: 0.8;
}

.text-small {
font-size: 14px;
}

hr {
width: 100%;
height: 2px;
background: #2F2C2C;
border: none;
margin: 40px 0;
}

.container {
padding: 40px;
max-width: 1440px;
margin: auto;
}

.app-icon {
border-radius: 20px;
}

.app {
display: flex;
margin: 20px 0 40px 0;
}

.app>.app-icon {
flex-shrink: 0;
height: 140px;
width: 140px;
box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.95);
margin-right: 24px;
}

.app>.app-details>.app-status {
display: block;
font-size: 20px;
margin: 10px 0 0 0;
}

.app>.app-details>.app-name {
font-size: 52px;
line-height: 52px;
font-weight: bold;
margin: 10px 0 0 0;
}
</style>
<link rel="shortcut icon" type="image/jpg" href="favicon.png">
</head>

<body>
<section class="container app-container">
<div class="app">
<img class="app-icon" src="logo.png" width="256" height="256">
<div class="app-details">
<span class="app-status success">&#9679; Running</span>
<h1 class="app-name">Eclipse Mosquitto</h1>
</div>
</div>
<p class="text-muted"></p>
<hr>
<h2>How to Connect to the MQTT-Broker</h2>
<p>Follow these steps to connect to the MQTT-Broker:</p>

<h3>MQTTX Web (Webbased)</h3>
<ol>
<li>Install <strong>MQTTX Web</strong> from the Umbrel Appstore.</li>
<li>use <strong>umbrel.local</strong> as server address.</li>
<li>use <strong>Port 9021</strong> as server port.</li>
<li>Click <strong>connect</strong> and you should now be able to subscribe/publish to the topics you like.</li>
</ol>

<h3>MQTT Explorer (Windows)</h3>
<ol>
<li>Install <strong>MQTT Explorer</strong> from <a href="https://mqtt-explorer.com/">mqtt-explorer.com</a>.</li>
<li>use <strong>umbrel.local</strong> as server address.</li>
<li>use <strong>Port 1883</strong> as server port.</li>
<li>Click <strong>connect</strong> and you should now be able to subscribe/publish to the topics you like.</li>
</ol>

<p>Use the access information above to configure devices and services to access the MQTT-Broker.</p>
<br>
<h1><strong>&#128680; Heads up &#128680;</strong></h1>
<p>If you plan to expose your MQTT-Broker to the internet you are <strong>strongly</strong> advised to configure <a href="https://mosquitto.org/documentation/authentication-methods">authentification</a>.</p>
<p>Change the configuration by following these steps to modify the <strong>mosquitto.conf</strong> manualy:</p>
<ul>
<li>open a terminal by clicking <strong>Settings -&gt; Advanced settings -&gt; Terminal -&gt; umbrelOS</strong></li>
<li>enter <code><strong>sudo nano ~/umbrel/app-data/mosquitto/data/config/mosquitto.conf</strong></code></li>
</ul>
</section>

</body>
</html>
Binary file added mosquitto/data/www/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions mosquitto/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
services:

app_proxy:
environment:
APP_HOST: mosquitto_broker_1
APP_PORT: 9001

broker:
image: eclipse-mosquitto:2.0.20@sha256:8b396cec28cd5e8e1a3aba1d9abdbddd42c454c80f703e77c1bec56e152fa54e
restart: on-failure
ports:

Check notice on line 11 in mosquitto/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

External port mapping "1883:1883"

Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
- '1883:1883'
volumes:
- ${APP_DATA_DIR}/data/config:/mosquitto/config:rw
- ${APP_DATA_DIR}/data/mosquitto:/mosquitto/data:rw
- ${APP_DATA_DIR}/data/log:/mosquitto/log:rw
- ${APP_DATA_DIR}/data/www:/mosquitto/www:r
user: "1000:1000"
29 changes: 29 additions & 0 deletions mosquitto/umbrel-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
manifestVersion: 1
id: mosquitto
name: Mosquitto
tagline: An open source MQTT broker
category: automation
version: "2.0.20"
port: 9021
description: >-
Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers.


The MQTT protocol provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for Internet of Things messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers.


The Mosquitto project also provides a C library for implementing MQTT clients, and the very popular mosquitto_pub and mosquitto_sub command line MQTT clients.
developer: Eclipse Foundation
website: https://mosquitto.org/
submitter: dirstel
submission: https://github.com/getumbrel/umbrel-apps/pull/1789
repo: https://github.com/eclipse-mosquitto/mosquitto
support: https://github.com/eclipse-mosquitto/mosquitto
gallery:

Check warning on line 22 in mosquitto/umbrel-app.yml

View workflow job for this annotation

GitHub Actions / Lint apps

"icon" and "gallery" needs to be empty for new app submissions

The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.
- 1.jpg
- 2.jpg
- 3.jpg
releaseNotes: ""
dependencies: []
path: ""
defaultUsername: ""
Loading