Building seafile-server from source: Instructions outdated

While trying to build seafile-server from source (to package it for NixOS), I discovered that the build instructions are seriously outdated.
I’ve managed building the seafile C code parts successfully using the normal autotools workflow, but am struggling to create a directory structure like the one in the pre-built packages including the scripts as setup-seafile-mysql.sh. The old build instructions above still mention the seafile-admin script, which is abandoned and still python2.

A quick search through the sources indicates that seafile-server/scripts/build/build-server.py plays an important role in creating the required structure. But how and when do I use it?

Once I manage to build and package seafile-server-8.0.1 properly, I am willing to update the build instructions, but until then I need your advice.

2 Likes

I was looking for some info about seafile in Nixos and ended up here.

Would be great if someone could provide more info!

P.S.
Also the page for sqlite setup is outdated (still python 2).

@mredaelli I am currently working on packaging Seafile as a NixOS module. You can find the WIP code here https://git.orlives.de/schmittlauch/nixos-seafile-overlay/

While the packaging itself seems to be pretty much complete, I still need to put everything together as a module to get a running seafile instance.

@schmittlauch I’ve recently been working on packaging seafile for nixos as well: see https://github.com/NixOS/nixpkgs/pull/119719

I’d love to have your feedback on this PR.

One of the main blocker was the “seafile-controller” which assumes hardcoded relations between config and path.
Since this is a home-made process supervisor I replaced it with plain systemd units.