Sign inSign up

junkerderprovinz/seafile

By junkerderprovinz

•Updated about 1 hour ago

Seafile for Unraid in one container: generated secrets, optional built-in MariaDB, Redis and notific

Image
0

781

junkerderprovinz/seafile repository overview

Seafile

Build  Lint  Docker Pulls  Arch  Seafile 14  Unraid  License: AGPL-3.0


The official Seafile server, installable on Unraid from a single template. It creates its own secrets on the first start, and it can run MariaDB, Redis and the notification server inside the same container when you have none of your own.

In development, testers welcome: report a bug


In Unraid's Community Applications soon   Run it with Docker   Download the source archive


A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


⁠Table of Contents

  1. What it looks like⁠
  2. What it does⁠
  3. Getting started⁠
  4. Web office⁠
  5. How AI is used here⁠
  6. Support this project⁠

⁠1. What it looks like

The libraries and files in these pictures are made up.

Seafile's library list in a browser, five libraries in dark mode
Seafile in any browser on your network, from the container on your server.


Folders and documents inside the Documents library, with the file tree on the left
Inside a library: folders, documents and the file tree.


⁠2. What it does

Seafile⁠ syncs and shares files, with desktop and mobile clients, libraries you can encrypt on the client and built-in wikis. Its official image seafileltd/seafile-mc⁠ expects MariaDB, Redis and a notification server as containers of their own, plus a JWT key made by hand. This image is the official one with a small layer in front:

  • Secrets on the first start. It generates the JWT key, the database password and, if you leave it empty, the admin password, and keeps them in secrets.env in your appdata folder.
  • MariaDB and Redis built in, if you want them. Both are off by default, because most Unraid servers already have a MariaDB. Switched on, they run next to Seafile and listen only on 127.0.0.1.
  • Live updates in the clients. The notification server is included, so the desktop and mobile clients hear about a change when it happens instead of asking on a timer.
  • Office files in the browser. Pick Euro-Office, Collabora or OnlyOffice in the template, and Word, Excel and PowerPoint files open and save inside Seafile.
  • A clear stop instead of "Page unavailable". If the database or Redis host is missing, the container stops with one line saying what to set.
  • The official layout. The official scripts still run the setup and the upgrades, and /shared looks the same, so a setup made with the official image or another Seafile template keeps working.

⁠3. Getting started

  1. Install Seafile from Community Applications.
  2. Set Server hostname to the address your clients will use, for example 192.168.1.10:8000 or seafile.example.com. Leave out http://.
  3. Pick your services:
    • No MariaDB or Redis yet? Set Built-in MariaDB and Built-in Redis to true and leave their host fields empty.
    • MariaDB already running? Enter its host and its root password. The root password is only used once, to create the three Seafile databases and the seafile user, and you can remove it afterwards.
  4. Enter an Admin email. Leave the admin password empty to get a generated one.
  5. Start the container and open the log. The first start takes about a minute. It is ready when the log says Seahub is started. If the password was generated, the log names it, and it is also in secrets.env.
  6. Open http://[IP]:8000 and sign in.

With docker run:

docker run -d --name seafile \
  -p 8000:80 \
  -v /mnt/user/appdata/seafile:/shared \
  -e SEAFILE_SERVER_HOSTNAME=192.168.1.10:8000 \
  -e [email protected] \
  -e BUILTIN_MARIADB=true \
  -e BUILTIN_REDIS=true \
  junkerderprovinz/seafile:latest

Coming from another Seafile template: point Data at the same folder, copy over the hostname, the database and Redis settings and the JWT_PRIVATE_KEY, and keep Built-in MariaDB off. Back up first: a Seafile 13 database is upgraded on the first start, and there is no way back. Every other variable of the official image works as the Seafile manual⁠ describes it.


⁠4. Web office

Seafile can open Word, Excel and PowerPoint files in the browser and saves your changes as a new version of the file. The editor runs as a container of its own. Three work with Seafile: Euro-Office⁠, Collabora Online⁠ and OnlyOffice⁠. Pick one under Web office suite and fill in the two fields below it.

Web office suiteOffice document server URLOffice JWT secretIn the editor's container
euro-officeThe address the Euro-Office WebUI button opens, such as http://192.168.1.10:9900The JWT secret of the Euro-Office containerNothing else
onlyofficeThe document server's address, such as http://192.168.1.10:8080Its JWT_SECRETKeep JWT_ENABLED=true
collaboraIts address on port 9980, such as http://192.168.1.10:9980Leave emptySet aliasgroup1 to Seafile's address, such as http://192.168.1.10:8000. Without https in front of it, also set extra_params=--o:ssl.enable=false --o:ssl.termination=false
  • The browser loads the editor straight from the document server's address. If you open Seafile over https, that address has to be https as well, or the browser blocks the editor.
  • The editor fetches and saves the file through Seafile's Server hostname, so the editor's container must be able to reach that address.
  • The container log says Office files open in euro-office at ... when the setting has taken effect. A missing address or JWT secret stops the start with one line that names it.
  • Euro-Office needs about 5 GB of memory while it starts. With a 3 GB limit it never finished starting in my tests.
  • An office set up by hand in seahub_settings.py still wins over the template. Leave Web office suite at off in that case.

⁠5. How AI is used here

One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.

You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.


⁠6. Support this project

Questions? Check the support thread⁠. Bugs, ideas or feature requests? Please open a GitHub issue⁠.

A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


Seafile is released by Seafile Ltd., the Community Edition server under AGPL-3.0. This is an independent packaging for Unraid and is not affiliated with Seafile Ltd.

Tag summary

Content type

Image

Digest

sha256:e3715c014…

Size

543.5 MB

Last updated

about 3 hours ago

docker pull junkerderprovinz/seafile