diff --git a/manual/maintain/README.md b/manual/administration/README.md similarity index 100% rename from manual/maintain/README.md rename to manual/administration/README.md diff --git a/manual/maintain/account.md b/manual/administration/account.md similarity index 92% rename from manual/maintain/account.md rename to manual/administration/account.md index 1b22111e..854503c7 100644 --- a/manual/maintain/account.md +++ b/manual/administration/account.md @@ -16,7 +16,7 @@ For version below 11.0, if you really want to change a user's ID, you should cre Administrator can reset password for a user in "System Admin" page. -In a private server, the default settings doesn't support users to reset their password by email. If you want to enable this, you have first to [set up notification email](../config/sending_email.md). +In a private server, the default settings doesn't support users to reset their password by email. If you want to enable this, you have first to [set up notification email](../config/seafile_config/sending_email.md). #### Forgot Admin Account or Password? @@ -25,4 +25,4 @@ Your data will not be deleted from the admin account, this only unlocks and chan #### User Quota Notice -Under the seafile-server-latest directory, run `./seahub.sh python-env python seahub/manage.py check_user_quota` , when the user quota exceeds 90%, an email will be sent. If you want to enable this, you have first to [set up notification email](../config/sending_email.md). +Under the seafile-server-latest directory, run `./seahub.sh python-env python seahub/manage.py check_user_quota` , when the user quota exceeds 90%, an email will be sent. If you want to enable this, you have first to [set up notification email](../config/seafile_config/sending_email.md). diff --git a/manual/security/auditing.md b/manual/administration/auditing.md similarity index 100% rename from manual/security/auditing.md rename to manual/administration/auditing.md diff --git a/manual/maintain/backup_recovery.md b/manual/administration/backup_recovery.md similarity index 100% rename from manual/maintain/backup_recovery.md rename to manual/administration/backup_recovery.md diff --git a/manual/maintain/clean_database.md b/manual/administration/clean_database.md similarity index 100% rename from manual/maintain/clean_database.md rename to manual/administration/clean_database.md diff --git a/manual/maintain/export_report.md b/manual/administration/export_report.md similarity index 100% rename from manual/maintain/export_report.md rename to manual/administration/export_report.md diff --git a/manual/maintain/logs.md b/manual/administration/logs.md similarity index 100% rename from manual/maintain/logs.md rename to manual/administration/logs.md diff --git a/manual/maintain/seafile_fsck.md b/manual/administration/seafile_fsck.md similarity index 100% rename from manual/maintain/seafile_fsck.md rename to manual/administration/seafile_fsck.md diff --git a/manual/maintain/seafile_gc.md b/manual/administration/seafile_gc.md similarity index 100% rename from manual/maintain/seafile_gc.md rename to manual/administration/seafile_gc.md diff --git a/manual/security/security_features.md b/manual/administration/security_features.md similarity index 100% rename from manual/security/security_features.md rename to manual/administration/security_features.md diff --git a/manual/maintain/two_factor_authentication.md b/manual/administration/two_factor_authentication.md similarity index 100% rename from manual/maintain/two_factor_authentication.md rename to manual/administration/two_factor_authentication.md diff --git a/manual/changelog/changelog-for-seafile-professional-server-old.md b/manual/changelog/changelog-for-seafile-professional-server-old.md index 8599fb6a..48e728ed 100644 --- a/manual/changelog/changelog-for-seafile-professional-server-old.md +++ b/manual/changelog/changelog-for-seafile-professional-server-old.md @@ -53,7 +53,7 @@ LDAP improvements and fixes * Only import LDAP users to Seafile internal database upon login * Only list imported LDAP users in "organization->members" -* Add option to not import users via LDAP Sync (Only update information for already imported users). The option name is IMPORT_NEW_USER. See document +* Add option to not import users via LDAP Sync (Only update information for already imported users). The option name is IMPORT_NEW_USER. See document (url might deprecated) ### 4.4.3 (2015.10.20) @@ -292,7 +292,7 @@ Platform Pro only updates * Support syncing any sub-folder in the desktop client -* Add audit log, see . This feature is turned off by default. To turn it on, see +* Add audit log, see (url might deprecated). This feature is turned off by default. To turn it on, see (url might deprecated) * Syncing LDAP groups * Add permission setting for a sub-folder (beta) diff --git a/manual/changelog/changelog-for-seafile-professional-server.md b/manual/changelog/changelog-for-seafile-professional-server.md index 4973af94..d9cef56a 100644 --- a/manual/changelog/changelog-for-seafile-professional-server.md +++ b/manual/changelog/changelog-for-seafile-professional-server.md @@ -6,7 +6,7 @@ **Upgrade** -Please check our document for how to upgrade to 11.0: +Please check our document for how to upgrade to [11.0](../upgrade/upgrade_notes_for_11.0.x.md) ### 11.0.15 (2024-10-17) @@ -163,7 +163,7 @@ Other changes **Upgrade** -Please check our document for how to upgrade to 10.0: +Please check our document for how to upgrade to [10.0](../upgrade/upgrade_notes_for_10.0.x.md). ### 10.0.16 (2024-06-21) @@ -276,7 +276,7 @@ Note, after upgrading to this version, you need to upgrade the Python libraries **Upgrade** -Please check our document for how to upgrade to 9.0: +Please check our document for how to upgrade to [9.0](../upgrade/upgrade_notes_for_9.0.x.md). ### 9.0.16 (2023-03-22) @@ -448,7 +448,7 @@ Deprecated **Upgrade** -Please check our document for how to upgrade to 8.0: +Please check our document for how to upgrade to [8.0](../upgrade/upgrade_notes_for_8.0.x.md). ### 8.0.17 (2022/01/10) @@ -591,7 +591,7 @@ fs_id_list_request_timeout = 300 **Upgrade** -Please check our document for how to upgrade to 7.1: [upgrade notes for 7.1.x](../upgrade/upgrade_notes_for_7.1.x.md) +Please check our document for how to upgrade to [7.1](../upgrade/upgrade_notes_for_7.1.x.md). ### 7.1.22 (2021/07/29) @@ -781,7 +781,7 @@ fs_id_list_request_timeout = 300 Since seafile-pro 7.0.0, we have upgraded Elasticsearch to 5.6. As Elasticsearch 5.6 relies on the Java 8 environment and can't run with root, you need to run Seafile with a non-root user and upgrade the Java version. -Please check our document for how to upgrade to 7.0: [upgrade notes for 7.0.x](../upgrade/upgrade_notes_for_7.0.x.md) +Please check our document for how to upgrade to [7.0](../upgrade/upgrade_notes_for_7.0.x.md). ### 7.0.19 (2020/09/07) @@ -1536,7 +1536,7 @@ Other ### 6.0.6 (2017.01.11) * Guest invitation: Prevent the same address can be invited multiple times by the same inviter and by multiple inviters -* Guest invitation: Add an regex to prevent certain email addresses be invited (see [roles permissions](../deploy_pro/roles_permissions.md#more-about-guest-invitation-feature)) +* Guest invitation: Add an regex to prevent certain email addresses be invited (see [roles permissions](../config/authentication/advanced_user_management/roles_permissions.md#more-about-guest-invitation-feature)) * Office online: support co-authoring * Admin can set users' department and name when creating users * Show total number of files and storage in admin info page diff --git a/manual/changelog/server-changelog-old.md b/manual/changelog/server-changelog-old.md index 48e08b44..48de5736 100644 --- a/manual/changelog/server-changelog-old.md +++ b/manual/changelog/server-changelog-old.md @@ -4,7 +4,7 @@ **Note when upgrade to 5.0 from 4.4** -You can follow the document on major upgrade () +You can follow the document on major upgrade () (url might deprecated) In Seafile 5.0, we have moved all config files to folder `conf`, including: diff --git a/manual/changelog/server-changelog.md b/manual/changelog/server-changelog.md index b35aa8f1..cdcd2c2b 100644 --- a/manual/changelog/server-changelog.md +++ b/manual/changelog/server-changelog.md @@ -6,7 +6,7 @@ **Upgrade** -Please check our document for how to upgrade to 11.0: +Please check our document for how to upgrade to [11.0](../upgrade/upgrade_notes_for_11.0.x.md) ### 11.0.12 (2024-08-14) @@ -180,7 +180,7 @@ SDoc editor 0.2 **Upgrade** -Please check our document for how to upgrade to 10.0: +Please check our document for how to upgrade to [10.0](../upgrade/upgrade_notes_for_10.0.x.md). ### 10.0.1 (2023-04-11) @@ -326,7 +326,7 @@ use_go_fileserver = true ## 8.0 -Please check our document for how to upgrade to 8.0: +Please check our document for how to upgrade to [8.0](../upgrade/upgrade_notes_for_8.0.x.md). ### 8.0.8 (2021/12/06) @@ -409,7 +409,7 @@ Progresql support is dropped as we have rewritten the database access code to re **Upgrade** -Please check our document for how to upgrade to 7.1: +Please check our document for how to upgrade to [7.1](../upgrade/upgrade_notes_for_7.1.x.md). ### 7.1.5 (2020/09/22) diff --git a/manual/deploy_pro/admin_roles_permissions.md b/manual/config/authentication/advanced_user_management/admin_roles_permissions.md similarity index 100% rename from manual/deploy_pro/admin_roles_permissions.md rename to manual/config/authentication/advanced_user_management/admin_roles_permissions.md diff --git a/manual/deploy_pro/multi_institutions.md b/manual/config/authentication/advanced_user_management/multi_institutions.md similarity index 100% rename from manual/deploy_pro/multi_institutions.md rename to manual/config/authentication/advanced_user_management/multi_institutions.md diff --git a/manual/deploy_pro/multi_tenancy.md b/manual/config/authentication/advanced_user_management/multi_tenancy.md similarity index 100% rename from manual/deploy_pro/multi_tenancy.md rename to manual/config/authentication/advanced_user_management/multi_tenancy.md diff --git a/manual/deploy_pro/roles_permissions.md b/manual/config/authentication/advanced_user_management/roles_permissions.md similarity index 98% rename from manual/deploy_pro/roles_permissions.md rename to manual/config/authentication/advanced_user_management/roles_permissions.md index b2967f25..4b456e59 100644 --- a/manual/deploy_pro/roles_permissions.md +++ b/manual/config/authentication/advanced_user_management/roles_permissions.md @@ -6,7 +6,7 @@ You can add/edit roles and permission for users. A role is just a group of users `can_add_public_repo` is to set whether a role can create a public library, default is "False". **Note:**The `can_add_public_repo` option will not take effect if you configure global `CLOUD_MODE = True`. -The `storage_ids` permission is used for assigning storage backends to users with specific role. More details can be found in [multiple storage backends](multiple_storage_backends.md). +The `storage_ids` permission is used for assigning storage backends to users with specific role. More details can be found in [multiple storage backends](../../../setup/advanced_topics/storage_backends/multiple_storage_backends.md). Since version 10.0, `upload_rate_limit` and `download_rate_limit` are added to limit upload and download speed for users with different roles. **After configured the rate limit, run the following command in the `seafile-server-latest` directory to make the configuration take effect**: diff --git a/manual/deploy_pro/details_about_file_search.md b/manual/config/authentication/details_about_file_search.md similarity index 99% rename from manual/deploy_pro/details_about_file_search.md rename to manual/config/authentication/details_about_file_search.md index a4bbfa54..63a66ff3 100644 --- a/manual/deploy_pro/details_about_file_search.md +++ b/manual/config/authentication/details_about_file_search.md @@ -140,7 +140,7 @@ Restart the seafile service to make the above changes take effect: If you use a cluster to deploy Seafile, you can use distributed indexing to realize real-time indexing and improve indexing efficiency. The indexing process is as follows: -![](../images/distributed-indexing.png) +![](../../images/distributed-indexing.png) ### Install redis and modify configuration files diff --git a/manual/deploy/ldap_in_11.0.md b/manual/config/authentication/ldap/ce/ldap_in_11.0.md similarity index 99% rename from manual/deploy/ldap_in_11.0.md rename to manual/config/authentication/ldap/ce/ldap_in_11.0.md index ea14fc38..16bdf29c 100644 --- a/manual/deploy/ldap_in_11.0.md +++ b/manual/config/authentication/ldap/ce/ldap_in_11.0.md @@ -1,6 +1,6 @@ # Configure Seafile to use LDAP -Note: This documentation is for the Community Edition. If you're using Pro Edition, please refer to [the Seafile Pro documentation](../deploy_pro/ldap_in_11.0.md). +Note: This documentation is for the Community Edition. If you're using Pro Edition, please refer to [the Seafile Pro documentation](../pro/ldap_in_11.0.md). ## How does LDAP User Management work in Seafile diff --git a/manual/deploy_pro/ldap_in_11.0.md b/manual/config/authentication/ldap/pro/ldap_in_11.0.md similarity index 100% rename from manual/deploy_pro/ldap_in_11.0.md rename to manual/config/authentication/ldap/pro/ldap_in_11.0.md diff --git a/manual/deploy/ocm.md b/manual/config/authentication/ocm.md similarity index 87% rename from manual/deploy/ocm.md rename to manual/config/authentication/ocm.md index baeef2a5..8a87e430 100644 --- a/manual/deploy/ocm.md +++ b/manual/config/authentication/ocm.md @@ -51,12 +51,12 @@ OCM_REMOTE_SERVERS = [ ### Share library to other server In the library sharing dialog jump to "Share to other server", you can share this library to users of another server with "Read-Only" or "Read-Write" permission. You can also view shared records and cancel sharing. -![ocm-share-to-other-server](../images/ocm-share-to-other-server.png) +![ocm-share-to-other-server](../../images/ocm-share-to-other-server.png) ### View be shared libraries You can jump to "Shared from other servers" page to view the libraries shared by other servers and cancel the sharing. -![ocm-list-be-shared-libraries](../images/ocm-list-be-shared-libraries.png) +![ocm-list-be-shared-libraries](../../images/ocm-list-be-shared-libraries.png) And enter the library to view, download or upload files. -![ocm-view-download-upload-files-in-library](../images/ocm-view-download-upload-files-in-library.png) +![ocm-view-download-upload-files-in-library](../../images/ocm-view-download-upload-files-in-library.png) diff --git a/manual/deploy/auth_switch.md b/manual/config/authentication/sso/auth_switch.md similarity index 95% rename from manual/deploy/auth_switch.md rename to manual/config/authentication/sso/auth_switch.md index ccdf1bcb..b818ff4f 100644 --- a/manual/deploy/auth_switch.md +++ b/manual/config/authentication/sso/auth_switch.md @@ -2,11 +2,11 @@ Seafile Server supports the following external authentication types: -* [LDAP (Auth and Sync)](./ldap_in_11.0.md) +* [LDAP (Auth and Sync)](../ldap/ce/ldap_in_11.0.md) * [OAuth](./oauth.md) -* [Shibboleth](./shibboleth_config_v6.3.md) -* [SAML](../deploy_pro/saml2_in_10.0.md) -* [CAS](../deploy_pro/cas.md) +* [Shibboleth](./shibboleth_authentication.md) +* [SAML](./saml2_in_10.0.md) + Since 11.0 version, switching between the types is possible, but any switch requires modifications of Seafile's databases. @@ -14,7 +14,7 @@ Since 11.0 version, switching between the types is possible, but any switch requ Before manually manipulating your database, make a database backup, so you can restore your system if anything goes wrong! -See more about [make a database backup](../maintain/backup_recovery.md). +See more about [make a database backup](../../../administration/backup_recovery.md). ## Migrating from local user database to external authentication diff --git a/manual/deploy/auto_login_seadrive.md b/manual/config/authentication/sso/auto_login_seadrive.md similarity index 98% rename from manual/deploy/auto_login_seadrive.md rename to manual/config/authentication/sso/auto_login_seadrive.md index c31a9410..804265c2 100644 --- a/manual/deploy/auto_login_seadrive.md +++ b/manual/config/authentication/sso/auto_login_seadrive.md @@ -34,7 +34,7 @@ Open "Internet Options", select "Security" tab, select "Local Intranet" zone. Note: Above configuration requires a reboot to take effect. -![grafik](../images/internet-explorer.png) +![grafik](../../../images/internet-explorer.png) Next, we shall test the auto login function on Internet Explorer: visit the website and click "Single Sign-On" link. It should be able to log in directly, otherwise the auto login is malfunctioned. diff --git a/manual/deploy_pro/config_seafile_with_ADFS.md b/manual/config/authentication/sso/config_seafile_with_ADFS.md similarity index 100% rename from manual/deploy_pro/config_seafile_with_ADFS.md rename to manual/config/authentication/sso/config_seafile_with_ADFS.md diff --git a/manual/deploy/oauth.md b/manual/config/authentication/sso/oauth.md similarity index 100% rename from manual/deploy/oauth.md rename to manual/config/authentication/sso/oauth.md diff --git a/manual/deploy/remote_user.md b/manual/config/authentication/sso/remote_user.md similarity index 100% rename from manual/deploy/remote_user.md rename to manual/config/authentication/sso/remote_user.md diff --git a/manual/deploy_pro/saml2_in_10.0.md b/manual/config/authentication/sso/saml2_in_10.0.md similarity index 95% rename from manual/deploy_pro/saml2_in_10.0.md rename to manual/config/authentication/sso/saml2_in_10.0.md index e3b607a8..0ce236d5 100644 --- a/manual/deploy_pro/saml2_in_10.0.md +++ b/manual/config/authentication/sso/saml2_in_10.0.md @@ -39,21 +39,21 @@ If you use Microsoft Azure SAML app to achieve single sign-on, please follow the **Second**, setup the _Identifier_, _Reply URL_, and _Sign on URL_ of the SAML app based on your service URL, refer to: [enable single sign-on for saml app](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/add-application-portal-setup-sso). The format of the _Identifier_, _Reply URL_, and _Sign on URL_ are: https://example.com/saml2/metadata/, https://example.com/saml2/acs/, https://example.com/, e.g.: -![](../images/auto-upload/72c7b210-4a91-4e86-ba2e-df5ae0a4a0b0.png) +![](../../../images/auto-upload/72c7b210-4a91-4e86-ba2e-df5ae0a4a0b0.png) **Next**, [edit saml attributes & claims](https://learn.microsoft.com/en-us/azure/active-directory/develop/saml-claims-customization). Keep the default attributes & claims of SAML app unchanged, the _uid_ attribute must be added, the _mail_ and _name_ attributes are optional, e.g.: -![](../images/auto-upload/417d-a48a-3e10c46b98f0.png) +![](../../../images/auto-upload/417d-a48a-3e10c46b98f0.png) **Next**, download the base64 format SAML app's certificate and rename to idp.crt: -![](../images/auto-upload/0a693563-d511-4c3c-ac30-82a26d10cfab.png) +![](../../../images/auto-upload/0a693563-d511-4c3c-ac30-82a26d10cfab.png) and put it under the certs directory(`/opt/seafile/seahub-data/certs`). **Next**, copy the metadata URL of the SAML app: -![](../images/auto-upload/1426318f-0a61-462d-a514-13768ca0b18c.png) +![](../../../images/auto-upload/1426318f-0a61-462d-a514-13768ca0b18c.png) and paste it into the `SAML_REMOTE_METADATA_URL` option in seahub_settings.py, e.g.: @@ -114,7 +114,7 @@ If you use Microsoft ADFS to achieve single sign-on, please follow the steps bel * Locate the _Token-signing_ certificate. Right-click the certificate and select **View Certificate**. -![](../images/auto-upload/7a1eead2-272f-40ec-9768-effc1d4f3273.png) +![](../../../images/auto-upload/7a1eead2-272f-40ec-9768-effc1d4f3273.png) * In the dialog box, select the **Details** tab. @@ -155,7 +155,7 @@ SAML_REMOTE_METADATA_URL = 'https://temp.adfs.com/federationmetadata/2007-06/fed * Select **Import data about the relying party published online or on a local network**, type your metadate url in **Federation metadata address (host name or URL)**, and then click **Next**. Your metadate url format is: `https://example.com/saml2/metadata/`, e.g.: -![](../images/auto-upload/4d6412ee-009e-42df-b0eb-081735d873c5.png) +![](../../../images/auto-upload/4d6412ee-009e-42df-b0eb-081735d873c5.png) * On the **Specify Display Name** page type a name in **Display name**, e.g. `Seafile`, under **Notes** type a description for this relying party trust, and then click **Next**. diff --git a/manual/deploy/shibboleth_authentication.md b/manual/config/authentication/sso/shibboleth_authentication.md similarity index 99% rename from manual/deploy/shibboleth_authentication.md rename to manual/config/authentication/sso/shibboleth_authentication.md index 22670a9d..8cf3c3bb 100644 --- a/manual/deploy/shibboleth_authentication.md +++ b/manual/config/authentication/sso/shibboleth_authentication.md @@ -211,7 +211,7 @@ We also added an option `SHIB_ACTIVATE_AFTER_CREATION` (defaults to `True`) whic Shibboleth has a field called affiliation. It is a list like: `employee@uni-mainz.de;member@uni-mainz.de;faculty@uni-mainz.de;staff@uni-mainz.de.` -We are able to set user role from Shibboleth. Details about user role, please refer to +We are able to set user role from Shibboleth. Details about user role, please refer to [*Roles and Permissions*](../advanced_user_management/roles_permissions.md) To enable this, modify `SHIBBOLETH_ATTRIBUTE_MAP` above and add `Shibboleth-affiliation` field, you may need to change `Shibboleth-affiliation` according to your Shibboleth SP attributes. diff --git a/manual/deploy/single_sign_on.md b/manual/config/authentication/sso/single_sign_on.md similarity index 81% rename from manual/deploy/single_sign_on.md rename to manual/config/authentication/sso/single_sign_on.md index 75fc58a1..9a8e279f 100644 --- a/manual/deploy/single_sign_on.md +++ b/manual/config/authentication/sso/single_sign_on.md @@ -4,7 +4,7 @@ Seafile supports most of the popular single-sign-on authentication protocols. So In the Community Edition: -* [Shibboleth](./shibboleth_config_v6.3.md) +* [Shibboleth](./shibboleth_authentication.md) * [OAuth](./oauth.md) * [Remote User (Proxy Server)](./remote_user.md) * [Auto Login to SeaDrive on Windows](./auto_login_seadrive.md) @@ -13,5 +13,5 @@ Kerberos authentication can be integrated by using Apache as a proxy server and In Pro Edition: -* [ADFS or SAML 2.0](../deploy_pro/adfs.md) -* [CAS](../deploy_pro/cas.md) +* [ADFS or SAML 2.0](./config_seafile_with_ADFS.md) + diff --git a/manual/config/README.md b/manual/config/seafile_config/README.md similarity index 94% rename from manual/config/README.md rename to manual/config/seafile_config/README.md index 9f75d227..b6c9dc36 100644 --- a/manual/config/README.md +++ b/manual/config/seafile_config/README.md @@ -12,7 +12,7 @@ There are three config files in the community edition: You can also modify most of the config items via web interface.The config items are saved in database table (seahub-db/constance_config). They have a higher priority over the items in config files. -![Seafile Config via Web](../images/seafile-server-config.png) +![Seafile Config via Web](../../images/seafile-server-config.png) ## Common Customization Tasks diff --git a/manual/config/ccnet-conf.md b/manual/config/seafile_config/ccnet-conf.md similarity index 100% rename from manual/config/ccnet-conf.md rename to manual/config/seafile_config/ccnet-conf.md diff --git a/manual/config/customize_email_notifications.md b/manual/config/seafile_config/customize_email_notifications.md similarity index 100% rename from manual/config/customize_email_notifications.md rename to manual/config/seafile_config/customize_email_notifications.md diff --git a/manual/config/env.md b/manual/config/seafile_config/env.md similarity index 84% rename from manual/config/env.md rename to manual/config/seafile_config/env.md index 04d6e31b..b35d3187 100644 --- a/manual/config/env.md +++ b/manual/config/seafile_config/env.md @@ -45,7 +45,7 @@ SEADOC_SERVER_URL=http://example.seafile.com/sdoc-server ### Components configurations -- `COMPOSE_FILE`: `.yml` files for components of [Seafile-docker](../docker/seafile_docker_overview.md), each `.yml` must be separated by the symbol defined in `COMPOSE_PATH_SEPARATOR`. The core components are involved in `seafile-server.yml` and `caddy.yml` which must be taken in this term. +- `COMPOSE_FILE`: `.yml` files for components of [Seafile-docker](../setup/overview.md), each `.yml` must be separated by the symbol defined in `COMPOSE_PATH_SEPARATOR`. The core components are involved in `seafile-server.yml` and `caddy.yml` which must be taken in this term. - `COMPOSE_PATH_SEPARATOR`: The symbol used to separate the `.yml` files in term `COMPOSE_FILE`, default is ','. ### Docker images configurations @@ -55,7 +55,7 @@ SEADOC_SERVER_URL=http://example.seafile.com/sdoc-server - `SEAFILE_MEMCACHED_IMAGE`: Cached server image, default is `memcached:1.6.29` - `SEAFILE_ELASTICSEARCH_IMAGE`: Only valid in pro edition. The elasticsearch image, default is `elasticsearch:8.15.0`. - `SEAFILE_CADDY_IMAGE`: Caddy server image, default is `lucaslorentz/caddy-docker-proxy:2.9`. -- `SEADOC_IMAGE`: Only valid after integrating [SeaDoc](../extra_setup/setup_seadoc.md). SeaDoc server image, default is `seafileltd/sdoc-server:1.0-latest`. +- `SEADOC_IMAGE`: Only valid after integrating [SeaDoc](../../extension/extra_components/setup_seadoc.md). SeaDoc server image, default is `seafileltd/sdoc-server:1.0-latest`. ### Persistent Volume Configurations @@ -63,7 +63,7 @@ SEADOC_SERVER_URL=http://example.seafile.com/sdoc-server - `SEAFILE_MYSQL_VOLUME`: The volume directory of MySQL data, default is `/opt/seafile-mysql/db`. - `SEAFILE_CADDY_VOLUME`: The volume directory of Caddy data used to store certificates obtained from Let's Encrypt's, default is `/opt/seafile-caddy`. - `SEAFILE_ELASTICSEARCH_VOLUME`: Only valid in pro edition. The volume directory of Elasticsearch data, default is `/opt/seafile-elasticsearch/data`. -- `SEADOC_VOLUME`: Only valid after integrating [SeaDoc](../extra_setup/setup_seadoc.md). The volume directory of [SeaDoc server data](../extra_setup/setup_seadoc.md#seadoc-directory-structure), default is `/opt/seadoc-data`. +- `SEADOC_VOLUME`: Only valid after integrating [SeaDoc](../../extension/extra_components/setup_seadoc.md). The volume directory of [SeaDoc server data](../../extension/extra_components/setup_seadoc.md#seadoc-directory-structure), default is `/opt/seadoc-data`. ## MySQL configurations diff --git a/manual/config/seafevents-conf.md b/manual/config/seafile_config/seafevents-conf.md similarity index 97% rename from manual/config/seafevents-conf.md rename to manual/config/seafile_config/seafevents-conf.md index 50809c5a..37c0f4dd 100644 --- a/manual/config/seafevents-conf.md +++ b/manual/config/seafile_config/seafevents-conf.md @@ -106,4 +106,4 @@ interval = 86400 # The unit is second(s), the default frequency is one day, th ``` -**NOTE**: [Access the AWS elasticsearch service using HTTPS](../deploy_pro/details_about_file_search.md#access-the-aws-elasticsearch-service-using-https) +**NOTE**: [Access the AWS elasticsearch service using HTTPS](../authentication/details_about_file_search.md#access-the-aws-elasticsearch-service-using-https) diff --git a/manual/config/seafile-conf.md b/manual/config/seafile_config/seafile-conf.md similarity index 95% rename from manual/config/seafile-conf.md rename to manual/config/seafile_config/seafile-conf.md index 04987e9f..f3a0f0c9 100644 --- a/manual/config/seafile-conf.md +++ b/manual/config/seafile_config/seafile-conf.md @@ -213,7 +213,7 @@ upload_limit = 100 download_limit = 100 ``` -Since Seafile 11.0.7 Pro, you can ask file server to check virus for every file uploaded with web APIs. Find more options about virus scanning at [virus scan](../deploy_pro/virus_scan.md). +Since Seafile 11.0.7 Pro, you can ask file server to check virus for every file uploaded with web APIs. Find more options about virus scanning at [virus scan](../../extension/virus_scan/virus_scan.md). ``` [fileserver] @@ -280,12 +280,12 @@ memcached_options = --SERVER= --POOL-MIN=10 --POOL-M You may configure Seafile to use various kinds of object storage backends. -- [S3 or S3-compatible object storage](../deploy_pro/setup_with_amazon_s3.md) -- [Ceph RADOS](../deploy_pro/setup_with_ceph.md) -- [Alibaba Cloud OSS](../deploy_pro/setup_with_oss.md) -- [OpenStack Swift](../deploy_pro/setup_with_swift.md) +- [S3 or S3-compatible object storage](../../setup/advanced_topics/storage_backends/setup_with_amazon_s3.md) +- [Ceph RADOS](../../setup/advanced_topics/storage_backends/setup_with_ceph.md) +- [Alibaba Cloud OSS](../../setup/advanced_topics/storage_backends/setup_with_oss.md) +- [OpenStack Swift](../../setup/advanced_topics/storage_backends/setup_with_swift.md) -You may also configure Seafile to use [multiple storage backends](../deploy_pro/multiple_storage_backends.md) at the same time. +You may also configure Seafile to use [multiple storage backends](../../setup/advanced_topics/storage_backends/multiple_storage_backends.md) at the same time. ## Cluster @@ -312,7 +312,7 @@ rpc_slow_threshold = 5000 ``` -You can find `seafile_slow_rpc.log` in `logs/slow_logs`. You can also use [log-rotate](../deploy/using_logrotate.md) to rotate the log files. You just need to send `SIGUSR2` to `seaf-server` process. The slow log file will be closed and reopened. +You can find `seafile_slow_rpc.log` in `logs/slow_logs`. You can also use [log-rotate](../../setup_binary/other_deployment_notes/using_logrotate.md) to rotate the log files. You just need to send `SIGUSR2` to `seaf-server` process. The slow log file will be closed and reopened. Since 9.0.2 Pro, the signal to trigger log rotation has been changed to `SIGUSR1`. This signal will trigger rotation for all log files opened by seaf-server. You should change your log rotate settings accordingly. diff --git a/manual/config/seahub_customization.md b/manual/config/seafile_config/seahub_customization.md similarity index 95% rename from manual/config/seahub_customization.md rename to manual/config/seafile_config/seahub_customization.md index c256d792..578a760e 100644 --- a/manual/config/seahub_customization.md +++ b/manual/config/seafile_config/seahub_customization.md @@ -77,7 +77,7 @@ ADDITIONAL_SHARE_DIALOG_NOTE = { Result: -![](../images/additional-share-dialog-note.png) +![](../../images/additional-share-dialog-note.png) ## Add custom navigation items @@ -117,7 +117,7 @@ ADDITIONAL_APP_BOTTOM_LINKS = { Result: -![](../images/additional-app-bottom-links.png) +![](../../images/additional-app-bottom-links.png) ## Add more links to about dialog @@ -130,4 +130,4 @@ ADDITIONAL_ABOUT_DIALOG_LINKS = { Result: -![](../images/additional-about-dialog-links.png) +![](../../images/additional-about-dialog-links.png) diff --git a/manual/config/seahub_settings_py.md b/manual/config/seafile_config/seahub_settings_py.md similarity index 99% rename from manual/config/seahub_settings_py.md rename to manual/config/seafile_config/seahub_settings_py.md index cc243711..ad724a8c 100644 --- a/manual/config/seahub_settings_py.md +++ b/manual/config/seafile_config/seahub_settings_py.md @@ -445,7 +445,7 @@ REST_FRAMEWORK = { # Throtting whitelist used to disable throttle for certain IPs. # e.g. REST_FRAMEWORK_THROTTING_WHITELIST = ['127.0.0.1', '192.168.1.1'] -# Please make sure `REMOTE_ADDR` header is configured in Nginx conf according to https://manual.seafile.com/deploy/deploy_with_nginx.html. +# Please make sure `REMOTE_ADDR` header is configured in Nginx conf according to https://manual.seafile.com/12.0/setup_binary/ce/deploy_with_nginx.html. REST_FRAMEWORK_THROTTING_WHITELIST = [] ``` diff --git a/manual/config/sending_email.md b/manual/config/seafile_config/sending_email.md similarity index 100% rename from manual/config/sending_email.md rename to manual/config/seafile_config/sending_email.md diff --git a/manual/deploy_pro/README.md b/manual/deploy_pro/README.md deleted file mode 100644 index d93c91ba..00000000 --- a/manual/deploy_pro/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Deploy Seafile Pro Edition - -There are two ways to deploy Seafile Pro Edition. Since version 8.0, the recommend way to install Seafile Pro Edition is using Docker. - -- Method 1: [Deploy Seafile with Docker](../docker/pro-edition/deploy_seafile_pro_with_docker.md) -- Method 2: [Download and Setup Seafile Professional Server Step by Step](download_and_setup_seafile_professional_server.md) - -## Migration from community edition - -- [Migrate from Seafile Community edition](migrate_from_seafile_community_server.md) - -## S3 Storage Backends - -- [Setup Seafile Professional Server With S3](setup_with_amazon_s3.md) -- [Setup Seafile Professional Server With OpenStack Swift](setup_with_swift.md) -- [Data migration between different backends](migrate.md) -- [Using multiple storage backends](multiple_storage_backends.md) - -## Cluster - -- [Deploy seafile servers in a cluster](deploy_in_a_cluster.md) -- [Enable search and background tasks in a cluster](enable_search_and_background_tasks_in_a_cluster.md) -- [Setup Seafile cluster with NFS](setup_seafile_cluster_with_nfs.md) - - - diff --git a/manual/develop/README.md b/manual/develop/README.md index c80869c0..afb05654 100644 --- a/manual/develop/README.md +++ b/manual/develop/README.md @@ -2,8 +2,8 @@ Build Seafile -* [How to Build Seafile](../build_seafile/README.md) -* [How to Setup Development Environment](env.md) +* [How to Build Seafile](./build_seafile/README.md) +* [How to Setup Development Environment](../config/seafile_config/env.md) Seafile Open API diff --git a/manual/build_seafile/README.md b/manual/develop/build_seafile/README.md similarity index 100% rename from manual/build_seafile/README.md rename to manual/develop/build_seafile/README.md diff --git a/manual/build_seafile/linux.md b/manual/develop/build_seafile/linux.md similarity index 100% rename from manual/build_seafile/linux.md rename to manual/develop/build_seafile/linux.md diff --git a/manual/build_seafile/osx.md b/manual/develop/build_seafile/osx.md similarity index 100% rename from manual/build_seafile/osx.md rename to manual/develop/build_seafile/osx.md diff --git a/manual/build_seafile/rpi.md b/manual/develop/build_seafile/rpi.md similarity index 95% rename from manual/build_seafile/rpi.md rename to manual/develop/build_seafile/rpi.md index ae0579c6..95478be1 100644 --- a/manual/build_seafile/rpi.md +++ b/manual/develop/build_seafile/rpi.md @@ -249,19 +249,19 @@ After the script finisheds, we would get a `seafile-server_6.0.1_pi.tar.gz` in ` ### Test a fresh install -Use the built seafile server package to go over the steps of [Deploying Seafile with SQLite](http://manual.seafile.com/deploy/using_sqlite/). + The test should cover these steps at least: * The setup process is ok * After `seafile.sh start` and `seahub.sh start`, you can login from a browser. * Uploading/Downloading files through a web browser works correctly. -* Seafile [WebDAV](http://manual.seafile.com/extension/webdav/) server works correctly +* Seafile [WebDAV](../../extension/extra_components/webdav.md) server works correctly ### Test upgrading from a previous version * Download the package of the previous version seafile server, and setup it. -* Upgrading according to [the manual](http://manual.seafile.com/upgrade/upgrade/) +* Upgrading according to [the manual](../../upgrade/upgrade.md) * After the upgrade, check the functionality is ok: * Uploading/Downloading files through a web browser works correctly. - * Seafile [WebDAV](http://manual.seafile.com/extension/webdav/) server works correctly + * Seafile [WebDAV](../../extension/extra_components/webdav.md) server works correctly diff --git a/manual/build_seafile/server.md b/manual/develop/build_seafile/server.md similarity index 98% rename from manual/build_seafile/server.md rename to manual/develop/build_seafile/server.md index a7cd4236..8bd2f8e3 100644 --- a/manual/build_seafile/server.md +++ b/manual/develop/build_seafile/server.md @@ -232,7 +232,7 @@ Then, you can visit to use Seafile. ## The Final Directory Structure -![Directory Structure](../images/build_seafile_server_directory_structure.png) +![Directory Structure](../../images/build_seafile_server_directory_structure.png) ## More diff --git a/manual/build_seafile/windows.md b/manual/develop/build_seafile/windows.md similarity index 100% rename from manual/build_seafile/windows.md rename to manual/develop/build_seafile/windows.md diff --git a/manual/docker/docker-compose/ce/caddy.yml b/manual/docker/ce/caddy.yml similarity index 100% rename from manual/docker/docker-compose/ce/caddy.yml rename to manual/docker/ce/caddy.yml diff --git a/manual/docker/docker-compose/ce/env b/manual/docker/ce/env similarity index 100% rename from manual/docker/docker-compose/ce/env rename to manual/docker/ce/env diff --git a/manual/docker/docker-compose/ce/seadoc.yml b/manual/docker/ce/seadoc.yml similarity index 100% rename from manual/docker/docker-compose/ce/seadoc.yml rename to manual/docker/ce/seadoc.yml diff --git a/manual/docker/docker-compose/ce/seafile-server.yml b/manual/docker/ce/seafile-server.yml similarity index 100% rename from manual/docker/docker-compose/ce/seafile-server.yml rename to manual/docker/ce/seafile-server.yml diff --git a/manual/docker/docker-compose/onlyoffice.yml b/manual/docker/onlyoffice.yml similarity index 100% rename from manual/docker/docker-compose/onlyoffice.yml rename to manual/docker/onlyoffice.yml diff --git a/manual/docker/pro-edition/deploy_onlyoffice_with_docker.md b/manual/docker/pro-edition/deploy_onlyoffice_with_docker.md deleted file mode 100644 index a36af6a0..00000000 --- a/manual/docker/pro-edition/deploy_onlyoffice_with_docker.md +++ /dev/null @@ -1,111 +0,0 @@ -# Deploy OnlyOffice with Docker - -## Add OnlyOffice to docker-compose.yml - -The following section needs to be added to docker-compose.yml in the services section - -```yml -services: - ... - - oods: - image: onlyoffice/documentserver:latest - container_name: seafile-oods - networks: - - seafile-net - environment: - - JWT_ENABLED=true - - JWT_SECRET=your-secret-string -``` - -## Initialize OnlyOffice local configuration file - -```shell -mkdir -p /opt/seafile-oods/DocumentServer/ -vim /opt/seafile-oods/DocumentServer/local-production-linux.json -``` - -```json -{ - "services": { - "CoAuthoring": { - "autoAssembly": { - "enable": true, - "interval": "5m" - } - } - }, - "FileConverter": { - "converter": { - "downloadAttemptMaxCount": 1 - } - } -} -``` - -## Add OnlyOffice to nginx conf - -Add this to seafile.nginx.conf - -``` -# Required for only office document server -map $http_x_forwarded_proto $the_scheme { - default $http_x_forwarded_proto; - "" $scheme; -} -map $http_x_forwarded_host $the_host { - default $http_x_forwarded_host; - "" $host; -} -map $http_upgrade $proxy_connection { - default upgrade; - "" close; -} -server { - listen 80; - ... -} - -server { - listen 443 ssl; - ... - - location /onlyofficeds/ { - proxy_pass http://oods/; - proxy_http_version 1.1; - client_max_body_size 100M; - proxy_read_timeout 3600s; - proxy_connect_timeout 3600s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $proxy_connection; - proxy_set_header X-Forwarded-Host $the_host/onlyofficeds; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -## Modify seahub_settings.py - -Add this to seahub_settings.py - -```python -# OnlyOffice -ENABLE_ONLYOFFICE = True -VERIFY_ONLYOFFICE_CERTIFICATE = True -ONLYOFFICE_APIJS_URL = 'http:///onlyofficeds/web-apps/apps/api/documents/api.js' -ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods') -ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx') -ONLYOFFICE_JWT_SECRET = 'your-secret-string' -``` - -## Restart docker container - -```shell -docker compose down -docker compose up -d -``` - -Wait some minutes until OnlyOffice finished initializing. - -Now OnlyOffice can be used. diff --git a/manual/docker/docker-compose/pro/caddy.yml b/manual/docker/pro/caddy.yml similarity index 100% rename from manual/docker/docker-compose/pro/caddy.yml rename to manual/docker/pro/caddy.yml diff --git a/manual/docker/docker-compose/pro/env b/manual/docker/pro/env similarity index 100% rename from manual/docker/docker-compose/pro/env rename to manual/docker/pro/env diff --git a/manual/docker/docker-compose/pro/seadoc.yml b/manual/docker/pro/seadoc.yml similarity index 100% rename from manual/docker/docker-compose/pro/seadoc.yml rename to manual/docker/pro/seadoc.yml diff --git a/manual/docker/docker-compose/pro/seafile-server.yml b/manual/docker/pro/seafile-server.yml similarity index 100% rename from manual/docker/docker-compose/pro/seafile-server.yml rename to manual/docker/pro/seafile-server.yml diff --git a/manual/docker/docker-compose/seadoc/0.8/docker-compose.yml b/manual/docker/seadoc/0.8/docker-compose.yml similarity index 100% rename from manual/docker/docker-compose/seadoc/0.8/docker-compose.yml rename to manual/docker/seadoc/0.8/docker-compose.yml diff --git a/manual/docker/docker-compose/seadoc/1.0/standalone/env b/manual/docker/seadoc/1.0/standalone/env similarity index 100% rename from manual/docker/docker-compose/seadoc/1.0/standalone/env rename to manual/docker/seadoc/1.0/standalone/env diff --git a/manual/docker/docker-compose/seadoc/1.0/standalone/seadoc.yml b/manual/docker/seadoc/1.0/standalone/seadoc.yml similarity index 100% rename from manual/docker/docker-compose/seadoc/1.0/standalone/seadoc.yml rename to manual/docker/seadoc/1.0/standalone/seadoc.yml diff --git a/manual/extension/README.md b/manual/extension/README.md deleted file mode 100644 index f70c7265..00000000 --- a/manual/extension/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# WebDAV and FUSE extensions - -Seafile WebDAV and FUSE extensions make it easy for Seafile to work with third party applications. For example, you can use Documents App in iOS to access files in Seafile via WebDAV interface. diff --git a/manual/extension/fuse.md b/manual/extension/extra_components/fuse.md similarity index 100% rename from manual/extension/fuse.md rename to manual/extension/extra_components/fuse.md diff --git a/manual/deploy/notification-server.md b/manual/extension/extra_components/notification-server.md similarity index 96% rename from manual/deploy/notification-server.md rename to manual/extension/extra_components/notification-server.md index eee28bb0..f204f1e6 100644 --- a/manual/deploy/notification-server.md +++ b/manual/extension/extra_components/notification-server.md @@ -139,7 +139,7 @@ Notification server is enabled on the remote server xxxx There is no additional features for notification server in the Pro Edition. It works the same as in community edition. -If you enable [clustering](../deploy_pro/deploy_in_a_cluster.md), You need to deploy notification server on one of the servers, or a separate server. The load balancer should forward websockets requests to this node. +If you enable [clustering](../../setup_binary/pro/cluster/deploy_in_a_cluster.md), You need to deploy notification server on one of the servers, or a separate server. The load balancer should forward websockets requests to this node. On each Seafile frontend node, the notification server configuration should be the same as in community edition: diff --git a/manual/extra_setup/setup_seadoc.md b/manual/extension/extra_components/setup_seadoc.md similarity index 87% rename from manual/extra_setup/setup_seadoc.md rename to manual/extension/extra_components/setup_seadoc.md index 0c3d208c..dd502014 100644 --- a/manual/extra_setup/setup_seadoc.md +++ b/manual/extension/extra_components/setup_seadoc.md @@ -20,11 +20,11 @@ SeaDoc excels at: The SeaDoc archticture is demonstrated as below: -![SeaDoc](../images/seadoc-arch.png) +![SeaDoc](../../images/seadoc-arch.png) Here is the workflow when a user open sdoc file in browser -1. When a user open a sdoc file in the browser, a file loading request will be sent to Caddy, and Caddy proxy the request to SeaDoc server (see [Seafile instance archticture](../docker/seafile_docker_overview.md) for the details). +1. When a user open a sdoc file in the browser, a file loading request will be sent to Caddy, and Caddy proxy the request to SeaDoc server (see [Seafile instance archticture](../setup/overview.md) for the details). 2. SeaDoc server will send the content back if it is already cached, otherwise it sends a request to Seahub. 3. Seahub loads the content from Seafile-server, then sends it to SeaDoc server and write the file to the cache at the same time. 4. After SeaDoc receives the content, it sends the content to the browser. @@ -42,9 +42,9 @@ SeaDoc has the following deployment methods: ### Deploy SeaDoc on a new host -#### Download and modify SeaDoc docker-compose.yml +#### Download and modify seadoc.yml -Download [docker-compose.yml](https://manual.seafile.com/docker/docker-compose/seadoc/0.8/docker-compose.yml) sample file to your host. Then modify the file according to your environment. The following fields are needed to be modified: +Download [seadoc.yml](../../docker/seadoc/1.0/seadoc.yml) sample file to your host. Then modify the file according to your environment. The following fields are needed to be modified: - `DB_HOST`: MySQL host - `DB_PORT`: MySQL port @@ -75,10 +75,10 @@ Then follow the section: Start SeaDoc. ```shell # for community edition -wget https://manual.seafile.com/12.0/docker/docker-compose/ce/seadoc.yml +wget https://manual.seafile.com/12.0/docker/ce/seadoc.yml # for pro edition -wget https://manual.seafile.com/12.0/docker/docker-compose/pro/seadoc.yml +wget https://manual.seafile.com/12.0/docker/pro/seadoc.yml ``` Modify `.env`, and insert `seadoc.yml` into `COMPOSE_FILE`, and enable SeaDoc server diff --git a/manual/extension/webdav.md b/manual/extension/extra_components/webdav.md similarity index 100% rename from manual/extension/webdav.md rename to manual/extension/extra_components/webdav.md diff --git a/manual/deploy/libreoffice_online.md b/manual/extension/online_office/libreoffice_online.md similarity index 96% rename from manual/deploy/libreoffice_online.md rename to manual/extension/online_office/libreoffice_online.md index ecbac599..1f2e9adc 100644 --- a/manual/deploy/libreoffice_online.md +++ b/manual/extension/online_office/libreoffice_online.md @@ -76,7 +76,7 @@ For more information about Collabora Online and how to deploy it, please refer t ## Config Seafile -**NOTE:** You must [enable https](../deploy/https_with_nginx.md) with valid TLS/SSL certificates with Seafile to use Collabora Online. +**NOTE:** You must [enable https](../../setup_binary/ce/https_with_nginx.md) with valid TLS/SSL certificates with Seafile to use Collabora Online. Add following config option to seahub_settings.py: @@ -116,7 +116,7 @@ Then restart Seafile. Click an office file in Seafile web interface, you will see the online preview rendered by LibreOffice online. Here is an example: -![LibreOffice-online](../images/libreoffice-online.png) +![LibreOffice-online](../../images/libreoffice-online.png) ## Trouble shooting diff --git a/manual/deploy_pro/office_web_app.md b/manual/extension/online_office/office_web_app.md similarity index 98% rename from manual/deploy_pro/office_web_app.md rename to manual/extension/online_office/office_web_app.md index d32a8ecb..7b7a58b4 100644 --- a/manual/deploy_pro/office_web_app.md +++ b/manual/extension/online_office/office_web_app.md @@ -64,7 +64,7 @@ Then restart After you click the document you specified in seahub_settings.py, you will see the new preview page. -![office-web-app](../images/office-web-app.png) +![office-web-app](../../images/office-web-app.png) ## Trouble shooting diff --git a/manual/deploy/only_office.md b/manual/extension/online_office/only_office.md similarity index 98% rename from manual/deploy/only_office.md rename to manual/extension/online_office/only_office.md index 4030b04e..69b14f74 100644 --- a/manual/deploy/only_office.md +++ b/manual/extension/online_office/only_office.md @@ -21,7 +21,7 @@ pwgen -s 40 1 Download the `onlyoffice.yml` ```shell -wget https://manual.seafile.com/12/docker/docker-compose/onlyoffice.yml +wget https://manual.seafile.com/12.0/docker/onlyoffice.yml ``` insert `onlyoffice.yml` into `COMPOSE_FILE` list (i.e., `COMPOSE_FILE='...,onlyoffice.yml'`), and add the following configurations of onlyoffice in `.env` file. diff --git a/manual/deploy_pro/deploy_clamav_with_seafile.md b/manual/extension/virus_scan/deploy_clamav_with_seafile.md similarity index 100% rename from manual/deploy_pro/deploy_clamav_with_seafile.md rename to manual/extension/virus_scan/deploy_clamav_with_seafile.md diff --git a/manual/deploy_pro/virus_scan.md b/manual/extension/virus_scan/virus_scan.md similarity index 98% rename from manual/deploy_pro/virus_scan.md rename to manual/extension/virus_scan/virus_scan.md index dfbc83c6..2d1fe529 100644 --- a/manual/deploy_pro/virus_scan.md +++ b/manual/extension/virus_scan/virus_scan.md @@ -33,7 +33,7 @@ cd seafile-server-latest ``` If a virus was detected, you can see scan records and delete infected files on the Virus Scan page in the admin area. -![virus-scan](../images/virus-scan.png) +![virus-scan](../../images/virus-scan.png) **INFO**: If you directly use clamav command line tool to scan files, scanning files will takes a lot of time. If you want to speed it up, we recommend to run Clamav as a daemon. Please refer to [Run ClamAV as a Daemon](delpoy_clamav_with_seafile.md) diff --git a/manual/deploy_pro/virus_scan_with_kav4fs.md b/manual/extension/virus_scan/virus_scan_with_kav4fs.md similarity index 100% rename from manual/deploy_pro/virus_scan_with_kav4fs.md rename to manual/extension/virus_scan/virus_scan_with_kav4fs.md diff --git a/manual/README.md b/manual/introduction/README.md similarity index 100% rename from manual/README.md rename to manual/introduction/README.md diff --git a/manual/overview/components.md b/manual/introduction/components.md similarity index 100% rename from manual/overview/components.md rename to manual/introduction/components.md diff --git a/manual/contribution.md b/manual/introduction/contribution.md similarity index 100% rename from manual/contribution.md rename to manual/introduction/contribution.md diff --git a/manual/overview/file_permission_management.md b/manual/introduction/file_permission_management.md similarity index 100% rename from manual/overview/file_permission_management.md rename to manual/introduction/file_permission_management.md diff --git a/manual/roadmap.md b/manual/introduction/roadmap.md similarity index 100% rename from manual/roadmap.md rename to manual/introduction/roadmap.md diff --git a/manual/maintain/export_file_access_log.md b/manual/maintain/export_file_access_log.md deleted file mode 100644 index e0dced78..00000000 --- a/manual/maintain/export_file_access_log.md +++ /dev/null @@ -1,11 +0,0 @@ -# Export File Access Log - -Since version 7.0.8 pro, we offer command to export file access log. - -``` -cd /seafile-server-latest -./seahub.sh python-env python seahub/manage.py export_file_access_log --start-date 2019-06-01 --end-date 2019-07-01 - -``` - - diff --git a/manual/maintain/export_user_storage_report.md b/manual/maintain/export_user_storage_report.md deleted file mode 100644 index 84137342..00000000 --- a/manual/maintain/export_user_storage_report.md +++ /dev/null @@ -1,11 +0,0 @@ -# Export User Storage Report - -Since version 7.0.8 pro, we offer command to export user storage report. - -``` -cd /seafile-server-latest -./seahub.sh python-env python seahub/manage.py export_user_storage_report - -``` - - diff --git a/manual/deploy_pro/change_default_java.md b/manual/outdate/change_default_java.md similarity index 100% rename from manual/deploy_pro/change_default_java.md rename to manual/outdate/change_default_java.md diff --git a/manual/deploy/kerberos_config.md b/manual/outdate/kerberos_config.md similarity index 98% rename from manual/deploy/kerberos_config.md rename to manual/outdate/kerberos_config.md index 8bced5dc..004213bf 100644 --- a/manual/deploy/kerberos_config.md +++ b/manual/outdate/kerberos_config.md @@ -1,6 +1,6 @@ ## Kerberos -NOTE: Since version 7.0, this documenation is deprecated. Users should use Apache as a proxy server for Kerberos authentication. Then configure Seahub by the instructions in [Remote User Authentication](remote_user.md). +NOTE: Since version 7.0, this documenation is deprecated. Users should use Apache as a proxy server for Kerberos authentication. Then configure Seahub by the instructions in [Remote User Authentication](../config/authentication/sso/remote_user.md). [Kerberos](https://web.mit.edu/kerberos/) is a widely used single sign on (SSO) protocol. Seafile server supports authentication via Kerberos. It allows users to log in to Seafile without entering credentials again if they have a kerberos ticket. diff --git a/manual/deploy/outlook_addin_config.md b/manual/outdate/outlook_addin_config.md similarity index 99% rename from manual/deploy/outlook_addin_config.md rename to manual/outdate/outlook_addin_config.md index abbf1c16..a65f0c55 100644 --- a/manual/deploy/outlook_addin_config.md +++ b/manual/outdate/outlook_addin_config.md @@ -115,7 +115,7 @@ $seafile_admin_token = ''; ?> ``` -First, replace SEAFILE_SERVER_URL with the URL of your Seafile Server and SHARED_SECRET with the key used in [Configuring Seahub](../deploy/outlook_addin_config.md/#configuring_seahub). +First, replace SEAFILE_SERVER_URL with the URL of your Seafile Server and SHARED_SECRET with the key used in [Configuring Seahub](#configuring_seahub). Second, add either the user credentials of a Seafile user with admin rights or the API-token of such a user. diff --git a/manual/deploy_pro/seaf_encrypt.md b/manual/outdate/seaf_encrypt.md similarity index 100% rename from manual/deploy_pro/seaf_encrypt.md rename to manual/outdate/seaf_encrypt.md diff --git a/manual/deploy/sqlite_to_mysql.sh b/manual/outdate/sqlite_to_mysql.sh similarity index 100% rename from manual/deploy/sqlite_to_mysql.sh rename to manual/outdate/sqlite_to_mysql.sh diff --git a/manual/deploy_pro/terms_and_conditions.md b/manual/outdate/terms_and_conditions.md similarity index 100% rename from manual/deploy_pro/terms_and_conditions.md rename to manual/outdate/terms_and_conditions.md diff --git a/manual/deploy/using_fuse.md b/manual/outdate/using_fuse.md similarity index 100% rename from manual/deploy/using_fuse.md rename to manual/outdate/using_fuse.md diff --git a/manual/deploy/using_syslog.md b/manual/outdate/using_syslog.md similarity index 100% rename from manual/deploy/using_syslog.md rename to manual/outdate/using_syslog.md diff --git a/manual/deploy/video_thumbnails.md b/manual/outdate/video_thumbnails.md similarity index 100% rename from manual/deploy/video_thumbnails.md rename to manual/outdate/video_thumbnails.md diff --git a/manual/docker/deploy_seafile_with_an_existing_mysql_server.md b/manual/setup/advanced_topics/deploy_seafile_with_an_existing_mysql_server.md similarity index 100% rename from manual/docker/deploy_seafile_with_an_existing_mysql_server.md rename to manual/setup/advanced_topics/deploy_seafile_with_an_existing_mysql_server.md diff --git a/manual/docker/run_seafile_as_non_root_user_inside_docker.md b/manual/setup/advanced_topics/run_seafile_as_non_root_user_inside_docker.md similarity index 100% rename from manual/docker/run_seafile_as_non_root_user_inside_docker.md rename to manual/setup/advanced_topics/run_seafile_as_non_root_user_inside_docker.md diff --git a/manual/docker/seafile_docker_autostart.md b/manual/setup/advanced_topics/seafile_docker_autostart.md similarity index 100% rename from manual/docker/seafile_docker_autostart.md rename to manual/setup/advanced_topics/seafile_docker_autostart.md diff --git a/manual/deploy_pro/migrate.md b/manual/setup/advanced_topics/storage_backends/migrate.md similarity index 100% rename from manual/deploy_pro/migrate.md rename to manual/setup/advanced_topics/storage_backends/migrate.md diff --git a/manual/deploy_pro/multiple_storage_backends.md b/manual/setup/advanced_topics/storage_backends/multiple_storage_backends.md similarity index 97% rename from manual/deploy_pro/multiple_storage_backends.md rename to manual/setup/advanced_topics/storage_backends/multiple_storage_backends.md index 8de5844d..864c876f 100644 --- a/manual/deploy_pro/multiple_storage_backends.md +++ b/manual/setup/advanced_topics/storage_backends/multiple_storage_backends.md @@ -43,7 +43,7 @@ storage_classes_file = /opt/seafile_storage_classes.json * enable_storage_classes :If this is set to true, the storage class feature is enabled. You must define the storage classes in a JSON file provided in the next configuration option. * storage_classes_file:Specifies the path for the JSON file that contains the storage class definition. -You also need to add [memory cache configurations](/manual/config/seafile-conf.md#cache-pro-edition-only) to `seafile.conf`. +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only) to `seafile.conf`. ### Notes for Docker Installs @@ -67,7 +67,7 @@ enable_storage_classes = true storage_classes_file = /shared/conf/seafile_storage_classes.json ``` -You also need to add [memory cache configurations](/manual/config/seafile-conf.md#cache-pro-edition-only) to `seafile.conf`. +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only) to `seafile.conf`. ## Defining Storage Backends diff --git a/manual/deploy_pro/setup_with_amazon_s3.md b/manual/setup/advanced_topics/storage_backends/setup_with_amazon_s3.md similarity index 94% rename from manual/deploy_pro/setup_with_amazon_s3.md rename to manual/setup/advanced_topics/storage_backends/setup_with_amazon_s3.md index 7cf16ee1..56a1c17e 100644 --- a/manual/deploy_pro/setup_with_amazon_s3.md +++ b/manual/setup/advanced_topics/storage_backends/setup_with_amazon_s3.md @@ -4,7 +4,7 @@ To setup Seafile Professional Server with Amazon S3: -- Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +- Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](../../../setup_binary/pro/installation.md) - Install the python `boto` library. It's needed to access S3 service. ``` # Version 10.0 or earlier @@ -49,7 +49,7 @@ use_v4_signature = true aws_region = eu-central-1 ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). We'll explain the configurations below: @@ -131,7 +131,7 @@ use_v4_signature = true aws_region = ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). We'll explain the configurations below: @@ -178,7 +178,7 @@ host = 192.168.1.123:8080 path_style_request = true ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). We'll explain the configurations below: diff --git a/manual/deploy_pro/setup_with_ceph.md b/manual/setup/advanced_topics/storage_backends/setup_with_ceph.md similarity index 94% rename from manual/deploy_pro/setup_with_ceph.md rename to manual/setup/advanced_topics/storage_backends/setup_with_ceph.md index eed8dfa8..d2e5062c 100644 --- a/manual/deploy_pro/setup_with_ceph.md +++ b/manual/setup/advanced_topics/storage_backends/setup_with_ceph.md @@ -1,6 +1,6 @@ # Setup With Ceph -Ceph is a scalable distributed storage system. It's recommended to use Ceph's S3 Gateway (RGW) to integarte with Seafile. Seafile can also use Ceph's RADOS object storage layer for storage backend. But using RADOS requires to link with librados library, which may introduce library incompatibility issues during deployment. Furthermore the S3 Gateway provides easier to manage HTTP based interface. If you want to integrate with S3 gateway, please refer to "Use S3-compatible Object Storage" section in [this documentation](./setup_with_amazon_s3.md). The documentation below is for integrating with RADOS. +Ceph is a scalable distributed storage system. It's recommended to use Ceph's S3 Gateway (RGW) to integarte with Seafile. Seafile can also use Ceph's RADOS object storage layer for storage backend. But using RADOS requires to link with librados library, which may introduce library incompatibility issues during deployment. Furthermore the S3 Gateway provides easier to manage HTTP based interface. If you want to integrate with S3 gateway, please refer to "Use S3-compatible Object Storage" section in [this documentation](setup_with_amazon_s3.md). The documentation below is for integrating with RADOS. ## Copy ceph conf file and client keyring @@ -63,7 +63,7 @@ ceph_config = /etc/ceph/ceph.conf pool = seafile-fs ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). It's required to create separate pools for commit, fs, and block objects. diff --git a/manual/deploy_pro/setup_with_oss.md b/manual/setup/advanced_topics/storage_backends/setup_with_oss.md similarity index 90% rename from manual/deploy_pro/setup_with_oss.md rename to manual/setup/advanced_topics/storage_backends/setup_with_oss.md index 39ed8061..fe0bee0e 100644 --- a/manual/deploy_pro/setup_with_oss.md +++ b/manual/setup/advanced_topics/storage_backends/setup_with_oss.md @@ -4,7 +4,7 @@ To setup Seafile Professional Server with Alibaba OSS: -* Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +* Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](../../../setup_binary/pro/installation.md) * Install the python `oss2` library: `sudo pip install oss2==2.3.0`.For more installation help, please refer to [this document](https://www.alibabacloud.com/help/en/object-storage-service/latest/python-preface). * Install and configure memcached or Redis. For best performance, Seafile requires enable memory cache for objects. We recommend to allocate at least 128MB memory for Memcached or Redis. @@ -34,7 +34,7 @@ key = region = beijing ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). It's required to create separate buckets for commit, fs, and block objects. For performance and to save network traffic costs, you should create buckets within the region where the seafile server is running. @@ -76,7 +76,7 @@ Compared with the configuration under the classic network, the above configurati `endpoint` is a general option, you can also set it to the OSS access address under the classic network, and it will work as well. -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). ### Use HTTPS connections to OSS diff --git a/manual/deploy_pro/setup_with_swift.md b/manual/setup/advanced_topics/storage_backends/setup_with_swift.md similarity index 92% rename from manual/deploy_pro/setup_with_swift.md rename to manual/setup/advanced_topics/storage_backends/setup_with_swift.md index f987595e..1eac09d4 100644 --- a/manual/deploy_pro/setup_with_swift.md +++ b/manual/setup/advanced_topics/storage_backends/setup_with_swift.md @@ -8,7 +8,7 @@ Since version 6.3, OpenStack Swift v3.0 API is supported. To setup Seafile Professional Server with Swift: -* Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](download_and_setup_seafile_professional_server.md) +* Setup the basic Seafile Professional Server following the guide on [Download and setup Seafile Professional Server](../../../setup_binary/pro/installation.md) * Install and configure memcached or Redis. For best performance, Seafile requires enable memory cache for objects. We recommend to at least allocate 128MB memory for memcached. ## Modify Seafile.conf @@ -48,7 +48,7 @@ region = yourRegion ``` -You also need to add [memory cache configurations](/config/seafile-conf/#cache-pro-edition-only). +You also need to add [memory cache configurations](../../../config/seafile_config/seafile-conf.md#cache-pro-edition-only). The above config is just an example. You should replace the options according to your own environment. diff --git a/manual/docker/cluster/deploy_seafile_cluster_with_docker.md b/manual/setup/cluster_installation/deploy_seafile_cluster_with_docker.md similarity index 99% rename from manual/docker/cluster/deploy_seafile_cluster_with_docker.md rename to manual/setup/cluster_installation/deploy_seafile_cluster_with_docker.md index a0b6c8b0..95f6896d 100644 --- a/manual/docker/cluster/deploy_seafile_cluster_with_docker.md +++ b/manual/setup/cluster_installation/deploy_seafile_cluster_with_docker.md @@ -1,6 +1,6 @@ # Seafile Docker Cluster Deployment -Seafile Docker cluster deployment requires "sticky session" settings in the load balancer. Otherwise sometimes folder download on the web UI can't work properly. Read the [Load Balancer Setting](https://manual.seafile.com/deploy_pro/deploy_in_a_cluster/#load-balancer-setting) for details. +Seafile Docker cluster deployment requires "sticky session" settings in the load balancer. Otherwise sometimes folder download on the web UI can't work properly. Read the [Load Balancer Setting](../../setup_binary/pro/cluster/deploy_in_a_cluster.md#load-balancer-setting) for details. ## Environment diff --git a/manual/deploy/deploy_with_k8s.md b/manual/setup/cluster_installation/deploy_with_k8s.md similarity index 91% rename from manual/deploy/deploy_with_k8s.md rename to manual/setup/cluster_installation/deploy_with_k8s.md index a91ce0ac..bd4d0643 100644 --- a/manual/deploy/deploy_with_k8s.md +++ b/manual/setup/cluster_installation/deploy_with_k8s.md @@ -18,7 +18,7 @@ kubectl create secret docker-registry regcred --docker-server=docker.seadrive.or ## YAML -Seafile mainly involves three different services, namely database service, cache service and seafile service. Since these three services do not have a direct dependency relationship, we need to separate them from the entire docker-compose.yml (in this manual, we use [Seafile 11 PRO](../docker/docker-compose/pro/11.0/docker-compose.yml)) and divide them into three pods. For each pod, we need to define a series of YAML files for k8s to read, and we will store these YAMLs in `/opt/seafile-k8s-yaml`. This series of YAML mainly includes **Deployment** for pod management and creation, **Service** for exposing services to the external network, **PersistentVolume** for defining the location of a volume used for persistent storage on the host and **Persistentvolumeclaim** for declaring the use of persistent storage in the container. For futher configuration details, you can refer [the official documents](https://kubernetes.io/docs/tasks/configure-pod-container/). +Seafile mainly involves three different services, namely database service, cache service and seafile service. Since these three services do not have a direct dependency relationship, we need to separate them from the entire docker-compose.yml (in this manual, we use [Seafile 12 PRO](../../docker/pro/seafile-server.yml)) and divide them into three pods. For each pod, we need to define a series of YAML files for k8s to read, and we will store these YAMLs in `/opt/seafile-k8s-yaml`. This series of YAML mainly includes **Deployment** for pod management and creation, **Service** for exposing services to the external network, **PersistentVolume** for defining the location of a volume used for persistent storage on the host and **Persistentvolumeclaim** for declaring the use of persistent storage in the container. For futher configuration details, you can refer [the official documents](https://kubernetes.io/docs/tasks/configure-pod-container/). ### mariadb @@ -182,7 +182,7 @@ spec: - name: seafile # image: seafileltd/seafile-mc:9.0.10 # image: seafileltd/seafile-mc:11.0-latest - image: docker.seadrive.org/seafileltd/seafile-pro-mc:11.0-latest + image: docker.seadrive.org/seafileltd/seafile-pro-mc:12.0-latest env: - name: DB_HOST value: "mariadb" diff --git a/manual/docker/pro-edition/migrate_ce_to_pro_with_docker.md b/manual/setup/migration/migrate_ce_to_pro_with_docker.md similarity index 100% rename from manual/docker/pro-edition/migrate_ce_to_pro_with_docker.md rename to manual/setup/migration/migrate_ce_to_pro_with_docker.md diff --git a/manual/docker/non_docker_to_docker.md b/manual/setup/migration/non_docker_to_docker.md similarity index 100% rename from manual/docker/non_docker_to_docker.md rename to manual/setup/migration/non_docker_to_docker.md diff --git a/manual/docker/seafile_docker_overview.md b/manual/setup/overview.md similarity index 76% rename from manual/docker/seafile_docker_overview.md rename to manual/setup/overview.md index dedf1fcc..088bcb22 100644 --- a/manual/docker/seafile_docker_overview.md +++ b/manual/setup/overview.md @@ -2,8 +2,8 @@ Seafile docker based installation consist of the following components (docker images): -- Seafile server: Seafile core services, see [Seafile Components](../overview/components.md) for the details. -- Sdoc server: SeaDoc server, provide a lightweight online collaborative document editor, see [SeaDoc](../extra_setup/setup_seadoc.md#architecture) for the details. +- Seafile server: Seafile core services, see [Seafile Components](../introduction/components.md) for the details. +- Sdoc server: SeaDoc server, provide a lightweight online collaborative document editor, see [SeaDoc](../extension/extra_components/setup_seadoc.md#architecture) for the details. - Database: Stores data related to Seafile and SeaDoc. - Memcached: Cache server. - Caddy: Caddy server enables user to access the Seafile service (i.e., Seafile server and Sdoc server) externally and handles `SSL` configuration diff --git a/manual/docker/deploy_seafile_with_docker.md b/manual/setup/single_node_installation/setup_community_edition.md similarity index 91% rename from manual/docker/deploy_seafile_with_docker.md rename to manual/setup/single_node_installation/setup_community_edition.md index ba5866c2..a6d8f1e4 100644 --- a/manual/docker/deploy_seafile_with_docker.md +++ b/manual/setup/single_node_installation/setup_community_edition.md @@ -1,4 +1,4 @@ -# Deploy Seafile with Docker +# Installation of Seafile Server Community Edition with Docker ## Getting started @@ -23,9 +23,9 @@ mkdir /opt/seafile cd /opt/seafile # Seafile CE 12.0 -wget -O .env https://manual.seafile.com/12.0/docker/docker-compose/ce/env -wget https://manual.seafile.com/12.0/docker/docker-compose/ce/seafile-server.yml -wget https://manual.seafile.com/12.0/docker/docker-compose/ce/caddy.yml +wget -O .env https://manual.seafile.com/12.0/docker/ce/env +wget https://manual.seafile.com/12.0/docker/ce/seafile-server.yml +wget https://manual.seafile.com/12.0/docker/ce/caddy.yml nano .env ``` @@ -122,11 +122,11 @@ Enter the username and password according to the prompts. You now have a new adm ## Backup and recovery -Follow the instructions in [Backup and restore for Seafile Docker](../maintain/backup_recovery.md) +Follow the instructions in [Backup and restore for Seafile Docker](../../administration/backup_recovery.md) ## Garbage collection -When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](../maintain/seafile_gc.md) process to be run, which detects which blocks no longer used and purges them. (**NOTE:** for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) +When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](../../administration/seafile_gc.md) process to be run, which detects which blocks no longer used and purges them. (**NOTE:** for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) The required scripts can be found in the `/scripts` folder of the docker container. To perform garbage collection, simply run `docker exec seafile /scripts/gc.sh`. For the community edition, this process will stop the seafile server, but it is a relatively quick process and the seafile server will start automatically once the process has finished. The Professional supports an online garbage collection. diff --git a/manual/docker/pro-edition/deploy_seafile_pro_with_docker.md b/manual/setup/single_node_installation/setup_pro_edition.md similarity index 93% rename from manual/docker/pro-edition/deploy_seafile_pro_with_docker.md rename to manual/setup/single_node_installation/setup_pro_edition.md index 4a21bdbe..2df9fad1 100644 --- a/manual/docker/pro-edition/deploy_seafile_pro_with_docker.md +++ b/manual/setup/single_node_installation/setup_pro_edition.md @@ -57,9 +57,9 @@ mkdir /opt/seafile cd /opt/seafile # Seafile PE 12.0 -wget -O .env https://manual.seafile.com/12.0/docker/docker-compose/pro/env -wget https://manual.seafile.com/12.0/docker/docker-compose/pro/seafile-server.yml -wget https://manual.seafile.com/12.0/docker/docker-compose/pro/caddy.yml +wget -O .env https://manual.seafile.com/12.0/docker/pro/env +wget https://manual.seafile.com/12.0/docker/pro/seafile-server.yml +wget https://manual.seafile.com/12.0/docker/pro/caddy.yml nano .env ``` @@ -80,7 +80,7 @@ The following fields merit particular attention: - `SEAFILE_ADMIN_EMAIL`: Admin username - `SEAFILE_ADMIN_PASSWORD`: Admin password -NOTE: SSL is now handled by the [caddy server](../deploy_seafile_with_docker.md#about-ssl-and-caddy) from 12.0. +NOTE: SSL is now handled by the [caddy server](./setup_community_edition.md#about-ssl-and-caddy) from 12.0. To conclude, set the directory permissions of the Elasticsearch volumne: @@ -170,11 +170,11 @@ All Seafile log files are stored in `/opt/seafile-data/seafile/logs` whereas all ## Backup and Recovery -Follow the instructions in [Backup and restore for Seafile Docker](../../maintain/backup_recovery.md) +Follow the instructions in [Backup and restore for Seafile Docker](../../administration/backup_recovery.md) ## Garbage Collection -When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](https://manual.seafile.com/maintain/seafile_gc/) process to be run, which detects which blocks no longer used and purges them. (NOTE: for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) +When files are deleted, the blocks comprising those files are not immediately removed as there may be other files that reference those blocks (due to the magic of deduplication). To remove them, Seafile requires a ['garbage collection'](../../administration/seafile_gc.md) process to be run, which detects which blocks no longer used and purges them. (NOTE: for technical reasons, the GC process does not guarantee that _every single_ orphan block will be deleted.) The required scripts can be found in the `/scripts` folder of the docker container. To perform garbage collection, simply run `docker exec seafile /scripts/gc.sh`. For the community edition, this process will stop the seafile server, but it is a relatively quick process and the seafile server will start automatically once the process has finished. The Professional supports an online garbage collection. diff --git a/manual/deploy/README.md b/manual/setup_binary/ce/README.md similarity index 62% rename from manual/deploy/README.md rename to manual/setup_binary/ce/README.md index fd37d863..f46de5f0 100644 --- a/manual/deploy/README.md +++ b/manual/setup_binary/ce/README.md @@ -2,22 +2,22 @@ We provide two ways to deploy Seafile services. **Docker is the recommended way**. Since version 12.0, binary based deployment for community edition is deprecated and will not be supported in a future release. -* Using [Docker](../docker/deploy_seafile_with_docker.md) +* Using [Docker](../../setup/single_node_installation/setup_community_edition.md) * Manually installing Seafile and setting up database, memcached and Nginx/Apache. See the following section. ## Manually deployment options -* [Deploying Seafile with MySQL](using_mysql.md) +* [Deploying Seafile with MySQL](installation.md) * Deploying Seafile with SQLite, note, deploy Seafile with SQLite is not supported since version 11.0 * [Enabling Https with Nginx](https_with_nginx.md) * [Enabling Https with Apache](https_with_apache.md) -* [Start Seafile at System Bootup](start_seafile_at_system_bootup.md) -* [Logrotate](using_logrotate.md) +* [Start Seafile at System Bootup](../other_deployment_notes/start_seafile_at_system_bootup.md) +* [Logrotate](../other_deployment_notes/using_logrotate.md) ## Trouble shooting -1. Read [Seafile Server Components Overview](../overview/components.md) to understand how Seafile server works. This will save you a lot of time. +1. Read [Seafile Server Components Overview](../../introduction/components.md) to understand how Seafile server works. This will save you a lot of time. 2. Read [FAQ](https://cloud.seatable.io/dtable/external-links/7b976c85f504491cbe8e/) 3. Go to our [forum](https://forum.seafile.com/) for help. diff --git a/manual/deploy/https_with_apache.md b/manual/setup_binary/ce/https_with_apache.md similarity index 85% rename from manual/deploy/https_with_apache.md rename to manual/setup_binary/ce/https_with_apache.md index 2a746300..9c61d905 100644 --- a/manual/deploy/https_with_apache.md +++ b/manual/setup_binary/ce/https_with_apache.md @@ -1,6 +1,6 @@ # Enabling HTTPS with Apache -After completing the installation of [Seafile Server Community Edition](../deploy/using_mysql/) and [Seafile Server Professional Edition](https://manual.seafile.com/deploy_pro/download_and_setup_seafile_professional_server/), communication between the Seafile server and clients runs over (unencrypted) HTTP. While HTTP is ok for testing purposes, switching to HTTPS is imperative for production use. +After completing the installation of [Seafile Server Community Edition](installation.md) and [Seafile Server Professional Edition](../pro/installation.md), communication between the Seafile server and clients runs over (unencrypted) HTTP. While HTTP is ok for testing purposes, switching to HTTPS is imperative for production use. HTTPS requires a SSL certificate from a Certificate Authority (CA). Unless you already have a SSL certificate, we recommend that you get your SSL certificate from [Let’s Encrypt](https://letsencrypt.org/) using Certbot. If you have a SSL certificate from another CA, skip the section "Getting a Let's Encrypt certificate". @@ -76,11 +76,11 @@ Getting a Let's Encrypt certificate is straightforward thanks to [Certbot](https First, go to the [Certbot](https://certbot.eff.org/) website and choose your web server and OS. -![grafik](../images/certbot.png) +![grafik](../../images/certbot.png) Second, follow the detailed instructions then shown. -![grafik](../images/certbot-step2.png) +![grafik](../../images/certbot-step2.png) @@ -146,14 +146,14 @@ sudo service apache2 restart ### Modifying seahub_settings.py -The `SERVICE_URL` in [seahub_settings.py](../config/seahub_settings_py/) informs Seafile about the chosen domain, protocol and port. Change the `SERVICE_URL`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the `http://`must not be removed): +The `SERVICE_URL` in [seahub_settings.py](../../config/seafile_config/seahub_settings_py.md) informs Seafile about the chosen domain, protocol and port. Change the `SERVICE_URL`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the `http://`must not be removed): ```python SERVICE_URL = 'https://seafile.example.com' ``` -The `FILE_SERVER_ROOT` in [seahub_settings.py](../config/seahub_settings_py/) informs Seafile about the location of and the protocol used by the file server. Change the `FILE_SERVER_ROOT`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the trailing `/seafhttp` must not be removed): +The `FILE_SERVER_ROOT` in [seahub_settings.py](../../config/seafile_config/seahub_settings_py.md) informs Seafile about the location of and the protocol used by the file server. Change the `FILE_SERVER_ROOT`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the trailing `/seafhttp` must not be removed): ```python FILE_SERVER_ROOT = 'https://seafile.example.com/seafhttp' diff --git a/manual/deploy/https_with_nginx.md b/manual/setup_binary/ce/https_with_nginx.md similarity index 92% rename from manual/deploy/https_with_nginx.md rename to manual/setup_binary/ce/https_with_nginx.md index 8b086dd9..4fdade11 100644 --- a/manual/deploy/https_with_nginx.md +++ b/manual/setup_binary/ce/https_with_nginx.md @@ -1,6 +1,6 @@ # Enabling HTTPS with Nginx -After completing the installation of [Seafile Server Community Edition](../using_mysql/) and [Seafile Server Professional Edition](https://manual.seafile.com/deploy_pro/download_and_setup_seafile_professional_server/), communication between the Seafile server and clients runs over (unencrypted) HTTP. While HTTP is ok for testing purposes, switching to HTTPS is imperative for production use. +After completing the installation of [Seafile Server Community Edition](installation.md) and [Seafile Server Professional Edition](../pro/installation.md), communication between the Seafile server and clients runs over (unencrypted) HTTP. While HTTP is ok for testing purposes, switching to HTTPS is imperative for production use. HTTPS requires a SSL certificate from a Certificate Authority (CA). Unless you already have a SSL certificate, we recommend that you get your SSL certificate from [Let’s Encrypt](https://letsencrypt.org/) using Certbot. If you have a SSL certificate from another CA, skip the section "Getting a Let's Encrypt certificate". @@ -141,7 +141,7 @@ Optional customizable options in the seafile.conf are: * Proxy pass for location `/seafhttp` - if seaf-server is configured to start on a different port than 8082 * Maximum allowed size of the client request body (`client_max_body_size`) -The default value for `client_max_body_size` is 1M. Uploading larger files will result in an error message HTTP error code 413 ("Request Entity Too Large"). It is recommended to syncronize the value of client_max_body_size with the parameter `max_upload_size` in section `[fileserver]` of [seafile.conf](../config/seafile-conf.md). Optionally, the value can also be set to 0 to disable this feature. Client uploads are only partly effected by this limit. With a limit of 100 MiB they can safely upload files of any size. +The default value for `client_max_body_size` is 1M. Uploading larger files will result in an error message HTTP error code 413 ("Request Entity Too Large"). It is recommended to syncronize the value of client_max_body_size with the parameter `max_upload_size` in section `[fileserver]` of [seafile.conf](../../config/seafile_config/seafile-conf.md). Optionally, the value can also be set to 0 to disable this feature. Client uploads are only partly effected by this limit. With a limit of 100 MiB they can safely upload files of any size. Finally, make sure your seafile.conf does not contain syntax errors and restart Nginx for the configuration changes to take effect: @@ -157,11 +157,11 @@ $ nginx -s reload Getting a Let's Encrypt certificate is straightforward thanks to [Certbot](https://certbot.eff.org/). Certbot is a free, open source software tool for requesting, receiving, and renewing Let's Encrypt certificates. First, go to the [Certbot](https://certbot.eff.org/) website and choose your webserver and OS. -![grafik](../images/certbot.png) +![grafik](../../images/certbot.png) Second, follow the detailed instructions then shown. -![grafik](../images/certbot-step2.png) +![grafik](../../images/certbot-step2.png) @@ -245,14 +245,14 @@ If you have WebDAV enabled it is recommended to add the same: ### Modifying seahub_settings.py -The `SERVICE_URL` in [seahub_settings.py](../../config/seahub_settings_py/) informs Seafile about the chosen domain, protocol and port. Change the `SERVICE_URL`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the `http://` must not be removed): +The `SERVICE_URL` in [seahub_settings.py](../../config/seafile_config/seahub_settings_py.md) informs Seafile about the chosen domain, protocol and port. Change the `SERVICE_URL`so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the `http://` must not be removed): ```python SERVICE_URL = 'https://seafile.example.com' ``` -The `FILE_SERVER_ROOT` in [seahub_settings.py](../../config/seahub_settings_py/) informs Seafile about the location of and the protocol used by the file server. Change the `FILE_SERVER_ROOT` so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the trailing `/seafhttp` must not be removed): +The `FILE_SERVER_ROOT` in [seahub_settings.py](../../config/seafile_config/seahub_settings_py.md) informs Seafile about the location of and the protocol used by the file server. Change the `FILE_SERVER_ROOT` so as to account for the switch from HTTP to HTTPS and to correspond to your host name (the trailing `/seafhttp` must not be removed): ```python FILE_SERVER_ROOT = 'https://seafile.example.com/seafhttp' diff --git a/manual/deploy/using_mysql.md b/manual/setup_binary/ce/installation.md similarity index 98% rename from manual/deploy/using_mysql.md rename to manual/setup_binary/ce/installation.md index 4f5aea33..83474f5a 100644 --- a/manual/deploy/using_mysql.md +++ b/manual/setup_binary/ce/installation.md @@ -235,7 +235,7 @@ $ tree -L 2 ### Setting up Seafile CE -The install package comes with a script that sets Seafile up for you. Specifically, the script creates the required directories and extracts all files in the right place. It can also create a MySQL user and the three databases that [Seafile's components](../overview/components.md) require : +The install package comes with a script that sets Seafile up for you. Specifically, the script creates the required directories and extracts all files in the right place. It can also create a MySQL user and the three databases that [Seafile's components](../introduction/components.md) require : * ccnet server * seafile server @@ -266,7 +266,7 @@ Configure your Seafile Server by specifying the following three parameters: In the next step, choose whether to create new databases for Seafile or to use existing databases. The creation of new databases requires the root password for the SQL server. -![grafik](../images/seafile-setup-database.png) +![grafik](../../images/seafile-setup-database.png) When choosing "\[1] Create new ccnet/seafile/seahub databases", the script creates these databases and a MySQL user that Seafile Server will use to access them. To this effect, you need to answer these questions: @@ -295,7 +295,7 @@ When choosing "\[2] Use existing ccnet/seafile/seahub databases", this are the p If the setup is successful, you see the following output: -![grafik](../images/seafile-setup-output.png) +![grafik](../../images/seafile-setup-output.png) The directory layout then looks as follows: @@ -464,8 +464,8 @@ It is strongly recommended to switch from unencrypted HTTP (via port 8000) to en This manual provides instructions for enabling HTTPS for the two most popular web servers and reverse proxies: -* [Nginx](https://manual.seafile.com/deploy/https_with_nginx/) -* [Apache](https://manual.seafile.com/deploy/https_with_apache/) +* [Nginx](https_with_nginx.md) +* [Apache](https_with_apache.md) diff --git a/manual/security/fail2ban.md b/manual/setup_binary/other_deployment_notes/fail2ban.md similarity index 100% rename from manual/security/fail2ban.md rename to manual/setup_binary/other_deployment_notes/fail2ban.md diff --git a/manual/deploy/migrate_from_sqlite_to_mysql.md b/manual/setup_binary/other_deployment_notes/migrate_from_sqlite_to_mysql.md similarity index 98% rename from manual/deploy/migrate_from_sqlite_to_mysql.md rename to manual/setup_binary/other_deployment_notes/migrate_from_sqlite_to_mysql.md index c3941487..61f4daa2 100644 --- a/manual/deploy/migrate_from_sqlite_to_mysql.md +++ b/manual/setup_binary/other_deployment_notes/migrate_from_sqlite_to_mysql.md @@ -48,7 +48,7 @@ mysql> use seahub_db; mysql> source seahub-db.sql; ``` -Modify configure files:Append following lines to [ccnet.conf](../config/ccnet-conf.md): +Modify configure files:Append following lines to [ccnet.conf](../../config/seafile_config/ccnet-conf.md): ``` [Database] diff --git a/manual/deploy/start_seafile_at_system_bootup.md b/manual/setup_binary/other_deployment_notes/start_seafile_at_system_bootup.md similarity index 100% rename from manual/deploy/start_seafile_at_system_bootup.md rename to manual/setup_binary/other_deployment_notes/start_seafile_at_system_bootup.md diff --git a/manual/deploy/using_logrotate.md b/manual/setup_binary/other_deployment_notes/using_logrotate.md similarity index 100% rename from manual/deploy/using_logrotate.md rename to manual/setup_binary/other_deployment_notes/using_logrotate.md diff --git a/manual/setup_binary/pro/README.md b/manual/setup_binary/pro/README.md new file mode 100644 index 00000000..a6fe9ce5 --- /dev/null +++ b/manual/setup_binary/pro/README.md @@ -0,0 +1,26 @@ +# Deploy Seafile Pro Edition + +There are two ways to deploy Seafile Pro Edition. Since version 8.0, the recommend way to install Seafile Pro Edition is using Docker. + +- Method 1: [Deploy Seafile with Docker](../../setup/single_node_installation/setup_pro_edition.md) +- Method 2: [Download and Setup Seafile Professional Server Step by Step](installation.md) + +## Migration from community edition + +- [Migrate from Seafile Community edition](migrate_from_seafile_community_server.md) + +## S3 Storage Backends + +- [Setup Seafile Professional Server With S3](../../setup/advanced_topics/storage_backends/setup_with_amazon_s3.md) +- [Setup Seafile Professional Server With OpenStack Swift](../../setup/advanced_topics/storage_backends/setup_with_swift.md) +- [Data migration between different backends](../../setup/advanced_topics/storage_backends/migrate.md) +- [Using multiple storage backends](../../setup/advanced_topics/storage_backends/multiple_storage_backends.md) + +## Cluster + +- [Deploy seafile servers in a cluster](./cluster/deploy_in_a_cluster.md) +- [Enable search and background tasks in a cluster](./cluster/enable_search_and_background_tasks_in_a_cluster.md) +- [Setup Seafile cluster with NFS](./cluster/setup_seafile_cluster_with_nfs.md) + + + diff --git a/manual/deploy_pro/deploy_in_a_cluster.md b/manual/setup_binary/pro/cluster/deploy_in_a_cluster.md similarity index 93% rename from manual/deploy_pro/deploy_in_a_cluster.md rename to manual/setup_binary/pro/cluster/deploy_in_a_cluster.md index 04c91ec0..cc8d81b0 100644 --- a/manual/deploy_pro/deploy_in_a_cluster.md +++ b/manual/setup_binary/pro/cluster/deploy_in_a_cluster.md @@ -12,7 +12,7 @@ The Seafile cluster solution employs a 3-tier architecture: This architecture scales horizontally. That means, you can handle more traffic by adding more machines. The architecture is visualized in the following picture. -![seafile-cluster](../images/seafile-cluster-arch.png) +![seafile-cluster](../../../images/seafile-cluster-arch.png) There are two main components on the Seafile server node: web server (Nginx/Apache) and Seafile app server. The web server passes requests from the clients to Seafile app server. The Seafile app servers work independently. They don't know about each other's state. That means each app server can fail independently without affecting other app server instances. The load balancer is responsible for detecting failure and re-routing requests. @@ -88,7 +88,7 @@ haiwen ### Setup Seafile -Please follow [Download and Setup Seafile Professional Server With MySQL](download_and_setup_seafile_professional_server.md) to setup a single Seafile server node. +Please follow [Download and Setup Seafile Professional Server With MySQL](../installation.md) to setup a single Seafile server node. Note: **Use the load balancer's address or domain name for the server address. Don't use the local IP address of each Seafile server machine. This assures the user will always access your service via the load balancers.** @@ -147,7 +147,7 @@ health_check_port = 12345 #### seahub_settings.py -You must setup and use memory cache when deploying Seafile cluster. Refer to ["memory cache"](/config/seahub_settings_py/#cache) to configure memory cache in Seahub. +You must setup and use memory cache when deploying Seafile cluster. Refer to ["memory cache"](../../../config/seafile_config/seahub_settings_py.md#cache) to configure memory cache in Seahub. Also add following options to seahub_setting.py. These settings tell Seahub to store avatar in database and cache avatar in memcached, and store css CACHE to local memory. @@ -196,10 +196,10 @@ CREATE TABLE `avatar_uploaded` (`filename` TEXT NOT NULL, `filename_md5` CHAR(32 You also need to add the settings for backend cloud storage systems to the config files. * For NFS: [Setup Seafile cluster with NFS](setup_seafile_cluster_with_nfs.md) -* For S3: [Setup With Amazon S3](setup_with_amazon_s3.md) -* For OpenStack Swift: [Setup With OpenStackSwift](setup_with_openstackswift.md) -* For Ceph: [Setup With Ceph](setup_with_ceph.md) -* For OSS: [Setup With Alibaba OSS](setup_with_oss.md) +* For S3: [Setup With Amazon S3](../../../setup/advanced_topics/storage_backends/setup_with_amazon_s3.md) +* For OpenStack Swift: [Setup With OpenStackSwift](../../../setup/advanced_topics/storage_backends/setup_with_swift.md) +* For Ceph: [Setup With Ceph](../../../setup/advanced_topics/storage_backends/setup_with_ceph.md) +* For OSS: [Setup With Alibaba OSS](../../../setup/advanced_topics/storage_backends/setup_with_oss.md) ### Setup Nginx/Apache and HTTP @@ -207,8 +207,8 @@ Nginx/Apache with HTTP need to set it up on each machine running Seafile server. Please check the following documents on how to setup HTTP with Nginx/Apache. Note, you only the HTTP setup part the the documents. (HTTPS is not needed) -* [Nginx](https://manual.seafile.com/deploy/https_with_nginx/) -* [Apache](https://manual.seafile.com/deploy/https_with_apache/) +* [Nginx](../../ce/https_with_nginx.md) +* [Apache](../../ce/https_with_apache.md) ### Run and Test the Single Node @@ -250,7 +250,7 @@ export CLUSTER_MODE=backend ## Start Seafile Service on boot -It would be convenient to setup Seafile service to start on system boot. Follow [this documentation](../deploy/start_seafile_at_system_bootup.md) to set it up on **all nodes**. +It would be convenient to setup Seafile service to start on system boot. Follow [this documentation](../../other_deployment_notes/start_seafile_at_system_bootup.md) to set it up on **all nodes**. ## Firewall Settings @@ -271,7 +271,7 @@ First you should setup HTTP(S) listeners. Ports 443 and 80 of ELB should be forw Then you setup health check -![elb-health-check](../images/elb-health-check.png) +![elb-health-check](../../../images/elb-health-check.png) Refer to [AWS documentation](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html) about how to setup sticky sessions. diff --git a/manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md b/manual/setup_binary/pro/cluster/enable_search_and_background_tasks_in_a_cluster.md similarity index 97% rename from manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md rename to manual/setup_binary/pro/cluster/enable_search_and_background_tasks_in_a_cluster.md index d08045a8..f305c83b 100644 --- a/manual/deploy_pro/enable_search_and_background_tasks_in_a_cluster.md +++ b/manual/setup_binary/pro/cluster/enable_search_and_background_tasks_in_a_cluster.md @@ -1,4 +1,4 @@ -_Note:_ Before you try to deploy file search office documents preview, make sure other parts of your seafile cluster are already working, e.g upload/download files in a web browser. Make sure memory cache is configured as described in ["Deploy in a cluster"](./deploy_in_a_cluster.md). +_Note:_ Before you try to deploy file search office documents preview, make sure other parts of your seafile cluster are already working, e.g upload/download files in a web browser. Make sure memory cache is configured as described in ["Deploy in a cluster"](deploy_in_a_cluster.md). # Enable search and background tasks in a cluster @@ -15,7 +15,7 @@ Let's assume you have three nodes in your cluster: A, B, and C. * Node A is backend node that run background tasks. * Node B and C are frontend nodes that serving requests from clients. -![cluster-nodes](../images/cluster-nodes.png) +![cluster-nodes](../../../images/cluster-nodes.png) ## 7.1, 8.0 @@ -60,7 +60,7 @@ port = 6000 host is the IP address of background node, make sure the front end nodes can access the background node via IP:6000 . -Edit **seafile.conf** to enable virus scan according to [virus scan document](virus_scan.md) +Edit **seafile.conf** to enable virus scan according to [virus scan document](../../../extension/virus_scan/virus_scan.md) #### Edit the firewall rules @@ -189,7 +189,7 @@ interval = 10m highlight = fvh # this is for improving the search speed ``` -Edit **seafile.conf** to enable virus scan according to [virus scan document](virus_scan.md) +Edit **seafile.conf** to enable virus scan according to [virus scan document](../../../extension/virus_scan/virus_scan.md) ### Configure Other Nodes diff --git a/manual/deploy_pro/memcached_mariadb_cluster.md b/manual/setup_binary/pro/cluster/memcached_mariadb_cluster.md similarity index 100% rename from manual/deploy_pro/memcached_mariadb_cluster.md rename to manual/setup_binary/pro/cluster/memcached_mariadb_cluster.md diff --git a/manual/deploy_pro/setup_seafile_cluster_with_nfs.md b/manual/setup_binary/pro/cluster/setup_seafile_cluster_with_nfs.md similarity index 100% rename from manual/deploy_pro/setup_seafile_cluster_with_nfs.md rename to manual/setup_binary/pro/cluster/setup_seafile_cluster_with_nfs.md diff --git a/manual/deploy_pro/download_and_setup_seafile_professional_server.md b/manual/setup_binary/pro/installation.md similarity index 98% rename from manual/deploy_pro/download_and_setup_seafile_professional_server.md rename to manual/setup_binary/pro/installation.md index b6da8f87..383e9766 100644 --- a/manual/deploy_pro/download_and_setup_seafile_professional_server.md +++ b/manual/setup_binary/pro/installation.md @@ -111,7 +111,7 @@ sudo pip3 install --timeout=3600 django==4.2.* future==0.18.* mysqlclient==2.1.* psd-tools django-pylibmc django_simple_captcha==0.6.* pycryptodome==3.16.* cffi==1.15.1 python-ldap==3.4.3 lxml ``` -**Note**: The recommended deployment option for Seafile PE on CentOS/Redhat is [Docker](https://manual.seafile.com/docker/pro-edition/deploy_seafile_pro_with_docker/). +**Note**: The recommended deployment option for Seafile PE on CentOS/Redhat is [Docker](../../setup/single_node_installation/setup_pro_edition.md). **For Seafile 11.0.x on Debian 12 and Ubuntu 24.04 with virtual env** @@ -312,7 +312,7 @@ $ tree -L 2 /opt/seafile ### Run the setup script -The setup process of Seafile PE is the same as the Seafile CE. See [Installation of Seafile Server Community Edition with MySQL/MariaDB](../deploy/using_mysql.md). +The setup process of Seafile PE is the same as the Seafile CE. See [Installation of Seafile Server Community Edition with MySQL/MariaDB](../ce/installation.md). After the successful completition of the setup script, the directory layout of Seafile PE looks as follows (some folders only get created after the first start, e.g. `logs`): @@ -415,8 +415,8 @@ Then refer to [Django's documentation about using Redis cache](https://docs.djan You need at least setup HTTP to make Seafile's web interface work. This manual provides instructions for enabling HTTP/HTTPS for the two most popular web servers and reverse proxies: -* [Nginx](https://manual.seafile.com/deploy/https_with_nginx/) -* [Apache](https://manual.seafile.com/deploy/https_with_apache/) +* [Nginx](../ce/https_with_nginx.md) +* [Apache](../ce/https_with_apache.md) ## Starting Seafile Server diff --git a/manual/deploy_pro/migrate_from_seafile_community_server.md b/manual/setup_binary/pro/migrate_from_seafile_community_server.md similarity index 100% rename from manual/deploy_pro/migrate_from_seafile_community_server.md rename to manual/setup_binary/pro/migrate_from_seafile_community_server.md diff --git a/manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md b/manual/setup_binary/pro/seafile_professional_sdition_software_license_agreement.md similarity index 100% rename from manual/deploy_pro/seafile_professional_sdition_software_license_agreement.md rename to manual/setup_binary/pro/seafile_professional_sdition_software_license_agreement.md diff --git a/manual/upgrade/upgrade_a_cluster_docker.md b/manual/upgrade/upgrade_a_cluster_docker.md index 8e7edfc0..b414cd80 100644 --- a/manual/upgrade/upgrade_a_cluster_docker.md +++ b/manual/upgrade/upgrade_a_cluster_docker.md @@ -22,14 +22,14 @@ Maintanence upgrade only needs to download the new image, stop the old docker co ## Upgrade from 10.0 to 11.0 -Migrate your configuration for LDAP and OAuth according to +Migrate your configuration for LDAP and OAuth according to [here](upgrade_notes_for_11.0.x.md) ## Upgrade from 9.0 to 10.0 -If you are using with ElasticSearch, SAML SSO and storage backend features, follow the upgrading manual on how to update the configuration for these features: +If you are using with ElasticSearch, SAML SSO and storage backend features, follow the upgrading manual on how to update the configuration for [these features](upgrade_notes_for_10.0.x.md). -If you want to use the new notification server and rate control (pro edition only), please refer to the upgrading manual: +If you want to use the new notification server and rate control (pro edition only), please refer to the [upgrading manual](upgrade_notes_for_10.0.x.md). ## Upgrade from 8.0 to 9.0 -If you are using with ElasticSearch, follow the upgrading manual on how to update the configuration: +If you are using with ElasticSearch, follow the upgrading manual on how to [update the configuration](upgrade_notes_for_9.0.x.md). diff --git a/manual/upgrade/upgrade_docker.md b/manual/upgrade/upgrade_docker.md index 7ac3456e..21fb443e 100644 --- a/manual/upgrade/upgrade_docker.md +++ b/manual/upgrade/upgrade_docker.md @@ -9,7 +9,7 @@ Please check the **upgrade notes** for any special configuration or changes befo ## Upgrade from 10.0 to 11.0 -Download the new image, stop the old docker container, modify the Seafile image version in docker-compose.yml to the new version. Taking the [community edition](../docker/deploy_seafile_with_docker.md) as an example, you have to modify +Download the new image, stop the old docker container, modify the Seafile image version in docker-compose.yml to the new version. Taking the [community edition](../setup/single_node_installation/setup_community_edition.md) as an example, you have to modify ```yml ... @@ -37,7 +37,7 @@ service: - MariaDB: 10.11 - Memcached: 1.6.18 -What's more, you have to migrate configuration for LDAP and OAuth according to +What's more, you have to migrate configuration for LDAP and OAuth according to [here](upgrade_notes_for_11.0.x.md) Start with docker compose up. @@ -45,9 +45,9 @@ Start with docker compose up. Just download the new image, stop the old docker container, modify the Seafile image version in docker-compose.yml to the new version, then start with docker compose up. -If you are using pro edition with ElasticSearch, SAML SSO and storage backend features, follow the upgrading manual on how to update the configuration for these features: +If you are using pro edition with ElasticSearch, SAML SSO and storage backend features, follow the upgrading manual on how to update the configuration for these [features](upgrade_notes_for_10.0.x.md). -If you want to use the new notification server and rate control (pro edition only), please refer to the upgrading manual: +If you want to use the new notification server and rate control (pro edition only), please refer to the [upgrading manual](upgrade_notes_for_10.0.x.md). ## Upgrade from 8.0 to 9.0 @@ -99,22 +99,22 @@ First, backup the original docker-compose.yml file: mv docker-compose.yml docker-compose.yml.bak ``` -Then download [.env](https://manual.seafile.com/docker/docker-compose/ce/12.0/env), [seafile-server.yml](https://manual.seafile.com/docker/docker-compose/ce/12.0/seafile-server.yml) and [caddy.yml](https://manual.seafile.com/docker/docker-compose/ce/12.0/caddy.yml), and modify .env file according to the old configuration in `docker-compose.yml.bak` +Then download [.env](../docker/ce/env), [seafile-server.yml](../docker/ce/seafile-server.yml) and [caddy.yml](../docker/ce/caddy.yml), and modify .env file according to the old configuration in `docker-compose.yml.bak` For community edition: ```sh -wget -O .env https://manual.seafile.com/docker/docker-compose/ce/12.0/env -wget https://manual.seafile.com/docker/docker-compose/ce/12.0/seafile-server.yml -wget https://manual.seafile.com/docker/docker-compose/ce/12.0/caddy.yml +wget -O .env https://manual.seafile.com/12.0/docker/ce/env +wget https://manual.seafile.com/12.0/docker/ce/seafile-server.yml +wget https://manual.seafile.com/12.0/docker/ce/caddy.yml ``` For pro edition: ```sh -wget -O .env https://manual.seafile.com/docker/docker-compose/pro/12.0/env -wget https://manual.seafile.com/docker/docker-compose/pro/12.0/seafile-server.yml -wget https://manual.seafile.com/docker/docker-compose/pro/12.0/caddy.yml +wget -O .env https://manual.seafile.com/12.0/docker/pro/env +wget https://manual.seafile.com/12.0/docker/pro/seafile-server.yml +wget https://manual.seafile.com/12.0/docker/pro/caddy.yml ``` The following fields merit particular attention: @@ -129,7 +129,7 @@ The following fields merit particular attention: - `SEAFILE_SERVER_HOSTNAME`: Seafile server hostname or domain - `SEAFILE_SERVER_PROTOCOL`: Seafile server protocol (http or https) -SSL is now handled by the [caddy server](../docker/deploy_seafile_with_docker.md#about-ssl-and-caddy). If you have used SSL before, you will also need modify the seafile.nginx.conf. Change server listen 443 to 80. +SSL is now handled by the [caddy server](../setup/single_node_installation/setup_community_edition.md#about-ssl-and-caddy). If you have used SSL before, you will also need modify the seafile.nginx.conf. Change server listen 443 to 80. Backup the original seafile.nginx.conf file: @@ -182,18 +182,18 @@ SeaDoc 1.0 is for working with Seafile 12.0. SeaDoc and Seafile are deployed in In version 1.0, we use .env file to configure SeaDoc docker image, instead of modifying the docker-compose.yml file directly. -Download [seadoc.yml](https://manual.seafile.com/docker/docker-compose/ce/12.0/seadoc.yml) to the Seafile `seafile-server.yml` directory, then modify Seafile .env file. +Download [seadoc.yml](../docker/ce/seadoc.yml) to the Seafile `seafile-server.yml` directory, then modify Seafile .env file. For community edition: ```sh -wget https://manual.seafile.com/docker/docker-compose/ce/12.0/seadoc.yml +wget https://manual.seafile.com/12.0/docker/ce/seadoc.yml ``` For pro edition: ```sh -wget https://manual.seafile.com/docker/docker-compose/pro/12.0/seadoc.yml +wget https://manual.seafile.com/12.0/docker/pro/seadoc.yml ``` ```env diff --git a/manual/upgrade/upgrade_notes_for_10.0.x.md b/manual/upgrade/upgrade_notes_for_10.0.x.md index 3edb1866..d753eb70 100644 --- a/manual/upgrade/upgrade_notes_for_10.0.x.md +++ b/manual/upgrade/upgrade_notes_for_10.0.x.md @@ -16,7 +16,7 @@ The notification server enables desktop syncing and drive clients to get notific The notification server works with Seafile syncing client 9.0+ and drive client 3.0+. -Please follow the document to enable notification server: https://manual.seafile.com/config/seafile-conf/#notification-server-configuration +Please follow the document to [enable notification server](../extension/extra_components/notification-server.md) ### Memcached section in the seafile.conf (pro edition only) @@ -46,7 +46,7 @@ SAML_ATTRIBUTE_MAPPING = { } ``` -Please check the new document on [SAML SSO](../deploy_pro/saml2_in_10.0.md) +Please check the new document on [SAML SSO](../config/authentication/sso/saml2_in_10.0.md) ### Rate control in role settings (pro edition only) diff --git a/manual/upgrade/upgrade_notes_for_11.0.x.md b/manual/upgrade/upgrade_notes_for_11.0.x.md index e3937490..af390b55 100644 --- a/manual/upgrade/upgrade_notes_for_11.0.x.md +++ b/manual/upgrade/upgrade_notes_for_11.0.x.md @@ -47,7 +47,7 @@ There are several reasons driving this change: * Docker deployments - Our official Docker images do not support SQLite. MySQL is the preferred option. * Migration difficulties - Migrating SQLite databases to MySQL via SQL translation is unreliable. -To migrate from SQLite database to MySQL database, you can follow the document [Migrate from SQLite to MySQL](../deploy/migrate_from_sqlite_to_mysql.md). If you have issues in the migration, just post a thread in our forum. We are glad to help you. +To migrate from SQLite database to MySQL database, you can follow the document [Migrate from SQLite to MySQL](../setup_binary/other_deployment_notes/migrate_from_sqlite_to_mysql.md). If you have issues in the migration, just post a thread in our forum. We are glad to help you. ### ElasticSearch change (pro edition only) diff --git a/manual/upgrade/upgrade_notes_for_12.0.x.md b/manual/upgrade/upgrade_notes_for_12.0.x.md index 4b1e5d6e..e545c2e2 100644 --- a/manual/upgrade/upgrade_notes_for_12.0.x.md +++ b/manual/upgrade/upgrade_notes_for_12.0.x.md @@ -92,7 +92,7 @@ From version 1.0, SeaDoc is using seahub_db database to store its operation logs ### Deploy a new SeaDoc server -Please see the document [Setup SeaDoc](../extra_setup/setup_seadoc.md) to install SeaDoc on a separate machine and integrate with your binary packaged based Seafile server v12.0. +Please see the document [Setup SeaDoc](../extension/extra_components/setup_seadoc.md) to install SeaDoc on a separate machine and integrate with your binary packaged based Seafile server v12.0. ## FAQ diff --git a/mkdocs.yml b/mkdocs.yml index c9da224b..16577ffb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,109 +67,109 @@ markdown_extensions: # Page tree nav: - Introduction: - - Introduction: README.md - - Seafile Components: overview/components.md - - File permission management: overview/file_permission_management.md - - Roadmap: roadmap.md - - Contribution: contribution.md + - Introduction: introduction/README.md + - Seafile Components: introduction/components.md + - File permission management: introduction/file_permission_management.md + - Roadmap: introduction/roadmap.md + - Contribution: introduction/contribution.md - Setup: - - Overview: docker/seafile_docker_overview.md + - Overview: setup/overview.md - Single node installation: - - Setup community edition: docker/deploy_seafile_with_docker.md - - Setup pro edition: docker/pro-edition/deploy_seafile_pro_with_docker.md + - Setup community edition: setup/single_node_installation/setup_community_edition.md + - Setup pro edition: setup/single_node_installation/setup_pro_edition.md - Advanced topics: - Storage Backends: - - S3 Backend: deploy_pro/setup_with_amazon_s3.md - - Ceph Backend: deploy_pro/setup_with_ceph.md - - OpenStack Swift Backend: deploy_pro/setup_with_swift.md - - Alibaba OSS: deploy_pro/setup_with_oss.md - - Multiple Storage Backends: deploy_pro/multiple_storage_backends.md - - Data migration: deploy_pro/migrate.md - - Seafile Docker autostart: docker/seafile_docker_autostart.md - - Deploy with an existing MySQL server: docker/deploy_seafile_with_an_existing_mysql_server.md - - Run Seafile as non root user inside docker: docker/run_seafile_as_non_root_user_inside_docker.md + - S3 Backend: setup/advanced_topics/storage_backends/setup_with_amazon_s3.md + - Ceph Backend: setup/advanced_topics/storage_backends/setup_with_ceph.md + - OpenStack Swift Backend: setup/advanced_topics/storage_backends/setup_with_swift.md + - Alibaba OSS: setup/advanced_topics/storage_backends/setup_with_oss.md + - Multiple Storage Backends: setup/advanced_topics/storage_backends/multiple_storage_backends.md + - Data migration: setup/advanced_topics/storage_backends/migrate.md + - Seafile Docker autostart: setup/advanced_topics/seafile_docker_autostart.md + - Deploy with an existing MySQL server: setup/advanced_topics/deploy_seafile_with_an_existing_mysql_server.md + - Run Seafile as non root user inside docker: setup/advanced_topics/run_seafile_as_non_root_user_inside_docker.md - Cluster installation: - - Seafile Docker Cluster Deployment: docker/cluster/deploy_seafile_cluster_with_docker.md - - Setup with Kubernetes (K8s): deploy/deploy_with_k8s.md + - Seafile Docker Cluster Deployment: setup/cluster_installation/deploy_seafile_cluster_with_docker.md + - Setup with Kubernetes (K8s): setup/cluster_installation/deploy_with_k8s.md - Migration: - - Migration from Seafile Community: docker/pro-edition/migrate_ce_to_pro_with_docker.md - - Migrate from non-docker deployment: docker/non_docker_to_docker.md + - Migration from Seafile Community: setup/migration/migrate_ce_to_pro_with_docker.md + - Migrate from non-docker deployment: setup/migration/non_docker_to_docker.md - Setup (binary): - Seafile Community Setup: - - Outline: deploy/README.md - - Installation: deploy/using_mysql.md - - HTTPS with Nginx: deploy/https_with_nginx.md - - HTTPS with Apache: deploy/https_with_apache.md + - Outline: setup_binary/ce/README.md + - Installation: setup_binary/ce/installation.md + - HTTPS with Nginx: setup_binary/ce/https_with_nginx.md + - HTTPS with Apache: setup_binary/ce/https_with_apache.md - Seafile Professional Setup: - - Outline: deploy_pro/README.md - - Installation: deploy_pro/download_and_setup_seafile_professional_server.md - - Migration from Seafile Community: deploy_pro/migrate_from_seafile_community_server.md + - Outline: setup_binary/pro/README.md + - Installation: setup_binary/pro/installation.md + - Migration from Seafile Community: setup_binary/pro/migrate_from_seafile_community_server.md - Cluster deployment: - - Deploy in a cluster: deploy_pro/deploy_in_a_cluster.md - - Search and background tasks in a cluster: deploy_pro/enable_search_and_background_tasks_in_a_cluster.md - - Memcache and MariaDB Cluster: deploy_pro/memcached_mariadb_cluster.md - - Setup Seafile cluster with NFS: deploy_pro/setup_seafile_cluster_with_nfs.md - - License: deploy_pro/seafile_professional_sdition_software_license_agreement.md + - Deploy in a cluster: setup_binary/pro/cluster/deploy_in_a_cluster.md + - Search and background tasks in a cluster: setup_binary/pro/cluster/enable_search_and_background_tasks_in_a_cluster.md + - Memcache and MariaDB Cluster: setup_binary/pro/cluster/memcached_mariadb_cluster.md + - Setup Seafile cluster with NFS: setup_binary/pro/cluster/setup_seafile_cluster_with_nfs.md + - License: setup_binary/pro/seafile_professional_sdition_software_license_agreement.md - Other deployment notes: - - Start Seafile at System Bootup: deploy/start_seafile_at_system_bootup.md - - Logrotate: deploy/using_logrotate.md - - Config fail2ban: security/fail2ban.md - - Migrate From SQLite to MySQL: deploy/migrate_from_sqlite_to_mysql.md + - Start Seafile at System Bootup: setup_binary/other_deployment_notes/start_seafile_at_system_bootup.md + - Logrotate: setup_binary/other_deployment_notes/using_logrotate.md + - Config fail2ban: setup_binary/other_deployment_notes/fail2ban.md + - Migrate From SQLite to MySQL: setup_binary/other_deployment_notes/migrate_from_sqlite_to_mysql.md - Extensions: - Extra Seafile components: - - SeaDoc Integration: extra_setup/setup_seadoc.md - - Notification Server: deploy/notification-server.md - - WebDAV extension: extension/webdav.md - - FUSE extension: extension/fuse.md + - SeaDoc Integration: extension/extra_components/setup_seadoc.md + - Notification Server: extension/extra_components/notification-server.md + - WebDAV extension: extension/extra_components/webdav.md + - FUSE extension: extension/extra_components/fuse.md - Online Office: - - LibreOffice Online Integration: deploy/libreoffice_online.md - - OnlyOffice Integration: deploy/only_office.md - - Office Online Server Integration (Pro): deploy_pro/office_web_app.md + - LibreOffice Online Integration: extension/online_office/libreoffice_online.md + - OnlyOffice Integration: extension/online_office/only_office.md + - Office Online Server Integration (Pro): extension/online_office/office_web_app.md - Virus Scan (Pro): - - Outline: deploy_pro/virus_scan.md - - Virus scan with ClamAV: deploy_pro/deploy_clamav_with_seafile.md - - Virus scan with Kav4fs: deploy_pro/virus_scan_with_kav4fs.md + - Outline: extension/virus_scan/virus_scan.md + - Virus scan with ClamAV: extension/virus_scan/deploy_clamav_with_seafile.md + - Virus scan with Kav4fs: extension/virus_scan/virus_scan_with_kav4fs.md - Configuration: - Authentication & Users: - LDAP/AD Integration: - - LDAP Integration: deploy/ldap_in_11.0.md - - LDAP Integration (Pro): deploy_pro/ldap_in_11.0.md + - LDAP Integration: config/authentication/ldap/ce/ldap_in_11.0.md + - LDAP Integration (Pro): config/authentication/ldap/pro/ldap_in_11.0.md - Single Sign On: - - Outline: deploy/single_sign_on.md - - OAuth Authentication: deploy/oauth.md - - Remote User Authentication: deploy/remote_user.md - - Shibboleth Authentication: deploy/shibboleth_authentication.md - - Auto Login to SeaDrive on Windows: deploy/auto_login_seadrive.md - - SAML 2.0 (Pro): deploy_pro/saml2_in_10.0.md - - Switch authentication: deploy/auth_switch.md + - Outline: config/authentication/sso/single_sign_on.md + - OAuth Authentication: config/authentication/sso/oauth.md + - Remote User Authentication: config/authentication/sso/remote_user.md + - Shibboleth Authentication: config/authentication/sso/shibboleth_authentication.md + - Auto Login to SeaDrive on Windows: config/authentication/sso/auto_login_seadrive.md + - SAML 2.0 (Pro): config/authentication/sso/saml2_in_10.0.md + - Switch authentication: config/authentication/sso/auth_switch.md - Advanced User Management (Pro): - - Multi-Institutions Support: deploy_pro/multi_institutions.md - - Roles and Permissions: deploy_pro/roles_permissions.md - - Administrator Roles and Permissions: deploy_pro/admin_roles_permissions.md - - Multi-Tenancy Support: deploy_pro/multi_tenancy.md - - Advanced File Search configuration (Pro): deploy_pro/details_about_file_search.md - - Open Cloud Mesh: deploy/ocm.md + - Multi-Institutions Support: config/authentication/advanced_user_management/multi_institutions.md + - Roles and Permissions: config/authentication/advanced_user_management/roles_permissions.md + - Administrator Roles and Permissions: config/authentication/advanced_user_management/admin_roles_permissions.md + - Multi-Tenancy Support: config/authentication/advanced_user_management/multi_tenancy.md + - Advanced File Search configuration (Pro): config/authentication/details_about_file_search.md + - Open Cloud Mesh: config/authentication/ocm.md - Available configuration options: - - Outline: config/README.md - - Environment variables: config/env.md - - ccnet.conf: config/ccnet-conf.md - - seafile.conf: config/seafile-conf.md - - seahub_settings.py: config/seahub_settings_py.md - - seafevents.conf: config/seafevents-conf.md - - Seahub customization: config/seahub_customization.md - - Email Sending: config/sending_email.md + - Outline: config/seafile_config/README.md + - Environment variables: config/seafile_config/env.md + - ccnet.conf: config/seafile_config/ccnet-conf.md + - seafile.conf: config/seafile_config/seafile-conf.md + - seahub_settings.py: config/seafile_config/seahub_settings_py.md + - seafevents.conf: config/seafile_config/seafevents-conf.md + - Seahub customization: config/seafile_config/seahub_customization.md + - Email Sending: config/seafile_config/sending_email.md - Administration: - - Outline: maintain/README.md - - Account management: maintain/account.md - - Two-factor Authentication: maintain/two_factor_authentication.md - - Security features: security/security_features.md - - Access logs and auditing: security/auditing.md - - Export report: maintain/export_report.md - - Logs: maintain/logs.md - - Backup and Recovery: maintain/backup_recovery.md - - Seafile FSCK: maintain/seafile_fsck.md - - Seafile GC: maintain/seafile_gc.md - - Clean database: maintain/clean_database.md + - Outline: administration/README.md + - Account management: administration/account.md + - Two-factor Authentication: administration/two_factor_authentication.md + - Security features: administration/security_features.md + - Access logs and auditing: administration/auditing.md + - Export report: administration/export_report.md + - Logs: administration/logs.md + - Backup and Recovery: administration/backup_recovery.md + - Seafile FSCK: administration/seafile_fsck.md + - Seafile GC: administration/seafile_gc.md + - Clean database: administration/clean_database.md - Upgrade: - Outline: upgrade/upgrade.md - Upgrade Seafile Docker: upgrade/upgrade_docker.md @@ -185,12 +185,12 @@ nav: - Developing: - Outline: develop/README.md - How to Build Seafile: - - Outline: build_seafile/README.md - - Linux: build_seafile/linux.md - - macOS: build_seafile/osx.md - - Windows: build_seafile/windows.md - - Server development: build_seafile/server.md - - Server binary package: build_seafile/rpi.md + - Outline: develop/build_seafile/README.md + - Linux: develop/build_seafile/linux.md + - macOS: develop/build_seafile/osx.md + - Windows: develop/build_seafile/windows.md + - Server development: develop/build_seafile/server.md + - Server binary package: develop/build_seafile/rpi.md - Translation: develop/translation.md - Web API V2.1: develop/web_api_v2.1.md - PHP API: https://github.com/rene-s/Seafile-PHP-SDK