mirror of
https://github.com/Retropex/umbrel-apps.git
synced 2025-05-12 11:20:43 +02:00
App Submission: Mosquitto (#1789)
Co-authored-by: nmfretz <nmfretz@gmail.com>
This commit is contained in:
parent
e0e41162d5
commit
754797583e
19
mosquitto/data/config/mosquitto.conf
Normal file
19
mosquitto/data/config/mosquitto.conf
Normal file
@ -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
mosquitto/data/log/.gitkeep
Normal file
1
mosquitto/data/log/.gitkeep
Normal file
@ -0,0 +1 @@
|
||||
|
1
mosquitto/data/mosquitto/.gitkeep
Normal file
1
mosquitto/data/mosquitto/.gitkeep
Normal file
@ -0,0 +1 @@
|
||||
|
BIN
mosquitto/data/www/favicon.png
Normal file
BIN
mosquitto/data/www/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
308
mosquitto/data/www/index.html
Normal file
308
mosquitto/data/www/index.html
Normal file
@ -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">● 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>🚨 Heads up 🚨</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 -> Advanced settings -> Terminal -> umbrelOS</strong></li>
|
||||
<li>enter <code><strong>sudo nano ~/umbrel/app-data/mosquitto/data/config/mosquitto.conf</strong></code></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
mosquitto/data/www/logo.png
Normal file
BIN
mosquitto/data/www/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
18
mosquitto/docker-compose.yml
Normal file
18
mosquitto/docker-compose.yml
Normal file
@ -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:
|
||||
- '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
mosquitto/umbrel-app.yml
Normal file
29
mosquitto/umbrel-app.yml
Normal file
@ -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:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
releaseNotes: ""
|
||||
dependencies: []
|
||||
path: ""
|
||||
defaultUsername: ""
|
Loading…
Reference in New Issue
Block a user