How to install Seafile server on a public VPS (scary topic)

Ok, I am a traveling contract worker and do not really have a place that I call home for more than a few weeks at a time. So, setting up a server in my closet is not really an option. This means that I need to securely run Seafile on one of the several VPS servers that I have with one of several hosting companies.

Most of the documentation that I can find is aimed toward the person or company that can install the packages on their own bare metal box or on their company intranet network. When looking at it from that perspective, the number of known users that would ever access the system is fairly fixed and easier to deal with from a security perspective.

I have tested the functions of Seafile on one of my testing VPS server sites by using the quick script instructions found here:

(Sorry, I am new to the forum and cannot include real links yet)

While this did indeed create a functional Seafile server on my fresh Ubuntu 18.04 VPS instance with my host provider, It is all configured with a defaulted admin user, and running wide open on port 80 of the server. So, anyone can simply type in the ip address of the server and get the login screen.

What I am looking for is a better way to install the system at my hosting provider so that I can include better settings, a valid admin user, lets encrypt certbot service, and something other than port 80 for accessing the server login page.

I have tried 3 other sets of instructions over the last 2 days and all but the set in the official documentation on github failed for one reason or another.

The last one (and the one to get closest to a working system) was here:

And it failed during the use of the following command:

$ sudo ./setup-seafile-mysql.sh

The failure occurred at this point in the process:

---------------------------------
This is your configuration
---------------------------------

    server name:            jmicloud
    server ip/domain:       cloud.jmishop.com

    seafile data dir:       /srv/seafile-data
    fileserver port:        8082

    database:               use existing
    ccnet database:         ccnet_server
    seafile database:       seafile_server
    seahub database:        seahub_server
    database user:          seafile



---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

Generating ccnet configuration ...

done
Successly create configuration dir /srv/ccnet.
Generating seafile configuration ...

Done.
done
Generating seahub configuration ...

----------------------------------------
Now creating ccnet database tables ...

----------------------------------------

Error: Failed to init ccnet database: (1071, 'Specified key was too long; max key length is 767 bytes')

So does anyone know of a set of instructions that can get me to a complete and working install on a public VPS server and still allow me to control the users, settings, etc.?

Thanks for taking time to read my plea.

BKM :sunglasses:

Literally just did this over the weekend, i was lazy and wanted a new server to put my data onto.

This worked pretty nice, i was unable to login as admin and had to run the script located in /opt/seafile/seafile-server-latest to reset the admin password, that’s about it, from there you must do the rest…HTTPS…etc.etc…

1 Like

Yup. That is the same one I used this afternoonto get a semi-functional server but the admin login is not very good and the administrator cannot create new users they just error. Had to force the new user creation to happen via the server login screen. Not ideal, but workable I guess. There are a few other weird things going on, but if I can fix the admin login the same way you did then it might be worth setting up the HTTPS, etc.

BKM

Thanks for the tip. Will try again tomorrow morning when I get back to the office.

With open source SDN software like zerotier out there there’s no need to expose your personal sf server to the public net unless you need to access it from a computer you don’t own or need extra bandwith.

https://www.zerotier.com/

Yeah, that is kind of the point…

I usually do not own the system that I might be using to access my files, and I do not have a permanent place to call a home office where I could setup a private box server in a closet somewhere. Such is the life of a traveling consultant.

So, the securing of the public VPS is really necessary for it to be a valid replacement for the ever so crappy Dropbox.

BKM