Seafile Pro docker version

I want to switch to the docker container to simplify upgrades on our licensed Pro version however I notice that the version on the repo is not current.

seafileltd/seafile-pro:latest is running at 6.2.10 however that version is 3 months old and 6.2.13 is current.

Is running pro under docker not the preferred way?

According to the installation manual Docker is the preferred way to install Seafile Pro. So I’m also wondering why the preferred way to install only offers an outdated version.

1 Like

In my opinion the manual is misleading. At least I’d recommend installing it on Debian for now.

In my opinion the Docker image has not been tested very well and not everything is supported (or at least complicated to do). It also is not always released with the archived version.

That’s unfortunate. I already came across one thing which isn’t supported/complicated. I’m trying to run Seafile in Docker on an alternate port (not 80 or 443). But because I can’t change the nginx config (since it would be overwritten when the container updates), Seafile keeps redirecting to port 80.

Request URL: http://seafile.example.com:8080/accounts/login/
Request Method: POST
Status Code: 302 FOUND
Remote Address: 192.168.1.184:8080

Location: http://seafile.example.com/
Server: nginx/1.10.3 (Ubuntu)

Host: seafile.example.com:8080
Origin: http://seafile.example.com:8080
Pragma: no-cache
Referer: http://seafile.example.com:8080/accounts/login/
Upgrade-Insecure-Requests: 1

In Docker I have set SEAFILE_SERVER_HOSTNAME to seafile.example.com and in the Seafile settings I set SERVICE_URL to http://seafile.example.com:8080 and FILE_SERVER_ROOT to http://seafile.example.com:8080/seafhttp. But the redirect keeps happening after logging in.

There’s been a discussion about this on GitHub but as far as I can tell this isn’t supported at the moment.

I had similar experience the last weeks. Also took the manual recommendation to serious.
Thanks to @shoeper i could dig deeper into another strange behaviour. I suppose the outdated version and testing is as said above.

Would love to find a roadmap on docker plans! @daniel.pan

As posted in GitHub, we want keep our docker image simple. So advanced usage case like using another port (not 80) will not be supported in docker way. Otherwise, we will force the majority users to manually set up let’s encrypt certification.

The docker image is updated.

1 Like

Thank you for pointing it out, that docker ist for “standard settings” install.

FYI - on ubuntu i still have the issue with the standard command: User+PWD not created

docker run -d --name seafile \
  -e SEAFILE_SERVER_HOSTNAME=192.168.1.XX \
  -e SEAFILE_ADMIN_EMAIL=newuser@supersmart.at \
  -e SEAFILE_ADMIN_PASSWORD=thenewpassword \
  -v /opt/seafile-data:/shared \
  -p 80:80 \
  docker.seadrive.org/seafileltd/seafile-pro:latest

Using it for testpurpose on my local mac with “docker for mac” same command just works as expected.

i am attempting to install Docker Seafile Pro running on Ubuntu.
I would like the site to working with SSL https standard port 443 so browsers like Chrome would not complain due to using a non secure site.
I can get it working under port 80 (http only) but it does not come up under port 443. Linux is a mystery to me but i have been plodding through the manual, articles and the forum to get it going.
(https://seafile.company.com does not work)
So for example i have tried variations of this instruction.
docker run -d --name seafile
-e SEAFILE_SERVER_LETSENCRYPT=true \ *This line is omitted when attempting to use my certificate
-e SEAFILE_SERVER_HOSTNAME=seafile. mydomain. com \ *Ignore spaces. New forum user link limitation.
-v /opt/seafile-data:/shared
-p 80:80
-p 443:443
{pro-host}/seafileltd/seafile-pro:latest
I also created an SSL folder under /shared and added my .crt and .key file.

Though I have tested with and without letsencrypt, it does not work on https.
Ideally i want to use my own purchased SSL because I had an extra Alt Name in that certificate and preferred that to having to renew every 3 months. Note: I dont use the letsencrypt line above when using my own cert.

In the above example, i am using my actual domain, email and password. I replace {pro-host} with the proper seafile site which downloads fine.
So this creates the docker container without issue and i can login under http. https though does not come up.
If do a telnet my.domain.com 443 it fails the connection so its not listening on that port.(So unlikely cert related)
I have also tried adding the https under “system admin/settings” and directly modifying service_url in ccnet.conf
Note: i am testing from my internal network so there is no firewall and routing to consider outside of this install.
Any suggestions as to what I am missing or doing wrong?

If you want use own certs, you need to set up a normal server manually.

Thank you for taking the time to respond.
I question though if that is the case then why in the manual for a seafile pro docker deploy does it mention the following?

“If you want to use your own SSL certificate:
create a folder /opt/seafile-data/ssl, and put your certificate and private key under the ssl directory.
Assume your site name is seafile.example.com, then your certificate must have the name seafile.example.com.crt, and the private key must have the name seafile.example.com.key”

Also i tried doing the letsencrypt=true as well and it still did not allow access via https:
Referenced from https://manual.seafile.com/deploy_pro/deploy_with_docker.html

Some people tried that, but it’s hard to set up, you have to enter your container and configure some parts or write your own dockerfile, it’s the best idea, IMO.

Well,
i just yesterday set up Pro the dockerway with letsencrypt true, and it https:// was working right out of the box. Had some problems with misleading information though.

If you copy the startupcommand from Wiki and change it to your needs, i didn’t see anywhere a hint, that one should replace {host} with a regular hostname. Since one has to login before being able to pull image, i thought, that would be a variable.

Perhaps someone can elaborate about that in docs?

It had cost me several hrs, being new to dockerized seafile pro, but having evaluated seafile several years ago.

Thanks and best
jM

Thats interesting that https worked for you. I just attempted it again starting with a clean folder and used the letsencrypt setting. I get the same problem 80 work 443 doesnt. I telnet to the server on 80 and it works, telnet to 443 and it says connect failed. To me that means the package isn’t listening on 443.
Did you make any extra changes in the conf folders after you did the docker run with letsencrypt for it to work?

Not at all. perhaps it was my startupscript? I just copied the one from the wiki and changed it to my settings and, what can i say? Voila …

Hmm. Okay. I am going to start over from total scratch. One thing i did was use latest Ubuntu 18.x rather than the 16.4 they put as requirement. I will do over with that version just to match it more precisely.Thanks