mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-30 06:32:52 +00:00
4395 lines
105 KiB
HTML
4395 lines
105 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
|
|
<meta name="author" content="seafile">
|
|
|
|
|
|
<link rel="canonical" href="https://haiwen.github.io/seafile-admin-docs/extra_setup/setup_seadoc/">
|
|
|
|
|
|
<link rel="prev" href="../../deploy_pro/office_web_app/">
|
|
|
|
|
|
<link rel="next" href="../../deploy/notification-server/">
|
|
|
|
|
|
<link rel="icon" href="../../media/favicon.ico">
|
|
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39">
|
|
|
|
|
|
|
|
<title>SeaDoc Integration - Seafile Admin Manual</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/main.8c3ca2c6.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../stylesheets/extra.css">
|
|
|
|
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#seadoc-integration" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../.." title="Seafile Admin Manual" class="md-header__button md-logo" aria-label="Seafile Admin Manual" data-md-component="logo">
|
|
|
|
<img src="../../media/seafile-transparent-1024.png" alt="logo">
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
Seafile Admin Manual
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
SeaDoc Integration
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
haiwen/seafile-admin-docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../.." title="Seafile Admin Manual" class="md-nav__button md-logo" aria-label="Seafile Admin Manual" data-md-component="logo">
|
|
|
|
<img src="../../media/seafile-transparent-1024.png" alt="logo">
|
|
|
|
</a>
|
|
Seafile Admin Manual
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
haiwen/seafile-admin-docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Overview
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_1">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Overview
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../overview/components/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Components
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../overview/file_permission_management/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
File permission management
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../roadmap/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Roadmap
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contribution/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Contribution
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Changelog
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Setup on Linux
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Community Setup on Linux
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_mysql/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Installation with MySQL
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/https_with_nginx/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
HTTPS with Nginx
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/https_with_apache/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
HTTPS with Apache
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Setup on Linux
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Professional Setup on Linux
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/download_and_setup_seafile_professional_server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/migrate_from_seafile_community_server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migration from Seafile Community
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Storage Backends
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Storage Backends
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_amazon_s3/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Amazon S3 Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_ceph/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Ceph Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_swift/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OpenStack Swift Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_oss/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Alibaba OSS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multiple_storage_backends/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multiple Storage Backends
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/migrate/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Data migration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3_5" id="__nav_3_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Cluster Deployment
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Cluster Deployment
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/deploy_in_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy in a cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/enable_search_and_background_tasks_in_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Search and background tasks in a cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/memcached_mariadb_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Memcache and MariaDB Cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_seafile_cluster_with_nfs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Setup Seafile cluster with NFS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/seafile_professional_sdition_software_license_agreement/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
License
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Setup with Docker
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Setup with Docker
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/deploy_seafile_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/pro-edition/deploy_seafile_pro_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/cluster/deploy_seafile_cluster_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Docker Cluster Deployment
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_with_k8s/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Setup with Kubernetes (K8s)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/pro-edition/migrate_ce_to_pro_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migration from Seafile Community
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/non_docker_to_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migrate from non-docker deployment
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/seafile_docker_autostart/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Docker autostart
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced Setup Options
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced Setup Options
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP/AD Integration
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_1">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
LDAP/AD Integration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_ldap/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/using_ldap_pro/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP Configuration for Seafile Pro
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_group_sync/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Importing Groups from LDAP (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_role_sync/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Importing Roles from LDAP (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/ldap_in_11.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP in version 11.0
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_in_11.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP in version 11.0 (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Single Sign On
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Single Sign On
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/single_sign_on/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/oauth/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OAuth Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/remote_user/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Remote User Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/shibboleth_authentication/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Shibboleth Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/auto_login_seadrive/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Auto Login to SeaDrive on Windows
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/saml2_in_10.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SAML 2.0 in version 10.0+ (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/adfs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SAML 2.0 (old) (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/cas/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CAS Authentication (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/auth_switch/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Switch authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_3" id="__nav_5_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Online Office
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Online Office
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/libreoffice_online/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LibreOffice Online Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/only_office/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OnlyOffice Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/office_web_app/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Office Online Server Integration (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SeaDoc Integration
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SeaDoc Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#architecture" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Architecture
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#setup-seadoc" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Setup SeaDoc
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Setup SeaDoc">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deployment-method" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deployment method
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deploy-seadoc-on-a-new-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deploy SeaDoc on a new host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Deploy SeaDoc on a new host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-and-modify-seadoc-docker-composeyml" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download and modify SeaDoc docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-and-seafile-non-docker-version-are-deployed-on-the-same-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc and Seafile (non docker version) are deployed on the same host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc and Seafile (non docker version) are deployed on the same host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-and-modify-seadoc-docker-composeyml_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download and modify SeaDoc docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafilenginxconf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-and-seafile-docker-are-deployed-on-the-same-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc and Seafile docker are deployed on the same host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc and Seafile docker are deployed on the same host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafile-docker-composeyml" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify Seafile docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafilenginxconf_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seadoc" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start SeaDoc
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start SeaDoc">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configure-seafile" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configure Seafile
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more-configuration-options" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
More configuration options
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="More configuration options">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lets-encrypt-ssl-certificate" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Let's encrypt SSL certificate
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-directory-structure" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc directory structure
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc directory structure">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#optseadoc-data" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
/opt/seadoc-data
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#upgrading-seadoc-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Upgrading SeaDoc server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#faq" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
FAQ
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="FAQ">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#load-doc-content-error" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Load doc content error
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Load doc content error">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seafilenginxconf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seahub_settingspy" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
seahub_settings.py
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/notification-server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Notification Server
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../extension/webdav/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
WebDAV extension
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../extension/fuse/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
FUSE extension
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_8" id="__nav_5_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Virus Scan (Pro)
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Virus Scan (Pro)
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/virus_scan/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/deploy_clamav_with_seafile/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy ClamAV with Seafile
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/virus_scan_with_kav4fs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Virus Scan With Kav4fs
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_9" id="__nav_5_9_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced User Management (Pro)
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced User Management (Pro)
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multi_institutions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multi-Institutions Support
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/roles_permissions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Roles and Permissions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/admin_roles_permissions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Administrator Roles and Permissions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multi_tenancy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multi-Tenancy Support
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/details_about_file_search/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced File Search configuration (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/migrate_from_sqlite_to_mysql/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migrate From SQLite to MySQL
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_12" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_12" id="__nav_5_12_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Others Deployment Notes
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_12_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_12">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Others Deployment Notes
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/start_seafile_at_system_bootup/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Start Seafile at System Bootup
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_logrotate/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Logrotate
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/ocm/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Open Cloud Mesh
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_seafile_behind_nat/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy Seafile behind NAT
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_seahub_at_non-root_domain/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy Seahub at Non-root domain or on custom port
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/fail2ban/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Config fail2ban
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/real_time_backup/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Real-time Backup Server
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Configuration and Customization
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Configuration and Customization
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/ccnet-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ccnet.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seafile-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seafile.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seahub_settings_py/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seahub_settings.py
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seafevents-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seafevents.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seahub_customization/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seahub customization
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/sending_email/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Email Sending
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Administration
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Administration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/account/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Account management
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/two_factor_authentication/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Two-factor Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/security_features/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Security features
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/auditing/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Access logs and auditing
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/export_report/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Export report
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/logs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Logs
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/backup_recovery/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Backup and Recovery
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/seafile_fsck/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile FSCK
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/seafile_gc/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile GC
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/clean_database/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Clean database
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/seaf_import/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Import Directory To Seafile (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Server
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Upgrade Seafile Server
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Docker
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_a_cluster_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Cluster (Docker)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_7.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 7.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_7.1.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 7.1.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_8.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 8.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_9.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 9.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_10.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 10.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_11.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 11.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_12.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 12.0.x (In progress)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Developing
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Developing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_9_2" id="__nav_9_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
How to Build Seafile
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_9_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
How to Build Seafile
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/linux/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Linux
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/osx/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
macOS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/windows/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Windows
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Server development
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../build_seafile/rpi/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Server binary package
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/translation/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Translation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/web_api_v2.1/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Web API V2.1
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="https://github.com/rene-s/Seafile-PHP-SDK" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
PHP API
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/data_model/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Data Model
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ChangeLog
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_10">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
ChangeLog
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/server-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Edition
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/changelog-for-seafile-professional-server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Edition
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/client-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Client
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/drive-client-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Drive Client
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#architecture" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Architecture
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#setup-seadoc" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Setup SeaDoc
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Setup SeaDoc">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deployment-method" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deployment method
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deploy-seadoc-on-a-new-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deploy SeaDoc on a new host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Deploy SeaDoc on a new host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-and-modify-seadoc-docker-composeyml" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download and modify SeaDoc docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-and-seafile-non-docker-version-are-deployed-on-the-same-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc and Seafile (non docker version) are deployed on the same host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc and Seafile (non docker version) are deployed on the same host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-and-modify-seadoc-docker-composeyml_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download and modify SeaDoc docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafilenginxconf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-and-seafile-docker-are-deployed-on-the-same-host" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc and Seafile docker are deployed on the same host
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc and Seafile docker are deployed on the same host">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafile-docker-composeyml" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify Seafile docker-compose.yml
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-the-seadoc-database-manually_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create the SeaDoc database manually
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#modify-seafilenginxconf_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Modify seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seadoc" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start SeaDoc
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start SeaDoc">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#configure-seafile" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Configure Seafile
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more-configuration-options" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
More configuration options
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="More configuration options">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#lets-encrypt-ssl-certificate" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Let's encrypt SSL certificate
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seadoc-directory-structure" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SeaDoc directory structure
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="SeaDoc directory structure">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#optseadoc-data" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
/opt/seadoc-data
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#upgrading-seadoc-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Upgrading SeaDoc server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#faq" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
FAQ
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="FAQ">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#load-doc-content-error" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Load doc content error
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Load doc content error">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seafilenginxconf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
seafile.nginx.conf
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#seahub_settingspy" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
seahub_settings.py
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="seadoc-integration">SeaDoc Integration<a class="headerlink" href="#seadoc-integration" title="Permanent link">¶</a></h1>
|
|
<p>SeaDoc is an extension of Seafile that providing an online collaborative document editor.</p>
|
|
<p>SeaDoc designed around the following key ideas:</p>
|
|
<ul>
|
|
<li>An expressive easy to use editor</li>
|
|
<li>A review and approval workflow to better control how contents changes</li>
|
|
<li>Inter-document linking for connecting related contents</li>
|
|
<li>AI integration that streamlines content generation, summarization, and management</li>
|
|
<li>Comprehensive APIs for automating document generating and processing</li>
|
|
</ul>
|
|
<p>SeaDoc excels at:</p>
|
|
<ul>
|
|
<li>Authoring product and technical documents</li>
|
|
<li>Creating knowledge base articles and online manuals</li>
|
|
<li>Building internal Wikis</li>
|
|
</ul>
|
|
<h2 id="architecture">Architecture<a class="headerlink" href="#architecture" title="Permanent link">¶</a></h2>
|
|
<p>The SeaDoc archticture is demonstrated as below:</p>
|
|
<p><img alt="SeaDoc" src="../../images/seadoc-arch.png" /></p>
|
|
<p>Here is the workflow when a user open sdoc file in browser</p>
|
|
<ol>
|
|
<li>When a user open a sdoc file in the browser, a file loading request will be sent to Nginx, and Nginx proxy the request to SeaDoc server.</li>
|
|
<li>SeaDoc server will send the content back if it is already cached, otherwise it sends a request to Seahub.</li>
|
|
<li>Seahub loads the content from seaf-server and sends it to SeaDoc server.</li>
|
|
<li>After SeaDoc receives the content, it sends the content to the browser.</li>
|
|
</ol>
|
|
<h2 id="setup-seadoc">Setup SeaDoc<a class="headerlink" href="#setup-seadoc" title="Permanent link">¶</a></h2>
|
|
<blockquote>
|
|
<p>Seafile version 11.0 or later is required to work with SeaDoc.</p>
|
|
</blockquote>
|
|
<h3 id="deployment-method">Deployment method<a class="headerlink" href="#deployment-method" title="Permanent link">¶</a></h3>
|
|
<p>SeaDoc has three deployment methods:</p>
|
|
<ul>
|
|
<li>Deploy SeaDoc on a new host.</li>
|
|
<li>SeaDoc and Seafile are deployed on the same host.</li>
|
|
<li>SeaDoc and Seafile docker are deployed on the same host.</li>
|
|
</ul>
|
|
<h3 id="deploy-seadoc-on-a-new-host">Deploy SeaDoc on a new host<a class="headerlink" href="#deploy-seadoc-on-a-new-host" title="Permanent link">¶</a></h3>
|
|
<h4 id="download-and-modify-seadoc-docker-composeyml">Download and modify SeaDoc docker-compose.yml<a class="headerlink" href="#download-and-modify-seadoc-docker-composeyml" title="Permanent link">¶</a></h4>
|
|
<p>Download <a href="https://manual.seafile.com/docker/docker-compose/seadoc/0.8/docker-compose.yml">docker-compose.yml</a> sample file to your host. Then modify the file according to your environment. The following fields are needed to be modified:</p>
|
|
<ul>
|
|
<li>MySQL host (DB_HOST)</li>
|
|
<li>MySQL port (DB_PORT)</li>
|
|
<li>MySQL user (DB_USER)</li>
|
|
<li>MySQL password (DB_PASSWD)</li>
|
|
<li>The volume directory of SeaDoc data (volumes)</li>
|
|
<li>SeaDoc service URL (SDOC_SERVER_HOSTNAME)</li>
|
|
<li>Seafile service URL (SEAHUB_SERVICE_URL)</li>
|
|
</ul>
|
|
<h4 id="create-the-seadoc-database-manually">Create the SeaDoc database manually<a class="headerlink" href="#create-the-seadoc-database-manually" title="Permanent link">¶</a></h4>
|
|
<p>SeaDoc and Seafile share the MySQL service.</p>
|
|
<p>Create the database sdoc_db in Seafile MySQL and authorize the user.</p>
|
|
<div class="codehilite"><pre><span></span><code>create<span class="w"> </span>database<span class="w"> </span><span class="k">if</span><span class="w"> </span>not<span class="w"> </span>exists<span class="w"> </span>sdoc_db<span class="w"> </span>charset<span class="w"> </span>utf8mb4<span class="p">;</span>
|
|
GRANT<span class="w"> </span>ALL<span class="w"> </span>PRIVILEGES<span class="w"> </span>ON<span class="w"> </span><span class="sb">`</span>sdoc_db<span class="sb">`</span>.*<span class="w"> </span>to<span class="w"> </span><span class="sb">`</span>seafile<span class="sb">`</span>@<span class="sb">`</span>%.%.%.%<span class="sb">`</span><span class="p">;</span>
|
|
</code></pre></div>
|
|
|
|
<p>Note, SeaDoc will only create one database table to store operation logs.</p>
|
|
<p>Then follow the section: Start SeaDoc.</p>
|
|
<h3 id="seadoc-and-seafile-non-docker-version-are-deployed-on-the-same-host">SeaDoc and Seafile (non docker version) are deployed on the same host<a class="headerlink" href="#seadoc-and-seafile-non-docker-version-are-deployed-on-the-same-host" title="Permanent link">¶</a></h3>
|
|
<h4 id="download-and-modify-seadoc-docker-composeyml_1">Download and modify SeaDoc docker-compose.yml<a class="headerlink" href="#download-and-modify-seadoc-docker-composeyml_1" title="Permanent link">¶</a></h4>
|
|
<p>Download <a href="https://manual.seafile.com/docker/docker-compose/seadoc/0.8/docker-compose.yml">docker-compose.yml</a> sample file to your host. Then modify the file according to your environment. The following fields are needed to be modified:</p>
|
|
<ul>
|
|
<li>MySQL host (DB_HOST)</li>
|
|
<li>MySQL port (DB_PORT)</li>
|
|
<li>MySQL user (DB_USER)</li>
|
|
<li>MySQL password (DB_PASSWD)</li>
|
|
<li>The volume directory of SeaDoc data (volumes)</li>
|
|
<li>SeaDoc service URL (SDOC_SERVER_HOSTNAME)</li>
|
|
<li>Seafile service URL (SEAHUB_SERVICE_URL)</li>
|
|
</ul>
|
|
<p>The <code>ports</code> need to be modified additionally:</p>
|
|
<div class="codehilite"><pre><span></span><code>sdoc-server:
|
|
...
|
|
ports:
|
|
# - "80:80"
|
|
# - "443:443"
|
|
- "7070:7070"
|
|
- "8888:8888"
|
|
</code></pre></div>
|
|
|
|
<h4 id="create-the-seadoc-database-manually_1">Create the SeaDoc database manually<a class="headerlink" href="#create-the-seadoc-database-manually_1" title="Permanent link">¶</a></h4>
|
|
<p>SeaDoc and Seafile share the MySQL service.</p>
|
|
<p>Create the database sdoc_db in Seafile MySQL and authorize the user.</p>
|
|
<div class="codehilite"><pre><span></span><code>create<span class="w"> </span>database<span class="w"> </span><span class="k">if</span><span class="w"> </span>not<span class="w"> </span>exists<span class="w"> </span>sdoc_db<span class="w"> </span>charset<span class="w"> </span>utf8mb4<span class="p">;</span>
|
|
GRANT<span class="w"> </span>ALL<span class="w"> </span>PRIVILEGES<span class="w"> </span>ON<span class="w"> </span><span class="sb">`</span>sdoc_db<span class="sb">`</span>.*<span class="w"> </span>to<span class="w"> </span><span class="sb">`</span>seafile<span class="sb">`</span>@<span class="sb">`</span>%.%.%.%<span class="sb">`</span><span class="p">;</span>
|
|
</code></pre></div>
|
|
|
|
<p>Note, SeaDoc will only create one database table to store operation logs.</p>
|
|
<h4 id="modify-seafilenginxconf">Modify seafile.nginx.conf<a class="headerlink" href="#modify-seafilenginxconf" title="Permanent link">¶</a></h4>
|
|
<p>Add the following to the <code>seafile.nginx.conf</code>:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="w"> </span><span class="nx">location</span><span class="w"> </span><span class="o">/</span><span class="nx">sdoc</span><span class="o">-</span><span class="nx">server</span><span class="o">/</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Origin</span><span class="w"> </span><span class="o">*</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Methods</span><span class="w"> </span><span class="nx">GET</span><span class="p">,</span><span class="nx">POST</span><span class="p">,</span><span class="nx">PUT</span><span class="p">,</span><span class="nx">DELETE</span><span class="p">,</span><span class="nx">OPTIONS</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Headers</span><span class="w"> </span><span class="s">"deviceType,token, authorization, content-type"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="err">$</span><span class="nx">request_method</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="err">'</span><span class="nx">OPTIONS</span><span class="err">'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Origin</span><span class="w"> </span><span class="o">*</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Methods</span><span class="w"> </span><span class="nx">GET</span><span class="p">,</span><span class="nx">POST</span><span class="p">,</span><span class="nx">PUT</span><span class="p">,</span><span class="nx">DELETE</span><span class="p">,</span><span class="nx">OPTIONS</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Headers</span><span class="w"> </span><span class="s">"deviceType,token, authorization, content-type"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">204</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_pass</span><span class="w"> </span><span class="nx">http</span><span class="p">:</span><span class="c1">//127.0.0.1:7070/;</span>
|
|
<span class="w"> </span><span class="nx">proxy_redirect</span><span class="w"> </span><span class="nx">off</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">host</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Real</span><span class="o">-</span><span class="nx">IP</span><span class="w"> </span><span class="err">$</span><span class="nx">remote_addr</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">For</span><span class="w"> </span><span class="err">$</span><span class="nx">proxy_add_x_forwarded_for</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">server_name</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">Proto</span><span class="w"> </span><span class="err">$</span><span class="nx">scheme</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">client_max_body_size</span><span class="w"> </span><span class="mi">100</span><span class="nx">m</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
|
|
<span class="w"> </span><span class="nx">location</span><span class="w"> </span><span class="o">/</span><span class="nx">socket</span><span class="p">.</span><span class="nx">io</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">proxy_pass</span><span class="w"> </span><span class="nx">http</span><span class="p">:</span><span class="c1">//127.0.0.1:7070;</span>
|
|
<span class="w"> </span><span class="nx">proxy_http_version</span><span class="w"> </span><span class="m m-Double">1.1</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Upgrade</span><span class="w"> </span><span class="err">$</span><span class="nx">http_upgrade</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Connection</span><span class="w"> </span><span class="err">'</span><span class="nx">upgrade</span><span class="err">'</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_redirect</span><span class="w"> </span><span class="nx">off</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_buffers</span><span class="w"> </span><span class="mi">8</span><span class="w"> </span><span class="mi">32</span><span class="nx">k</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_buffer_size</span><span class="w"> </span><span class="mi">64</span><span class="nx">k</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Real</span><span class="o">-</span><span class="nx">IP</span><span class="w"> </span><span class="err">$</span><span class="nx">remote_addr</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">For</span><span class="w"> </span><span class="err">$</span><span class="nx">proxy_add_x_forwarded_for</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">http_host</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">NginX</span><span class="o">-</span><span class="nx">Proxy</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
</code></pre></div>
|
|
|
|
<p>And reload nginx</p>
|
|
<div class="codehilite"><pre><span></span><code>nginx<span class="w"> </span>-s<span class="w"> </span>reload
|
|
</code></pre></div>
|
|
|
|
<p>Then follow the section: Start SeaDoc.</p>
|
|
<h3 id="seadoc-and-seafile-docker-are-deployed-on-the-same-host">SeaDoc and Seafile docker are deployed on the same host<a class="headerlink" href="#seadoc-and-seafile-docker-are-deployed-on-the-same-host" title="Permanent link">¶</a></h3>
|
|
<h4 id="modify-seafile-docker-composeyml">Modify Seafile docker-compose.yml<a class="headerlink" href="#modify-seafile-docker-composeyml" title="Permanent link">¶</a></h4>
|
|
<p>Add the SeaDoc <a href="https://manual.seafile.com/docker/docker-compose/seadoc/0.8/docker-compose.yml">docker-compose.yml</a> contents to the Seafile docker-compose.yml, and the <code>ports</code> need to be modified additionally:</p>
|
|
<div class="codehilite"><pre><span></span><code>services:
|
|
...
|
|
seafile:
|
|
...
|
|
|
|
sdoc-server:
|
|
image: seafileltd/sdoc-server:latest
|
|
container_name: sdoc-server
|
|
# ports:
|
|
# - 80:80
|
|
# - 443:443
|
|
# - 7070:7070
|
|
# - 8888:8888
|
|
networks:
|
|
<span class="k">-</span> seafile-net
|
|
...
|
|
</code></pre></div>
|
|
|
|
<h4 id="create-the-seadoc-database-manually_2">Create the SeaDoc database manually<a class="headerlink" href="#create-the-seadoc-database-manually_2" title="Permanent link">¶</a></h4>
|
|
<p>SeaDoc and Seafile share the MySQL service.</p>
|
|
<p>Create the database sdoc_db in Seafile MySQL.</p>
|
|
<div class="codehilite"><pre><span></span><code>create<span class="w"> </span>database<span class="w"> </span><span class="k">if</span><span class="w"> </span>not<span class="w"> </span>exists<span class="w"> </span>sdoc_db<span class="w"> </span>charset<span class="w"> </span>utf8mb4<span class="p">;</span>
|
|
GRANT<span class="w"> </span>ALL<span class="w"> </span>PRIVILEGES<span class="w"> </span>ON<span class="w"> </span><span class="sb">`</span>sdoc_db<span class="sb">`</span>.*<span class="w"> </span>to<span class="w"> </span><span class="sb">`</span>seafile<span class="sb">`</span>@<span class="sb">`</span>%.%.%.%<span class="sb">`</span><span class="p">;</span>
|
|
</code></pre></div>
|
|
|
|
<p>Note, SeaDoc will only create one database table to store operation logs.</p>
|
|
<h4 id="modify-seafilenginxconf_1">Modify seafile.nginx.conf<a class="headerlink" href="#modify-seafilenginxconf_1" title="Permanent link">¶</a></h4>
|
|
<p>Add the following to the <code>seafile.nginx.conf</code>:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="w"> </span><span class="nx">location</span><span class="w"> </span><span class="o">/</span><span class="nx">sdoc</span><span class="o">-</span><span class="nx">server</span><span class="o">/</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Origin</span><span class="w"> </span><span class="o">*</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Methods</span><span class="w"> </span><span class="nx">GET</span><span class="p">,</span><span class="nx">POST</span><span class="p">,</span><span class="nx">PUT</span><span class="p">,</span><span class="nx">DELETE</span><span class="p">,</span><span class="nx">OPTIONS</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Headers</span><span class="w"> </span><span class="s">"deviceType,token, authorization, content-type"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="err">$</span><span class="nx">request_method</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="err">'</span><span class="nx">OPTIONS</span><span class="err">'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Origin</span><span class="w"> </span><span class="o">*</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Methods</span><span class="w"> </span><span class="nx">GET</span><span class="p">,</span><span class="nx">POST</span><span class="p">,</span><span class="nx">PUT</span><span class="p">,</span><span class="nx">DELETE</span><span class="p">,</span><span class="nx">OPTIONS</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">add_header</span><span class="w"> </span><span class="nx">Access</span><span class="o">-</span><span class="nx">Control</span><span class="o">-</span><span class="nx">Allow</span><span class="o">-</span><span class="nx">Headers</span><span class="w"> </span><span class="s">"deviceType,token, authorization, content-type"</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">204</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_pass</span><span class="w"> </span><span class="nx">http</span><span class="p">:</span><span class="c1">//sdoc-server:7070/;</span>
|
|
<span class="w"> </span><span class="nx">proxy_redirect</span><span class="w"> </span><span class="nx">off</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">host</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Real</span><span class="o">-</span><span class="nx">IP</span><span class="w"> </span><span class="err">$</span><span class="nx">remote_addr</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">For</span><span class="w"> </span><span class="err">$</span><span class="nx">proxy_add_x_forwarded_for</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">server_name</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">Proto</span><span class="w"> </span><span class="err">$</span><span class="nx">scheme</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">client_max_body_size</span><span class="w"> </span><span class="mi">100</span><span class="nx">m</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
|
|
<span class="w"> </span><span class="nx">location</span><span class="w"> </span><span class="o">/</span><span class="nx">socket</span><span class="p">.</span><span class="nx">io</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nx">proxy_pass</span><span class="w"> </span><span class="nx">http</span><span class="p">:</span><span class="c1">//sdoc-server:7070;</span>
|
|
<span class="w"> </span><span class="nx">proxy_http_version</span><span class="w"> </span><span class="m m-Double">1.1</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Upgrade</span><span class="w"> </span><span class="err">$</span><span class="nx">http_upgrade</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Connection</span><span class="w"> </span><span class="err">'</span><span class="nx">upgrade</span><span class="err">'</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_redirect</span><span class="w"> </span><span class="nx">off</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_buffers</span><span class="w"> </span><span class="mi">8</span><span class="w"> </span><span class="mi">32</span><span class="nx">k</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_buffer_size</span><span class="w"> </span><span class="mi">64</span><span class="nx">k</span><span class="p">;</span>
|
|
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Real</span><span class="o">-</span><span class="nx">IP</span><span class="w"> </span><span class="err">$</span><span class="nx">remote_addr</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">Forwarded</span><span class="o">-</span><span class="nx">For</span><span class="w"> </span><span class="err">$</span><span class="nx">proxy_add_x_forwarded_for</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">Host</span><span class="w"> </span><span class="err">$</span><span class="nx">http_host</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="nx">proxy_set_header</span><span class="w"> </span><span class="nx">X</span><span class="o">-</span><span class="nx">NginX</span><span class="o">-</span><span class="nx">Proxy</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
</code></pre></div>
|
|
|
|
<p>And reload nginx</p>
|
|
<div class="codehilite"><pre><span></span><code>nginx<span class="w"> </span>-s<span class="w"> </span>reload
|
|
</code></pre></div>
|
|
|
|
<p>Then follow the section: Start SeaDoc.</p>
|
|
<h2 id="start-seadoc">Start SeaDoc<a class="headerlink" href="#start-seadoc" title="Permanent link">¶</a></h2>
|
|
<p>Start SeaDoc server with the following command</p>
|
|
<div class="codehilite"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
|
|
</code></pre></div>
|
|
|
|
<p>Wait for a few minutes for the first time initialization. Open <code>/opt/seadoc-data/sdoc-server/conf/sdoc_server_config.json</code>, and record <code>private_key</code> for modifying Seafile configuration file.</p>
|
|
<h3 id="configure-seafile">Configure Seafile<a class="headerlink" href="#configure-seafile" title="Permanent link">¶</a></h3>
|
|
<p>Modify seahub_settings.py:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="n">ENABLE_SEADOC</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">SEADOC_PRIVATE_KEY</span> <span class="o">=</span> <span class="s1">'***'</span> <span class="c1"># sdoc-server private_key</span>
|
|
<span class="n">SEADOC_SERVER_URL</span> <span class="o">=</span> <span class="s1">'https://sdoc-server.example.com'</span> <span class="c1"># sdoc-server service url</span>
|
|
<span class="c1"># When SeaDoc and Seafile/Seafile docker are deployed on the same host, SEADOC_SERVER_URL should be 'https://seafile.example.com/sdoc-server'</span>
|
|
<span class="n">FILE_CONVERTER_SERVER_URL</span> <span class="o">=</span> <span class="s1">'https://sdoc-server.example.com/seadoc-converter'</span> <span class="c1"># converter-server url</span>
|
|
<span class="c1"># When SeaDoc and Seafile are deployed on the same host, FILE_CONVERTER_SERVER_URL should be LAN address 'http://127.0.0.1:8888'</span>
|
|
<span class="c1"># When SeaDoc and Seafile docker are deployed on the same host, FILE_CONVERTER_SERVER_URL should be http://sdoc-server:8888</span>
|
|
</code></pre></div>
|
|
|
|
<p>Restart Seafile server</p>
|
|
<div class="codehilite"><pre><span></span><code>./seahub.sh<span class="w"> </span>restart
|
|
</code></pre></div>
|
|
|
|
<p>Now you can use SeaDoc!</p>
|
|
<h2 id="more-configuration-options">More configuration options<a class="headerlink" href="#more-configuration-options" title="Permanent link">¶</a></h2>
|
|
<h3 id="lets-encrypt-ssl-certificate">Let's encrypt SSL certificate<a class="headerlink" href="#lets-encrypt-ssl-certificate" title="Permanent link">¶</a></h3>
|
|
<p>If you set <code>SDOC_SERVER_LETSENCRYPT</code> to <code>true</code>, the container would request a letsencrypt-signed SSL certificate for you automatically.</p>
|
|
<p>e.g.</p>
|
|
<div class="codehilite"><pre><span></span><code>sdoc-server:
|
|
...
|
|
ports:
|
|
<span class="k">-</span> "80:80"
|
|
<span class="k">-</span> "443:443"
|
|
...
|
|
environment:
|
|
...
|
|
<span class="k">-</span> SDOC_SERVER_LETSENCRYPT=true
|
|
<span class="k">-</span> SDOC_SERVER_HOSTNAME=sdoc-server.seafile.com
|
|
...
|
|
</code></pre></div>
|
|
|
|
<p>If you want to use your own SSL certificate and the volume directory of SeaDoc data is <code>/opt/seadoc-data</code>:</p>
|
|
<ul>
|
|
<li>create a folder <code>/opt/seadoc-data/ssl</code>, and put your certificate and private key under the ssl directory.</li>
|
|
<li>Assume your site name is <code>sdoc-server.example.com</code>, then your certificate must have the name <code>sdoc-server.example.com.crt</code>, and the private key must have the name <code>sdoc-server.example.com.key</code>.</li>
|
|
</ul>
|
|
<h2 id="seadoc-directory-structure">SeaDoc directory structure<a class="headerlink" href="#seadoc-directory-structure" title="Permanent link">¶</a></h2>
|
|
<h3 id="optseadoc-data"><code>/opt/seadoc-data</code><a class="headerlink" href="#optseadoc-data" title="Permanent link">¶</a></h3>
|
|
<p>Placeholder spot for shared volumes. You may elect to store certain persistent information outside of a container, in our case we keep various log files and upload directory outside. This allows you to rebuild containers easily without losing important information.</p>
|
|
<ul>
|
|
<li>/opt/seadoc-data/sdoc-server: This is the directory for SeaDoc server configuration and data.</li>
|
|
<li>/opt/seadoc-data/nginx-logs: This is the directory for nginx logs.</li>
|
|
<li>/opt/seadoc-data/ssl: This is directory for certificate, which does not exist by default.</li>
|
|
</ul>
|
|
<h2 id="upgrading-seadoc-server">Upgrading SeaDoc server<a class="headerlink" href="#upgrading-seadoc-server" title="Permanent link">¶</a></h2>
|
|
<p>To upgrade to latest version of SeaDoc server:</p>
|
|
<div class="codehilite"><pre><span></span><code>docker<span class="w"> </span>pull<span class="w"> </span>seafileltd/sdoc-server:latest
|
|
docker<span class="w"> </span>compose<span class="w"> </span>down
|
|
docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
|
|
</code></pre></div>
|
|
|
|
<h2 id="faq">FAQ<a class="headerlink" href="#faq" title="Permanent link">¶</a></h2>
|
|
<h3 id="load-doc-content-error">Load doc content error<a class="headerlink" href="#load-doc-content-error" title="Permanent link">¶</a></h3>
|
|
<p>If this error occurs, please check the logs of Nginx, SeaDoc, Seahub, and Seaf-server. You can refer to the following solutions for troubleshooting.</p>
|
|
<h4 id="seafilenginxconf">seafile.nginx.conf<a class="headerlink" href="#seafilenginxconf" title="Permanent link">¶</a></h4>
|
|
<p>Please check whether the configuration correctly proxy the <code>/sdoc-server/</code> and <code>/socket.io</code>.</p>
|
|
<p>eg : IF you found <code>GET /sdoc-server/...</code> in seahub.access.log, it means that the request that should have been sent to SeaDoc was mistakenly sent to Seahub.</p>
|
|
<h4 id="seahub_settingspy">seahub_settings.py<a class="headerlink" href="#seahub_settingspy" title="Permanent link">¶</a></h4>
|
|
<p>The values of <code>SEADOC_SERVER_URL</code> and <code>FILE_CONVERTER_SERVER_URL</code> are different in different deployment methods.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
<div class="md-copyright__highlight">
|
|
Copyright © 2023 Seafile Ltd.
|
|
</div>
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="md-social">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
<script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
|
|
|
|
<script src="../../assets/javascripts/bundle.525ec568.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |