Setup Real Time Backup Server using NGINX reverse proxy

Hi together,

I’m trying to setup a real time backup server and have some trouble getting it to work.

Currently my primary seafile (7.0.5 Community Edition) is running on a bananapi (Ubuntu Mate) and the storage is on a separate NAS.

Furthermore I use a Proxmox installation on a Dell Server for different services running in virtual machines and LXCs.
On this Proxmox host I am running a NGINX reverse proxy which makes my primary seafile accessible from the internet.
Now I also want to setup a seafile real time backup server. Therefore I already installed Seafile 7.0.5 Pro Server Edition on a Debian 10 LX Container.

I followed the instructions on https://download.seafile.com/published/seafile-manual/deploy_pro/real_time_backup.md
But when I run seaf-backup-cmd.sh status I always get the following:

Total number of libraries: 0
Number of synchronized libraries: 0
Number of libraries waiting for sync: 0
Number of libraries syncing: 0
Number of libraries failed to sync: 0

List of syncing libraries:

List of libraries failed to sync:

in the seafile.log on the backup server I can see:
[08/04/20 12:37:56] http-tx-mgr.c(2180): Sync polling timer triggered, start to fetch repo list from primary.
[08/04/20 12:37:56] http-tx-mgr.c(1036): Failed to get repo list from primary: Resource not found.

A ping to the primary server is successfull.
ping cloud.myserver.com is pointing on my NGINX reverse Proxy.

the seafile.conf on the backup server looks like this:

[backup]
primary_url = https://cloud.myserver.com
sync_token = abc…
sync_poll_interval = 3

the seafile.conf on the primary server looks like this:

[backup]
backup_url = https://cloudbackup.myserver.com
sync_token = abc…

I tried to exchange the URLs in the seafile conf with the local IPs ,instead of the domain names.
The result in the log is different:

[08/04/20 11:15:35] http-tx-mgr.c(2180): Sync polling timer triggered, start to fetch repo list from primary.
[08/04/20 11:15:35] http-tx-mgr.c(619): libcurl failed to GET https://192.168.1.8/seafhttp/server-sync/repo-list: Couldn’t connect to server.

192.168.1.8 is the IP of the primary seafile server.

Some additional information:

  • Since I am running NGINX as a Reverse Proxy on a separate Container I have not installed NGINX or an other webserver on both Seafile installations.
  • NGINX config uses a let’s encrypt certificate with all subdomains. So Both primary (cloud.myserver.com) and backup (cloudbackup.myserver.com) seafile are set up to work with https.
  • I used the same server version for primary and backup server. The primary one is community and the backup is pro edition. The manuel says “You should install Seafile Pro Edition on the backup server” - In my case it is 7.0.5.
  • I’m running dnsmasq to keep communication on the internal network. So both entries cloud.myserver.com and cloudbackup.myserver.com are pointing to the NGINX reverse proxy.

Can someone help me out?
Or is there anybody who can give a how to for using seafile and a seafile real time backup server behind an nginx reverse proxy?

Best regards

Ramon

Hi
it seems to me that the real-time backup is only available on the professional version

1 Like

That’s what I read but if you extend your selected region it says “on the backup server”.
I remember that I read or heard somewhere, that this feature is based on the same way the seafile client works. So I just the backup server needs to be pro edition.

Maybe someone can confirm or disconfirm this?

This page tells it (unfortunately just in german)

Hi Ramon,

I am one of the co-authors of the German post you quoted above.

Real-Time Backup-Server is a Pro feature. Hence, Seafile Pro needs to be installed on both servers to make the real-time backup work. This also makes sense if you think about it: the database needs to be synced from the master to the slave. Seafile PE has a database structure different from the database found in Seafile CE.

1 Like

Hi rdb,

thanks a lot for clarification.
Obvius it was not clear to me and I did not know that the database structure is different.

Even the feature list has no entry about it.
https://www.seafile.com/en/product/private_server/

Here are my next steps:
I will now change my primary Seafile server to a professional version. This could take some time because I need to exchange the BananaPi with something that’s not an ARM architecture since the professional Version is not available for ARM.

After setting up two seafile professional versions I will come up to this topic again, since the setup with NGINX is the other main issue which is not fixed so far.

again thanks a lot.

Glad I could clarify!

You are right. It is not listed in there. We’ll add it there.

Can you do me a favor: Can you mark as solved?