Seafile Server PE installation newbie questions

Trying to install Seafile for a customer on their request. I have no previous knowledge of Seafile. I am trying to follow these instructions on a fresh Ubuntu 22.04 installation:

pro-edition deploy_seafile_pro_with_docker (I can’t post direct links to the page)

  1. " Downloading and Modifying docker-compose.yml"

It suggests I should download the right compose file based on which Seafile version I have. I pulled the “seafile-pro-mc:latest”, so is “Seafile PE 10.0” the right compose file?

I googled how to check your Seafile version, but the instructions referred to checking it from the running Seafile server web page, which I don’t have yet as I am still configuring it. I saw the latest server version is apparently 11, but the instructions don’t list a separate compose file for it.

  1. I’ve enabled https and Let’s Encrypt in the compose file:
      - "80:80"
      - "443:443"  # If https is enabled, cancel the comment.

      - SEAFILE_SERVER_LETSENCRYPT=true   # Whether to use https or not

Then sudo docker compose restart. If I have set those and try to access the service with a web browser, it gives an “Unable to connect” error. In the hw firewall, 80/443 (http and https services) are both allowed.

If I comment out and set to “false” those https/letsencypt options, I can access the service with the web browser, getting the http connection to a login screen. So that is at least something.

  1. Reviewing the Deployment
# tree /opt/seafile-data -L 2

├── logs
│   └── var-log
├── nginx
│   └── conf
├── seafile
│   ├── ccnet
│   ├── conf
│   ├── logs
│   ├── pro-data
│   ├── seafile-data
│   └── seahub-data
└── ssl
    ├── ca
    ├── http.header

I seem to be missing at least “account.conf” and .crt and .key which are shown in the example. Why is that?

└── ssl
    ├── account.conf
    ├── ca
    ├── http.header
  1. Activating the Seafile License

I received the seafile-license.txt file from the customer, and copied it under /opt/seafile-data/ as per the instructions. However if I run sudo docker compose restart, I see in /opt/seafile-data/seafile/logs/seafile.log the following:
“License file /opt/seafile/seafile-license.txt does not exist, allow at most 3 trial users”
That suggests that is should be under seafile/ and not seafile-data/, but moving the file there does not change it, the same error comes upon restart.
I gave the file chmod 644 and also ran dos2unix for it, just in case the file is deemed unreadable, but that didn’t help. How can I check whether the license file is valid?
Its format is as below, I’ve written “xxxx” over private information:

#Seafile server licence

Name = “xxxx #xxxx
Licencetype = “User”
LicenceKEY = “xxxx”
ProductID = “Seafile server”
Expiration = “2024-09-13”
MaxUsers = “9”
Mode = “subscription”

Hash = “xxx”

Hash2 = “xxx”

Hi Timppu,

Is the docker option a choice or a preference?

I am only saying this because it is a lot easier (in my opinion) to setup and configure using the Github script.

(Use wget to download the file, then ‘bash’ filename)

With this, you would just need to download the PE version through the customer portal ( which would look like:
“wget “” -O seafile-pro-server_11.0.4_x86-64.tar.gz"

Put the download in the /opt folder, and then Bash the script and go through the steps.

I then run docker containers separately for the different additional components like ElasticSearch and LibreOffice Online.

Please let me know if you have any other questions!

Kind regards,

Hi Mitch,

Docker was just an uneducated guess which might be the most straightforward and foolproof installation option, but maybe I was mistaken then. EDIT: Oh yeah, and on the admin manual they suggest the docker installation is the recommended way of installing it, which was really the reason I went with those instructions.

I might try another option if it is easier to set up. Frankly, this is kind of a problematic assignment as the customer hasn’t given any other information so far other than that they need a Seafile server on a Linux server (I even chose which Linux distro and version to use), and provided the license key file. I am mainly a Linux server admin guy, but I haven’t worked with seafile before.

I have no idea if they want to run it with Apache or NGinx and mysql or sqllite and if they want to use elasticsearch or not… I just hope to get it into some kind of running state at first, and maybe then they are able to tell if it fits their needs or not, or if they need something more.

(They used to have a seafile server before provided by somebody else who had set it up, but unfortunately I didn’t get any specs or configurations from that old seafile server, it is already gone.)

Either way, I’ll also try your suggestion, in case it is easier to set up. Thanks for the suggestion.

By the way, does that installation script support also Ubuntu 22.04? It mentions only 18.04 and 20.04.

I have mine running on 22.04 LTS Server CLI.

If you need any further help with it, please feel free to email me on

EDIT: I only chose this setup because there was issues with running it in a docker container.

I only chose to run the docker containers on the LibreOffice Online due to an easier setup, and a lot more support with that online as well.

I hope this helps!

Thanks for your feedback.

  1. As of now, the latest version is seafile-pro-mc:10.0.13. Version 11.0 has not been officially released yet.
  2. When you set SEAFILE_SERVER_LETSENCRYPT=true and the Seafile starts, you can view Let’s Encrypt’s logs by running the following command
docker compose logs -f

You can submit the logs to us for troubleshooting.

  1. The correct restart command is as follows, we will fix it in the manual
docker compose down

docker compose up -d