Files
hassio-addons/nextcloud
2026-01-06 16:16:11 +00:00
..
2025-10-26 00:32:33 +00:00
2023-01-20 10:45:11 +01:00
2026-01-06 16:16:11 +00:00
2026-01-06 17:11:58 +01:00
2025-08-02 11:13:15 +02:00
2025-08-31 23:06:36 +00:00
2025-08-31 23:06:36 +00:00
2026-01-04 23:07:02 +00:00

⚠ Open Issue : 🐛 [NextCloud] Mounted localdisk does not have write permissions (opened 2025-09-23) by @Patabugen

Home assistant add-on: Nextcloud

I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons

If this add-on saves you time or makes your setup easier, I would be very grateful for your support!

Buy me a coffee Donate via PayPal

Addon informations

Version Ingress Arch

Codacy Badge GitHub Super-Linter Builder

Uses elasticsearch

Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!

Stargazers repo roster for @alexbelgium/hassio-addons

downloads evolution

About

Various tweaks and configuration options addition. Inital fork from version : https://github.com/haberda/hassio_addons This addon is based on the docker image from linuxserver.io.

Configuration

Webui can be found at <your-ip>:port.

Options

Option Type Default Description
PGID int 1000 Group ID for file permissions
PUID int 1000 User ID for file permissions
TZ str Timezone (e.g., Europe/London)
additional_apps str Additional APK packages to install (comma-separated)
trusted_domains str Trusted domains for Nextcloud access
use_own_certs bool false Use custom SSL certificates
certfile str fullchain.pem SSL certificate file (in /ssl/)
keyfile str privkey.pem SSL private key file (in /ssl/)
OCR bool false Enable Tesseract OCR capability
OCRLANG str OCR languages (e.g., fra,eng)
Full_Text_Search bool false Enable full-text search with Elasticsearch
elasticsearch_server str Elasticsearch server address (ip:port)
enable_thumbnails bool true Enable thumbnail generation
default_phone_region str Default phone region (ISO 3166-1 alpha-2)
disable_updates bool false Prevent automatic app updates
env_memory_limit str 512M PHP memory limit
env_post_max_size str 512M Maximum POST size
env_upload_max_filesize str 512M Maximum upload file size
localdisks str Local drives to mount (e.g., sda1,sdb1,MYNAS)
networkdisks str SMB shares to mount (e.g., //SERVER/SHARE)
cifsusername str SMB username for network shares
cifspassword str SMB password for network shares
cifsdomain str SMB domain for network shares
skip_permissions_check bool false Skip file permissions checking

Example Configuration

PGID: 1000
PUID: 1000
TZ: "Europe/London"
additional_apps: "vim,curl"
trusted_domains: "nextcloud.example.com,192.168.1.100"
use_own_certs: true
certfile: "fullchain.pem"
keyfile: "privkey.pem"
OCR: true
OCRLANG: "eng,fra,deu"
enable_thumbnails: true
env_memory_limit: "1024M"
localdisks: "sda1,sdb1"
networkdisks: "//192.168.1.100/nextcloud"
cifsusername: "nextcloud_user"
cifspassword: "password123"

Mounting Drives

This addon supports mounting both local drives and remote SMB shares:

Custom Scripts and Environment Variables

This addon supports custom scripts and environment variables through the addon_config mapping:

Custom Script Example

Create /config/addons_autoscripts/nextcloud-ocr.sh for custom initialization:

#!/usr/bin/with-contenv bashio
# shellcheck shell=bash

# Custom script executed at addon start
# Runs only after initialization is done

mkdir -p /scripts
if [ ! -f /app/www/public/occ ]; then
    cp /config/addons_autoscripts/"$(basename "${BASH_SOURCE}")" /scripts/ && exit 0
fi

echo "Scanning files"
sudo -u abc php /app/www/public/occ files:scan --all
echo "File scan completed!"

Change the temp folder to avoid bloating emmc on HA systems (thanks @senna1992)

See ; https://github.com/alexbelgium/hassio-addons/discussions/1370

Use mariadb as the main database (Thanks @amaciuc)

If you notice the following warning at your first webui running:

Performance warning
You chose SQLite as database.
SQLite should only be used for minimal and development instances. For production we recommend a different database backend.
If you use clients for file syncing, the use of SQLite is highly discouraged.

and you want to overcome this, follow the below steps:

    1. Install mariadb add-on, configure it with some random infos and start it. It is important to start it successfully in order to be seen by nextcloud in the network.
    1. Install nextcloud add-on (or restart it if you have already installed), watch the logs until you will notice the following warning:
    WARNING: MariaDB addon was found! It can't be configured automatically due to the way Nextcloud works, but you can configure it manually when running the web UI for the first time using those values :
    Database user : service
    Database password : Eangohyuchae6aif7saich2nies8xaivaejaNgaev6gi3yohy8ha2aexaetei6oh
    Database name : nextcloud
    Host-name : core-mariadb:3306
    
    1. Go back at mariadb add-on, configure it with above credentials and restart it. Make sure the add-on is creating the nextcloud database.
    1. Go in the webui and fill all required info. Here you can view an example:

image

Installation

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 Hass.io add-ons repository to your Hass.io instance.
  2. Install this add-on.
  3. Click the Save button to store your configuration.
  4. Start the add-on.
  5. Check the logs of the add-on to see if everything went well.
  6. Go to the webui, where you will create your username, password, and database (if using mariadb, infos are in the log)
  7. Restart the addon, to apply any option that should be applied

HA integration

See this component : https://www.home-assistant.io/integrations/nextcloud/

continu