Seafile Server in Docker is ready for testing on Windows 10!

That can’t be right. I’ve upgraded to 6.07 for Windows just now (non-Docker version). I couldn’t use Docker version as my CPU won’t support Hyper-V (non SLAT).

Is Hyper-V necessary? I installed Docker Toolbox instead and it’s all been installing okay so far.

I did run into one error towards the end. I’ve never used Seafile before, so maybe it’s something simple. Any ideas?

Just a tip for when this moves out of testing phase(i am guesing next major Seafile version?):
You should pack this docker installation and configuration into .exe file, that also takes care of service. Basically just keep the whole Seafile Server System Tray, so that the end user will not even notice the difference (apart from error massage when installing if he does not have the right Windows 10 version).

Also another tip for both linux and windows version:
Bake nginx into installation, so that the user can set https very easily via config files. Of course this should be optional to use, some people prefer setting up proxy themselves.

This is already supported. You can enable https (certs from letsencrypt) with one line of configuration change. Please check the README.

Thanks for reporting this. However we have not tested with docker toolbox, so there is no guarantee it would work.

PS C:\seafile> .\launcher.ps1 bootstrap
*** Running /etc/my_init.d/99_mysql_setup.sh…
*** Running /etc/my_init.d/create_data_links.sh…
*** Running /etc/rc.local…
*** Booting runit daemon…
*** Runit started as PID 8
*** Running /scripts/bootstrap.py…
[2017-02-28 23:44:20] Generating local Dockerfile …
[2017-02-28 23:44:20] Preparing for letsencrypt …
[2017-02-28 23:44:20] [debug] waiting for nginx server to be ready
[2017-02-28 23:44:20] [debug] Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17/nginx
tcp6 0 0 :::11211 :::* LISTEN -

[2017-02-28 23:44:20] [debug] nginx is ready
[2017-02-28 23:44:20] Starting letsencrypt verification
Cloning into ‘/shared/ssl/letsencrypt’…
fatal: protocol error: bad line length character: HTTP
Traceback (most recent call last):
File “/scripts/bootstrap.py”, line 196, in
main()
File “/scripts/bootstrap.py”, line 185, in main
init_letsencrypt()
File “/scripts/bootstrap.py”, line 67, in init_letsencrypt
call(’/scripts/ssl.sh {0} {1}’.format(ssl_dir, domain))
File “/scripts/utils/init.py”, line 68, in call
return subprocess.check_call(*a, **kw)
File “/usr/lib/python2.7/subprocess.py”, line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘/scripts/ssl.sh /shared/ssl seafile.jios.org’ returned non-zero exit status 128
*** /scripts/bootstrap.py exited with status 1.
*** Shutting down runit daemon (PID 8)…
*** Killing all processes…
[2017-02-28 11:44:50] Error: The command docker run --rm -it --name seafile-bootstrap -e SEAFILE_BOOTSRAP=1 -e SEAFILE_DOCKER_VERBOSE=true -v /C/seafile/shared:/shared -v /C/seafile/shared/logs/var-log:/var/log -v /C/seafile/shared/db:/var/lib/mysql -v /C/seafile/bootstrap:/bootstrap -v /C/seafile/scripts:/scripts:ro -v /C/seafile/templates:/templates:ro -v /C/seafile/scripts/tmp/check_init_admin.py:/opt/seafile/seafile-server-6.0.7/check_init_admin.py:ro -v /C/seafile/shared/.bash_history:/root/.bash_history -p 80:80 -p 443:443 seafileltd/seafile:6.0.7 /sbin/my_init – /scripts/bootstrap.py failed with code 1

How to solve this problem

Hi,
I have a similar issue as reported by 111.
Hyper-V is running on Win 10 Pro and latest Docker is installed

Maybe there is an additional step required.

Looks like the file should use line feed \n as new line but does use something else (have a look at the \r).

See http://stackoverflow.com/a/1279802

Your git settings is not correct.

It’s emphasised in the README:

Important: During the installation, you must choose "Checkout as is, Commit as is".

As much as I appreciate your work with Docker, this is pretty useless for real servers. a) This doesn’t work with Windows Servers and b) If it’s a real server there is propably already a web server running, so forwarding ports 80 and 443 isn’t helpful.
I understand that it is much work to keep releases for two OS, but for now I’ll stick with the Windows release or VirtualBox.

No luck for me either. I use VirtualBox on the same PC as Seafile Server so Docker will not work for me.

Does anyone actually use the Docker version under Window, or are you all, like me, still using 6.0.7?

If people are using the Docker version, did anyone get it going without HyperV installed?

I’m curious since none of my old personal hardware supports the Docker version (all non SLAT) and realise the Windows version has not had an update in some time.

Have already PM’d Daniel to see if there is an (even vague :slight_smile: ) timeline for the Windows version to be updated.

I do realise most effort is devoted to development of the unix base, but unfortunately like most Windows users do not have enough experience or motivation to try converting my server into a unix box for this purpose.

Doing so would be a big risk since I wouldn’t be able to maintain it properly and it is currently used for a raft of other things as well inluding a club website under IIS and acting as a remote host when I need it.

Cheers,
Mark

2 Likes

I’d guess docker uses the linux subsytem that comes baked into the windows 10 kernel (maybe that’s why windows 10 is mandatory), no hyper-v necessary. If you don’t want to take time to learn linux, don’t ask random people on the internet to work free for you. There’s this btw.

Current Docker implementation has 2 requirnaments:

  • Windows 10
  • SLAT (used by HyperV)

And it will probably stay like this for a while (there are some rumors it might sometime in the future use baked in linux subsystem). This is Docker limitation and not seafile-docker limitation. You do not need to install Hyper-V, it is included in Windows 10 and docker uses it in the background (you do not even notice you have Hyper-V running).

Sorry, I was looking for replies from adults, not someone pushing a platform I’ve already noted I don’t feel I’m in a position to support well.

Hi Lonsarg, unfortunately SLAT is unsupported on my hardware, appreciate the response though. I’m curious whether anyone is actually running the Docker version under Windows 10 on hardware that doesn’t have SLAT support since if I know it is possible I can then have a crack at trying to get it going myself - and I’m happy to do a write up for others on how to do so in that case :slight_smile:

Hi Daniel, is there any ETA for an update of the non-Docker Windows community edition version?

I assume no security updates = lower priority.

Cheers,
Mark

2 Likes

I’m sorry we don’t have estimated time for the update of Windows community edition yet.

I’d rather like to see properly prepaired and ready to deploy setup docker containers with auto upgrade functionality. Windows versions support can be dropped entirely but Docker run under Windows without issue.

2 Likes

100% agree to that. the explicit windows version is generaly timekiller to support. much of the problems with win version would not appear with linux systems.

a fully supported docker version (pro and ce edition) would be helpfull in many situations.