This commit is contained in:
Alexandre
2025-08-01 22:42:05 +02:00
parent f4a1f85fd1
commit 2e29601a2e
2 changed files with 126 additions and 56 deletions

View File

@@ -1,4 +1,4 @@
# Home assistant add-on: guacamole
# Home assistant add-on: Guacamole
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
@@ -22,42 +22,68 @@ _Thanks to everyone having starred my repo! To star it click on the image below,
## About
[Apache Guacamole](https://guacamole.apache.org/) is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. This container is only the backend server component needed to use The official or 3rd party HTML5 frontends.
[Apache Guacamole](https://guacamole.apache.org/) is a clientless remote desktop gateway that supports standard protocols like VNC, RDP, and SSH. It provides a web-based interface for accessing remote systems without requiring any client software on the user's device. Guacamole acts as a proxy, translating between the web-based frontend and the actual remote desktop protocols.
This addon is based on the docker image here : https://github.com/abesnier/docker-guacamole
This addon combines both the Guacamole server (guacd) and web application components with an integrated PostgreSQL database for storing connection configurations and user management. The solution provides a complete remote desktop gateway that can be used to securely access computers and servers from anywhere via a web browser.
This addon is based on the docker image from: https://github.com/abesnier/docker-guacamole
## Configuration
Webui can be found at <http://homeassistant:8080>.
Webui can be found at `<your-ip>:8080` or through the sidebar using Ingress.
The default username is guacadmin with password guacadmin.
The default username is `guacadmin` with password `guacadmin`. It is strongly recommended to change this password immediately after first login.
Addons options :
### Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `EXTENSIONS` | str | `auth-totp` | Guacamole extensions to enable (e.g., `auth-totp`) |
| `TZ` | str | | Timezone (e.g., `Europe/London`) |
### Example Configuration
```yaml
EXTENSIONS: auth-totp # see https://github.com/maxwaldorf/guacamole#enabling-extensions
TZ: Europe/Paris # Sets a specific timezone
EXTENSIONS: "auth-totp"
TZ: "Europe/London"
```
### Database Setup
The addon automatically configures a PostgreSQL database for storing Guacamole configurations, users, and connections. The database files are stored in `/config/postgres` and are automatically created on first startup.
### Custom Scripts and Environment Variables
This addon supports custom scripts and environment variables through the `addon_config` mapping:
- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
- **Environment variables**: See [Add Environment Variables to your Addon](https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon)
## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Hass.io add-on.
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
1. Install this add-on.
1. Click the `Save` button to store your configuration.
1. Set the add-on options to your preferences
1. Start the add-on.
1. Check the logs of the add-on to see if everything went well.
1. Open the webUI and adapt the software options
1. Go to the web interface and log in with the default credentials (`guacadmin`/`guacadmin`).
1. Change the default password immediately for security.
1. Configure your remote connections through the Guacamole web interface.
## Setup
After installation and first login:
1. **Change Default Password**: Go to Settings → Users → guacadmin and change the password
2. **Create Connections**: Use the web interface to add RDP, VNC, or SSH connections to your remote systems
3. **Configure Extensions**: If using TOTP authentication, configure it in the user settings
4. **User Management**: Create additional users and assign connection permissions as needed
## Support
Create an issue on github
## Illustration
![illustration](https://www.linuxserver.io/user/pages/content/images/2021/05/menu.png)
Create an issue on [GitHub][repository]
[repository]: https://github.com/alexbelgium/hassio-addons

View File

@@ -23,14 +23,84 @@ _Thanks to everyone having starred my repo! To star it click on the image below,
## About
Joplin Server is a free, open source note taking and to-do Sync application, which can handle a large number of notes organised into notebooks.
With this server you can sync all your notes over all your devices.
[Joplin Server](https://github.com/laurent22/joplin) is a free, open source note taking and to-do synchronization application, which can handle a large number of notes organized into notebooks. With this server you can sync all your notes across all your devices. Joplin supports end-to-end encryption, markdown editing, web clipper extensions, and synchronization with various cloud services.
This addon is based on the [docker image](https://hub.docker.com/r/etechonomy/joplin-server) from etechonomy.
Thanks to @poudenes for helping with the development!
Project homepage : https://github.com/laurent22/joplin
## Configuration
Based on the docker image : https://hub.docker.com/r/etechonomy/joplin-server
Webui can be found at `<your-ip>:22300`.
### Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `APP_BASE_URL` | str | `http://your_domain:port` | Base public URL where the service will be running |
| `data_location` | str | `/config/addons_config/joplin` | Path where Joplin data is stored |
| `DB_CLIENT` | str | | Database client type (e.g., `pg` for PostgreSQL) |
| `POSTGRES_HOST` | str | | PostgreSQL server hostname |
| `POSTGRES_PORT` | int | | PostgreSQL server port |
| `POSTGRES_DATABASE` | str | | PostgreSQL database name |
| `POSTGRES_USER` | str | | PostgreSQL username |
| `POSTGRES_PASSWORD` | str | | PostgreSQL password |
| `MAILER_ENABLED` | int | | Enable email service (1=true, 0=false) |
| `MAILER_HOST` | str | | SMTP server hostname |
| `MAILER_PORT` | int | | SMTP server port |
| `MAILER_SECURITY` | str | | SMTP security (none, tls, starttls) |
| `MAILER_AUTH_USER` | str | | SMTP authentication username |
| `MAILER_AUTH_PASSWORD` | str | | SMTP authentication password |
| `MAILER_NOREPLY_NAME` | str | | Email sender name |
| `MAILER_NOREPLY_EMAIL` | str | | Email sender address |
### Example Configuration
```yaml
APP_BASE_URL: "http://192.168.1.100:22300"
data_location: "/config/addons_config/joplin"
DB_CLIENT: "pg"
POSTGRES_HOST: "core-mariadb"
POSTGRES_PORT: 3306
POSTGRES_DATABASE: "joplin"
POSTGRES_USER: "joplin"
POSTGRES_PASSWORD: "secure_password"
MAILER_ENABLED: 1
MAILER_HOST: "smtp.gmail.com"
MAILER_PORT: 587
MAILER_SECURITY: "starttls"
MAILER_AUTH_USER: "your-email@gmail.com"
MAILER_AUTH_PASSWORD: "your-app-password"
MAILER_NOREPLY_NAME: "Joplin Server"
MAILER_NOREPLY_EMAIL: "noreply@yourdomain.com"
```
### Database Setup
Joplin Server uses SQLite by default, but for production use, PostgreSQL is recommended:
1. Install and configure a PostgreSQL addon (e.g., MariaDB addon)
2. Create a database and user for Joplin
3. Configure the PostgreSQL options in the Joplin addon
4. Restart the addon
Make sure the provided database and user exist as the server will not create them automatically.
### Email Configuration
To enable email functionality for user registration and notifications:
1. Configure your SMTP server details
2. Set `MAILER_ENABLED` to `1`
3. Provide authentication credentials
4. Test the configuration by registering a new user
### Custom Scripts and Environment Variables
This addon supports custom scripts and environment variables through the `addon_config` mapping:
- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
- **Environment variables**: See [Add Environment Variables to your Addon](https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon)
## Installation
@@ -42,44 +112,18 @@ comparison to installing any other Hass.io add-on.
1. Click the `Save` button to store your configuration.
1. Start the add-on.
1. Check the logs of the add-on to see if everything went well.
1. Carefully configure the add-on to your preferences, see the official documentation for for that.
1. Navigate to the web interface to complete the initial setup.
## Configuration
## Setup Steps
Webui can be found at <http://homeassistant:port>
```yaml
APP_BASE_URL: This is the base public URL where the service will be running. For example, if you want it to run from https://example.com/joplin, this is what you should set the URL to. The base URL can include the port.
```
To use an existing PostgresSQL server, set the following variables in the config:
Make sure that the provided database and user exist as the server will not create them.
```yaml
DB_CLIENT=pg
POSTGRES_PASSWORD=joplin
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_HOST=localhost
```
To use email service, set the follow variables in the config:
```yaml
1 = true, 0 = false
MAILER_HOST=mail.example.com
MAILER_PORT=995
MAILER_SECURITY=none, tls, starttls
MAILER_AUTH_USER=info@example.com
MAILER_AUTH_PASSWORD=your_password
MAILER_NOREPLY_NAME=from_name
MAILER_NOREPLY_EMAIL=from_email
MAILER_ENABLED=1
```
1. **Initial Setup**: After starting the addon, navigate to the web interface
2. **Create Admin Account**: Create your first admin user account
3. **Configure Synchronization**: Set up your Joplin clients to sync with the server
4. **Optional Database**: Consider switching to PostgreSQL for better performance
5. **Email Service**: Configure email service for user management features
## Support
Create an issue on github
Create an issue on [GitHub](https://github.com/alexbelgium/hassio-addons/issues).
[repository]: https://github.com/alexbelgium/hassio-addons