Home assistant add-on: seafile
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!
Addon informations
Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!
About
High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features.
This addon is based on the docker image https://hub.docker.com/r/franchetti/seafile-arm
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
- 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)
- Install this add-on.
- Click the
Savebutton to store your configuration. - Set the add-on options to your preferences
- Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open the webUI and adapt the software options
Configuration
Use the add-on env_vars option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
Webui can be found at http://homeassistant:8000 (Seahub) and http://homeassistant:8082 (File server).
Setup Steps
- Default login:
me@example.com/a_very_secret_password - Change admin credentials after first login
- Configure database (SQLite default, MariaDB recommended for production)
- Set proper file server root URL for external access
File server URL: The add-on now writes
SERVICE_URLandFILE_SERVER_ROOTdirectly toconf/seahub_settings.py.SERVICE_URLuses theurloption when set (otherwiseSERVER_IPwith port8000), whileFILE_SERVER_ROOTfollows theFILE_SERVER_ROOToption (defaulting tohttp://<your host>:8082). KeepFILE_SERVER_ROOTaligned with your accessible file server endpoint so download links resolve correctly.
Options
| Option | Type | Default | Description |
|---|---|---|---|
PGID |
int | 1000 |
Group ID for file permissions |
PUID |
int | 1000 |
User ID for file permissions |
TZ |
str | Europe/Paris |
Timezone (e.g., Europe/London) |
SEAFILE_ADMIN_EMAIL |
me@example.com |
Admin email address | |
SEAFILE_ADMIN_PASSWORD |
password | a_very_secret_password |
Admin password |
SERVER_IP |
str | homeassistant.local |
Server IP or hostname |
FILE_SERVER_ROOT |
str | http://homeassistant.local:8082 |
File server root URL |
PORT |
str | 8082 |
File server port |
url |
str | External URL for Seafile | |
database |
list | sqlite |
Database type (sqlite/mariadb_addon) |
data_location |
str | /share/seafile |
Data storage location |
CONFIG_LOCATION |
str | Custom config file location | |
localdisks |
str | Local drives to mount (e.g., sda1,sdb1) |
|
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 |
Example Configuration
PGID: 1000
PUID: 1000
TZ: "Europe/London"
SEAFILE_ADMIN_EMAIL: "admin@mydomain.com"
SEAFILE_ADMIN_PASSWORD: "SecurePassword123"
SERVER_IP: "192.168.1.100"
FILE_SERVER_ROOT: "https://seafile.mydomain.com:8082"
url: "seafile.mydomain.com"
database: "mariadb_addon"
data_location: "/share/seafile"
localdisks: "sda1,sdb1"
networkdisks: "//nas.local/seafile"
cifsusername: "seafileuser"
cifspassword: "password123"
cifsdomain: "workgroup"
Mounting Drives
This addon supports mounting both local drives and remote SMB shares:
- Local drives: See Mounting Local Drives in Addons
- Remote shares: See Mounting Remote Shares in Addons
Important: If storing database on mounted drive, ensure SQLite database is also hosted there to prevent data loss during mount issues.
Support
Create an issue on github

