### Install MariaDB and Create Databases Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Installs the MariaDB server, starts the service, sets the root password, and creates the necessary databases for Seafile. ```bash apt-get install -y mariadb-server service mariadb start mysqladmin -u root password your_password ``` ```sql mysql -uroot -pyour_password -e "CREATE DATABASE ccnet CHARACTER SET utf8;" mysql -uroot -pyour_password -e "CREATE DATABASE seafile CHARACTER SET utf8;" mysql -uroot -pyour_password -e "CREATE DATABASE seahub CHARACTER SET utf8;" ``` -------------------------------- ### Install boto3 for S3 Setup Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_with_s3.md Install the boto3 library, which is required for binary package deployments of Seafile when using S3 storage. ```sh sudo pip install boto3 ``` -------------------------------- ### Example Log Output During Initialization Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/helm_chart_cluster.md This log output shows the typical progress of the Seafile cluster backend initialization after the Helm chart is installed. It includes steps like creating data links, starting services, and configuring the database. ```log Defaulted container "seafile-backend" out of: seafile-backend, set-ownership (init) *** Running /etc/my_init.d/01_create_data_links.sh... *** Booting runit daemon... *** Runit started as PID 15 *** Running /scripts/enterpoint.sh... 2025-02-13 08:58:35 Nginx ready 2025-02-13 08:58:35 This is an idle script (infinite loop) to keep container running. --------------------------------- Seafile cluster backend mode --------------------------------- [2025-02-13 08:58:35] Now running setup-seafile-mysql.py in auto mode. Checking python on this machine ... verifying password of user root ... done --------------------------------- This is your configuration --------------------------------- server name: seafile server ip/domain: 10.0.0.138 seafile data dir: /opt/seafile/seafile-data fileserver port: 8082 database: create new ccnet database: ccnet_db seafile database: seafile_db seahub database: seahub_db database user: seafile Generating seafile configuration ... done Generating seahub configuration ... ---------------------------------------- Now creating seafevents database tables ... ---------------------------------------- ---------------------------------------- Now creating ccnet database tables ... ---------------------------------------- ---------------------------------------- Now creating seafile database tables ... ---------------------------------------- ---------------------------------------- Now creating seahub database tables ... ---------------------------------------- ----------------------------------------------------------------- Your seafile server configuration has been finished successfully. ``` -------------------------------- ### Start Seafile Server (Binary Package) Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade.md Start the Seafile server after the upgrade scripts have been executed. Use the appropriate start command for seahub based on your deployment (e.g., direct start or fastcgi). ```shell cd seafile/seafile-server-latest/ ./seafile.sh start ./seahub.sh start # or "./seahub.sh start-fastcgi" if you're using fastcgi # or via service /etc/init.d/seafile-server start ``` -------------------------------- ### Build and Install libsearpc Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/linux.md Builds and installs the libsearpc library. This involves running autogen.sh, configure, make, and sudo make install. ```bash cd libsearpc ./autogen.sh ./configure --prefix=$PREFIX make sudo make install cd .. ``` -------------------------------- ### Install Redis Dependencies Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_13.0.x.md Install Redis server and its development libraries, activate the virtual environment, and install Python Redis and Django Redis packages. Finally, enable and start the Redis server. ```sh apt-get install -y redis-server libhiredis-dev # activate the venv source python-venv/bin/activate pip3 install redis django-redis systemctl enable --now redis-server ``` -------------------------------- ### Start seaf-fuse (Binary Deployment) Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/fuse.md Use the seaf-fuse.sh script to start the FUSE filesystem, mounting Seafile files to the specified directory. Ensure the Seafile server has already been started. ```bash ./seaf-fuse.sh start /data/seafile-fuse ``` -------------------------------- ### Build and Install Seafile Client Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/linux.md Builds and installs the Seafile client using CMake. Specifies the build type and installation prefix. ```bash cd seafile-client cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX . make sudo make install cd .. ``` -------------------------------- ### Install Memcached Dependencies Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_13.0.x.md Install Memcached server and its development libraries, activate the virtual environment, and install Python Memcached and Django Memcached packages. Finally, enable and start the Memcached server. ```sh apt-get install memcached libmemcached-dev -y # activate the venv source python-venv/bin/activate pip3 install pylibmc django-pylibmc systemctl enable --now memcached ``` -------------------------------- ### Install Node.js 20 Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Installs Node.js version 20 by adding the NodeSource repository and then installing the nodejs package. ```bash curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - apt-get install -y nodejs ``` -------------------------------- ### Install MkDocs Tooling Source: https://github.com/haiwen/seafile-admin-docs/blob/master/README.md Install the necessary Python packages for building and serving MkDocs documentation. Ensure you have Python 3 and pip installed. ```bash pip3 install mkdocs-material mkdocs-awesome-pages-plugin mkdocs-material-extensions ``` -------------------------------- ### Start Seafile Server (Binary Package) Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/migrate_backends_data.md Start the Seafile and Seahub services from the Seafile server's latest directory after replacing the configuration file. ```sh # make sure you are in the directory `/opt/seafile/seafile-server-latest` ./seahub.sh start ./seafile.sh start ``` -------------------------------- ### Start and Enable Nginx Service Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/https_with_nginx.md Start the Nginx service immediately and configure it to launch automatically at system boot. ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` -------------------------------- ### Start Seafile Backend Server Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/cluster_deployment.md Start the Seafile server in backend mode on backend nodes. ```bash export CLUSTER_MODE=backend cd /opt/seafile/seafile-server-latest su seafile ./seafile.sh start ./seafile-background-tasks.sh start ``` -------------------------------- ### Run Seafile MySQL Setup Script Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Navigate to the Seafile Pro server directory and execute the setup script for MySQL database configuration. ```shell cd seafile-pro-server-13.0.10 ./setup-seafile-mysql.sh ``` -------------------------------- ### Install Nginx Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/https_with_nginx.md Install Nginx using the system's package manager. The -y flag automatically confirms the installation. ```bash sudo apt install nginx -y ``` -------------------------------- ### Build and Install Seafile Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/linux.md Builds and installs the Seafile server component. Includes options to enable or disable the notification server. ```bash cd seafile ./autogen.sh ./configure --prefix=$PREFIX --enable-ws=yes make sudo make install cd .. ``` -------------------------------- ### Install HAProxy and Keepalived Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/cluster_deploy_with_docker.md Installs HAProxy and Keepalived packages. Ensure to back up the original haproxy.cfg before proceeding. ```bash $ apt install haproxy keepalived -y $ mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak $ cat > /etc/haproxy/haproxy.cfg << 'EOF' global log 127.0.0.1 local1 notice maxconn 4096 user haproxy group haproxy defaults log global mode http retries 3 timeout connect 10000 timeout client 300000 timeout server 36000000 listen seafile 0.0.0.0:80 mode http option httplog option dontlognull option forwardfor cookie SERVERID insert indirect nocache server seafile01 Front-End01-IP:8001 check port 11001 cookie seafile01 server seafile02 Front-End02-IP:8001 check port 11001 cookie seafile02 EOF ``` -------------------------------- ### Configure `.env` for Existing MySQL Connection Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_with_an_existing_mysql_server.md Update the `.env` file with your existing MySQL server's host, port, root password (for initial setup), and the Seafile user's credentials. The `INIT_SEAFILE_MYSQL_ROOT_PASSWORD` is only required for the first-time installation. ```env SEAFILE_MYSQL_DB_HOST=192.168.0.2 SEAFILE_MYSQL_DB_PORT=3306 INIT_SEAFILE_MYSQL_ROOT_PASSWORD=ROOT_PASSWORD SEAFILE_MYSQL_DB_USER=seafile # the user name of the user you like to use for Seafile server SEAFILE_MYSQL_DB_PASSWORD=PASSWORD # the password of the user you like to use for Seafile server ``` -------------------------------- ### Install dnsutils for SAML Prerequisites Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_11.0.x.md For Ubuntu 20.04/22.04, install the 'dnsutils' package to meet new SAML prerequisites. ```bash sudo apt-get update sudo apt-get install -y dnsutils ``` -------------------------------- ### Install Redis Server and Development Libraries Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Installs the Redis server and its development headers on Ubuntu systems. This is a prerequisite for Seafile's caching. ```sh sudo apt-get update sudo apt-get install -y redis-server libhiredis-dev ``` -------------------------------- ### Install Redis and Libraries (Debian/Ubuntu) Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Install Redis server and its development libraries on Debian/Ubuntu systems. Activate the Python virtual environment and install necessary Python packages. ```sh # on Debian/Ubuntu 18.04+ apt-get install -y redis-server libhiredis-dev # activate the venv source python-venv/bin/activate pip3 install redis django-redis systemctl enable --now redis-server ``` -------------------------------- ### Start Seafile Server with Custom Environment File Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_ce_by_docker.md If your .env file is located elsewhere, specify its path using the --env-file flag to start the Seafile server. ```bash docker compose --env-file /path/to/.env up -d ``` -------------------------------- ### Install Nginx Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/cluster_deploy_with_docker.md Install Nginx on the host machine if you plan to use it as a load balancer for the Seafile cluster. ```bash sudo apt update sudo apt install nginx ``` -------------------------------- ### Install ClamAV Daemon and Freshclam Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/virus_scan_with_clamav.md Install the necessary ClamAV packages for binary-based deployments using apt-get. ```sh apt-get install clamav-daemon clamav-freshclam ``` -------------------------------- ### Install System Libraries for Debian Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_12.0.x.md Installs necessary system libraries for Seafile upgrade on Debian 11. ```sh apt-get install -y libsasl2-dev ``` -------------------------------- ### Start Seafile and Seahub Servers Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_12.0.x.md Execute these commands in the Seafile 12.0.x directory to start the seaf-server and seahub services. ```sh ./seafile.sh start # starts seaf-server ./seahub.sh start # starts seahub ``` -------------------------------- ### Install System Libraries for Ubuntu Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_12.0.x.md Installs necessary system libraries for Seafile upgrade on Ubuntu 24.04/22.04. ```sh apt-get install -y default-libmysqlclient-dev build-essential pkg-config libmemcached-dev ``` -------------------------------- ### Compile and Install seaf-server Dependencies Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Compiles and installs libevhtp, libsearpc, and the seafile-server components, ensuring shared libraries are updated. ```bash cd ../libevhtp cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF . make make install ldconfig cd ../libsearpc ./autogen.sh ./configure make make install ldconfig cd ../seafile-server ./autogen.sh ./configure --disable-fuse make make install ldconfig ``` -------------------------------- ### Install xmlsec1 Package Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/config/saml2.md Install the xmlsec1 package and dnsutils for multi-tenancy on binary deployments. This is not required for Docker deployments. ```bash $ apt update $ apt install xmlsec1 $ apt install dnsutils # For multi-tenancy feature ``` -------------------------------- ### Install Seafile Pro Helm Chart Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/helm_chart_single_node.md Installs the Seafile Pro Helm chart using the specified values file. Ensure the Helm repository is added first. ```sh helm repo add seafile https://haiwen.github.io/seafile-helm-chart/repo helm upgrade --install seafile seafile/pro --version 13.0 --namespace seafile --create-namespace --values my-values.yaml ``` -------------------------------- ### Start Seafile Server on Frontend Node Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_a_cluster_binary.md Start Seafile and Seahub services on a frontend node after the upgrade is complete. ```sh cd /opt/seafile/seafile-server-latest su seafile ./seafile.sh start ./seahub.sh start ``` -------------------------------- ### Start Seafile Server on Backend Node Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_a_cluster_binary.md Start Seafile and background tasks services on a backend node after the upgrade is complete. ```sh cd /opt/seafile/seafile-server-latest su seafile ./seafile.sh start ./seafile-background-tasks.sh start ``` -------------------------------- ### Install System Libraries on Debian 12/13 Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_13.0.x.md Installs required system libraries for Seafile 13.0 on Debian. Execute these commands as root. ```sh apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmariadb-dev-compat ldap-utils libldap2-dev libsasl2-dev pkg-config python3.13-venv ``` -------------------------------- ### Install Seafile Requirements on Ubuntu Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/config/config_seafile_with_ADFS.md Install the xmlsec1 utility and the cryptography and djangosaml2 Python libraries required for ADFS integration on Ubuntu. ```bash sudo apt install xmlsec1 sudo pip install cryptography djangosaml2==0.15.0 ``` -------------------------------- ### Serve MkDocs Locally Source: https://github.com/haiwen/seafile-admin-docs/blob/master/README.md Start the MkDocs development server to view the documentation locally. Access the documentation at the specified URL. ```bash mkdocs serve ``` -------------------------------- ### Install Seafile CE Helm Chart Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/helm_chart_single_node.md Installs the Seafile CE Helm chart using the specified values file. Ensure the Helm repository is added first. ```sh helm repo add seafile https://haiwen.github.io/seafile-helm-chart/repo helm upgrade --install seafile seafile/ce --version 13.0 --namespace seafile --create-namespace --values my-values.yaml ``` -------------------------------- ### Prepare Index Server Directories Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/distributed_indexing.md Create necessary directories on index server nodes for configuration files. ```bash mkdir -p /opt/seafile-data/seafile/conf mkdir -p /opt/seafile ``` -------------------------------- ### Run Initial Data Migration (Binary Package) Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/migrate_backends_data.md Execute the `migrate.sh` script from the Seafile server's latest directory to migrate data to the specified path. ```sh # make sure you are in the directory `/opt/seafile/seafile-server-latest` ./migrate.sh /opt ``` -------------------------------- ### ClamAV Virus Scan Configuration Example Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/virus_scan.md Example configuration for Seafile's virus scan using ClamAV. Ensure ClamAV is installed and configured on your server. ```ini [virus_scan] scan_command = clamscan virus_code = 1 nonvirus_code = 0 ``` -------------------------------- ### Seafile Frontend Node Success Log Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/cluster_deploy_with_docker.md Example log output indicating that the Seafile frontend node has started successfully. This message confirms that Nginx, Seafile server, and Seahub are running. ```logs *** Running /etc/my_init.d/01_create_data_links.sh... *** Booting runit daemon... *** Runit started as PID 20 *** Running /scripts/enterpoint.sh... 2024-11-21 03:02:35 Nginx ready 2024-11-21 03:02:35 This is an idle script (infinite loop) to keep container running. --------------------------------- Seafile cluster frontend mode --------------------------------- Starting seafile server, please wait ... Seafile server started Done. Starting seahub at port 8000 ... Seahub is started Done. ``` -------------------------------- ### Start Seafile Server Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Initiate the Seafile server process. Specify the configuration directory, data directory, and log file path. ```bash seaf-server -F /root/dev/conf -d /root/dev/seafile-data -l /root/dev/logs/seafile.log >> /root/dev/logs/seafile.log 2>&1 & ``` -------------------------------- ### OAuth Attribute Mapping for 11.0+ Fresh Install Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/config/oauth.md For new Seafile instances deployed with version 11.0 or later, configure the 'uid' mapping directly. The 'id' to 'email' mapping is no longer required for initial setup. ```python OAUTH_ATTRIBUTE_MAP = { "uid": (True, "uid") , "name": (False, "name"), "email": (False, "contact_email"), } ``` -------------------------------- ### Run Frontend Development Server Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Start the frontend development server using npm. This command compiles and serves the frontend assets for development purposes. ```bash cd /root/dev/source-code/seahub/frontend npm run dev ``` -------------------------------- ### Install Python Libraries for Seafile 13.0 on Ubuntu/Debian Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/upgrade/upgrade_notes_for_13.0.x.md Installs essential Python libraries for Seafile 13.0. It is recommended to install these system-wide using root or sudo. The command includes a timeout for potentially long installations. ```sh pip3 install --timeout=3600 boto3 oss2 twilio configparser pytz \ sqlalchemy==2.0.* pymysql==1.1.* jinja2 django-pylibmc pylibmc redis django-redis psd-tools lxml \ django==5.2.* cffi==1.17.1 future==1.0.* mysqlclient==2.2.* captcha==0.7.* django_simple_captcha==0.6.* \ pyjwt==2.10.* djangosaml2==1.11.* pysaml2==7.5.* pycryptodome==3.23.* python-ldap==3.4.* pillow==11.3.* pillow-heif==1.0.* cairosvg==2.8.* scikit-learn==1.7.* ``` -------------------------------- ### SeaDrive Silent Installation Command Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/config/auto_login_seadrive.md Install SeaDrive silently using msiexec. This command requires administrator privileges and logs the installation process. ```bash msiexec /i seadrive.msi /quiet /qn /log install.log ``` -------------------------------- ### Build libsearpc Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/osx.md Build the libsearpc library. Ensure you are in the correct directory and have run autogen.sh and configure. ```bash cd seafile-workspace/libsearpc/ ./autogen.sh ./configure --disable-compile-demo --enable-compile-universal=yes make make install ``` -------------------------------- ### Create Seafile Configuration Files Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/server.md Create the necessary configuration files for Seafile, ccnet, and Seahub. Ensure the database details and server URLs are correctly set. ```bash cd ~/dev/conf cat > ccnet.conf < seafile.conf < seafevents.conf < seahub_settings.py < S3_SECRET_KEY= S3_USE_V4_SIGNATURE=true S3_PATH_STYLE_REQUEST=false S3_AWS_REGION=us-east-1 S3_HOST= S3_USE_HTTPS=true S3_SSE_C_KEY= ``` -------------------------------- ### Install Python and Seafile Dependencies on Debian 12 Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Installs Python 3 and essential libraries for Seafile on Debian 12. It also sets up a Python virtual environment and activates it. Note that system-wide pip installations are discouraged. ```sh sudo apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmariadb-dev-compat libmemcached-dev ldap-utils libldap2-dev libsasl2-dev pkg-config python3.11-venv mkdir /opt/seafile cd /opt/seafile # create the vitual environment in the python-venv directory python3 -m venv python-venv # activate the venv source python-venv/bin/activate ``` -------------------------------- ### Start ClamAV Daemon Service Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/virus_scan_with_clamav.md Start the ClamAV daemon service using systemctl for binary-based deployments. ```sh systemctl start clamav-daemon ``` -------------------------------- ### Configure First LDAP Server in Multi-LDAP Setup Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/config/ldap_in_pro.md Configure the first LDAP server using `MULTI_LDAP_1_` prefixed options. This includes server URL, base DN, admin credentials, provider, and login attribute. ```python # Basic config options ENABLE_LDAP = True ...... # Multi ldap config options ENABLE_MULTI_LDAP = True MULTI_LDAP_1_SERVER_URL = 'ldap://192.168.0.2' MULTI_LDAP_1_BASE_DN = 'ou=test,dc=seafile,dc=top' MULTI_LDAP_1_ADMIN_DN = 'administrator@example.top' MULTI_LDAP_1_ADMIN_PASSWORD = 'Hello@123' MULTI_LDAP_1_PROVIDER = 'ldap1' MULTI_LDAP_1_LOGIN_ATTR = 'userPrincipalName' ``` -------------------------------- ### Start Index Master Node Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/distributed_indexing.md Start the index server master node using Docker Compose. ```bash docker compose up -d ``` -------------------------------- ### Seafile Initialization Log Output Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_pro_by_docker.md This is an example of the log output observed during the Seafile server initialization process. It shows configuration details and progress messages. ```text --------------------------------- This is your configuration --------------------------------- server name: seafile server ip/domain: seafile.example.com seafile data dir: /opt/seafile/seafile-data fileserver port: 8082 database: create new ccnet database: ccnet_db seafile database: seafile_db seahub database: seahub_db database user: seafile Generating seafile configuration ... done Generating seahub configuration ... ---------------------------------------- Now creating seafevents database tables ... ---------------------------------------- ---------------------------------------- Now creating ccnet database tables ... ---------------------------------------- ---------------------------------------- Now creating seafile database tables ... ---------------------------------------- ---------------------------------------- Now creating seahub database tables ... ---------------------------------------- creating seafile-server-latest symbolic link ... done ----------------------------------------------------------------- Your seafile server configuration has been finished successfully. ----------------------------------------------------------------- ``` -------------------------------- ### Download Seafile Configuration Files Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/cluster_deploy_with_docker.md Download the necessary configuration files, `.env` and `seafile-server.yml`, for setting up the Seafile cluster. These files contain essential parameters for the deployment. ```sh wget -O .env https://manual.seafile.com/13.0/repo/docker/cluster/env wget https://manual.seafile.com/13.0/repo/docker/cluster/seafile-server.yml ``` -------------------------------- ### Download Index Server Configuration Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/distributed_indexing.md Download the `.env` and `index-server.yml` files to the `/opt/seafile` directory on all index server nodes. ```bash cd /opt/seafile wget https://manual.seafile.com/13.0/repo/docker/index-server/index-server.yml wget -O .env https://manual.seafile.com/13.0/repo/docker/index-server/env ``` -------------------------------- ### Download Thumbnail Server Configuration Files Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/thumbnail-server.md Use wget to download the necessary configuration files for the thumbnail server. Ensure you are in the desired thumbnail server directory before executing these commands. ```sh wget https://manual.seafile.com/13.0/repo/docker/thumbnail-server/thumbnail-server.yml wget -O .env https://manual.seafile.com/13.0/repo/docker/thumbnail-server/env ``` -------------------------------- ### Install Python and Seafile Dependencies on Debian 13 Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Installs Python 3 and essential libraries for Seafile on Debian 13. It also sets up a Python virtual environment and installs Seafile's Python dependencies using pip. ```sh sudo apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmariadb-dev-compat libmemcached-dev ldap-utils libldap2-dev libsasl2-dev pkg-config python3.13-venv mkdir /opt/seafile cd /opt/seafile # create the vitual environment in the python-venv directory python3 -m venv python-venv # activate the venv source python-venv/bin/activate # Notice that this will usually change your prompt so you know the venv is active # install packages into the active venv with pip (sudo isn't needed because this is installing in the venv, not system-wide). pip3 install --timeout=3600 boto3 oss2 twilio configparser pytz \ sqlalchemy==2.0.* pymysql==1.1.* jinja2 django-pylibmc pylibmc psd-tools lxml \ django==5.2.* cffi==1.17.1 future==1.0.* mysqlclient==2.2.* captcha==0.7.* django_simple_captcha==0.6.* \ pyjwt==2.10.* djangosaml2==1.11.* pysaml2==7.5.* pycryptodome==3.23.* python-ldap==3.4.* pillow==11.3.* pillow-heif==1.0.* cairosvg==2.8.* scikit-learn==1.7.* ``` -------------------------------- ### Install Python and Seafile Dependencies on Ubuntu 24.04 Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup_binary/installation.md Installs Python 3 and essential libraries for Seafile on Ubuntu 24.04. It also sets up a Python virtual environment and installs Seafile's Python dependencies using pip. ```sh sudo apt-get install -y python3 python3-dev python3-setuptools python3-pip python3-ldap python3-rados libmysqlclient-dev libmemcached-dev ldap-utils libldap2-dev python3.12-venv default-libmysqlclient-dev build-essential pkg-config mkdir /opt/seafile cd /opt/seafile # create the vitual environment in the python-venv directory python3 -m venv python-venv # activate the venv source python-venv/bin/activate # Notice that this will usually change your prompt so you know the venv is active # install packages into the active venv with pip (sudo isn't needed because this is installing in the venv, not system-wide). pip3 install --timeout=3600 boto3 oss2 twilio configparser pytz \ sqlalchemy==2.0.* pymysql==1.1.* jinja2 django-pylibmc pylibmc psd-tools lxml \ django==5.2.* cffi==1.17.1 future==1.0.* mysqlclient==2.2.* captcha==0.7.* django_simple_captcha==0.6.* \ pyjwt==2.10.* djangosaml2==1.11.* pysaml2==7.5.* pycryptodome==3.23.* python-ldap==3.4.* pillow==11.3.* pillow-heif==1.0.* cairosvg==2.8.* scikit-learn==1.7.* ``` -------------------------------- ### Build seafile Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/osx.md Build the seafile component. Navigate to the seafile directory and execute the build commands. ```bash cd seafile-workspace/seafile/ ./autogen.sh ./configure --disable-fuse --enable-compile-universal=yes make make install ``` -------------------------------- ### Build libsearpc Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/windows.md Builds the libsearpc component. Ensure you are in the 'x64 Native Tools Command Prompt for VS 2019'. ```bash $cd seafile-workspace/libsearpc/ $devenv libsearpc.sln /build "Debug|x64" ``` -------------------------------- ### Download and Configure Seafile Docker Environment Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_ce_by_docker.md Use these commands to create a directory, download the necessary configuration files for Seafile CE with Docker, and open the `.env` file for modification. ```bash mkdir /opt/seafile cd /opt/seafile wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml wget https://manual.seafile.com/13.0/repo/docker/caddy.yml nano .env ``` -------------------------------- ### Create Storage Classes Configuration File Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/setup_with_multiple_storage_backends.md Create the configuration file for storage classes using nano. The actual content of this file is detailed in the 'Example of Storage Classes File' section. ```sh nano /opt/seafile-data/seafile/conf ``` -------------------------------- ### Start Seafile Cluster Services Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/setup/cluster_deploy_with_docker.md Enables and starts the HAProxy and Keepalived services on both Seafile frontend servers to activate the cluster. ```bash $ systemctl enable --now haproxy $ systemctl enable --now keepalived ``` -------------------------------- ### Install Seafile Build Dependencies on Ubuntu Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/develop/linux.md Installs all required packages for building Seafile on Ubuntu 24.04 using apt-get. ```bash sudo apt-get install build-essential autotools-dev libtool libevent-dev libcurl4-openssl-dev libgtk2.0-dev uuid-dev intltool libsqlite3-dev valac git libjansson-dev cmake libwebsockets-dev qtchooser qtbase5-dev libqt5webkit5-dev qttools5-dev qttools5-dev-tools libssl-dev libargon2-dev libglib2.0-dev qtwebengine5-dev qtwayland5 ``` -------------------------------- ### Create Index Master Configuration Source: https://github.com/haiwen/seafile-admin-docs/blob/master/manual/extension/distributed_indexing.md Create the `index-master.conf` file in the `conf` directory on the master node. ```conf [DEFAULT] interval=600 ```