Working Docker Image for Arm64?

I have searched through the Seafile containers on Docker. There does not appear to be any working image for Arm64. There also seems to be one from “Seafile LTD”, but it does not look official. That is, because there are no instructions or details about running it as a container image.

Does anyone know if a working ARM64 image exists?

There is not even offical arm64 support, neither are there arm64 releases.

Hi there,

We run a seafile server on a rock64 sbc (ARM64). Being a huge fan of Docker, I have set up several dockerfiles/images to

  1. Compile and build seafile
  2. Run the self-compiled seafile server w/ seahub
  3. Run an nginx reverse proxy
  4. Run a MySQL instance

If you’re interested, I can provide you with the steps needed. It runs like a charm since more than 2 years.
Other than that, I don’t know of any similar projects, nor is there official support.

I would be very grateful if you would share your dockerfiles with us

Sure :wink:
I’ve outlined everything in my GitHub Repo.

You’re very welcome to provide feedback and/or issue reports and share youre experience.

Thank you very much, it works perfect on my RockPro64.

Unfortunately it doesn’t work on my NanoPI M4, the build always fails.

Also i tried to use the compiled package outside of the docker container (build/src), but it doesn’t work too.

After is started i got ** Message: seafile-controller.c(718): No seafevents.
and after

/usr/bin/python2.7: can't find '__main__' module in '/root/seafile/seafile-server/seahub/thirdpart/gunicorn'
Error:Seahub failed to start.

Edit: I use Ubuntu 18.04 on my Rockpro and Debian 9 on my NanoPI, maybe thats the reason?

Edit 2: I have figured out how to run the compiled version.

  1. execute this line in seafile root folder
    sed -i "s|thirdpart/gunicorn|thirdpart/gunicorn/app/|" seafile-server/
  2. change the IP in gunicorn.conf, it is default to localhost

Edit 3: one further question, how can i compile Seafile 6.3.4, i have changed SERVER_VERSION in docker-compose.yml to 6.3.4, but i still got Seafile 7 after build

Thanks for testing it out.

To run the self-compiled version (inside build/src), one needs to execute similar steps as in seafile/init/ (Change gunicorn.conf and fix bug in as you described it). You seem to have figured that out already, just wanted to state it. It’s not the intended use case, however.

This is expected.

Unfortunately I couldn’t reproduce this. Nevertheless, after a quick web search, I’ve patched the mysql Dockerfile (9ae0bb03), please pull the latest commit from master branch and try it again. I hope that fixes it.

After changing SERVER_VERSION to 6.3.4, you might need to remove the old seafile-server folder from both build/src and seafile/haiwen. Just delete the parent folders, they will get recreated on the next build/next execution of make 1.

rm -r build/src
rm -r seafile/haiwen

Good luck & have fun :wink:

all right, i will try it tomorrow again.
Thank you very much.

I have tried it again and it don’t work now at my debian system too.
I have installed debian on my NanoPI and now the compiled version works

rm -r build/src or rm -r seafile/haiwen has broken my seafile docker setup so i can’t build a new one.
I have cloned the repo again and revert your latest commit and then it works again
Unfortunately i don’t note the error

Edit: The docker container don’t start anymore on my NanoPIM4, i will test it tomorrow with the RockPro64
I have already add python-imaging to the Seafile Dockerfile, but he is still complaining about it