mirror of
https://github.com/YunoHost-Apps/seafile_ynh.git
synced 2024-09-03 20:26:01 +02:00
Merge pull request #121 from YunoHost-Apps/improve_data_dir_struct
Improve data dir struct
This commit is contained in:
commit
7a4d00ad98
17 changed files with 365 additions and 132 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -129,10 +129,6 @@ publish/
|
||||||
*.pubxml
|
*.pubxml
|
||||||
*.publishproj
|
*.publishproj
|
||||||
|
|
||||||
# NuGet Packages Directory
|
|
||||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
|
||||||
#packages/
|
|
||||||
|
|
||||||
# Windows Azure Build Output
|
# Windows Azure Build Output
|
||||||
csx
|
csx
|
||||||
*.build.csdef
|
*.build.csdef
|
||||||
|
|
7
ALL_README.md
Normal file
7
ALL_README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# All available README files by language
|
||||||
|
|
||||||
|
- [Read the README in English](README.md)
|
||||||
|
- [Irakurri README euskaraz](README_eu.md)
|
||||||
|
- [Lire le README en français](README_fr.md)
|
||||||
|
- [Le o README en galego](README_gl.md)
|
||||||
|
- [阅读中文(简体)的 README](README_zh_Hans.md)
|
28
README.md
28
README.md
|
@ -1,5 +1,5 @@
|
||||||
<!--
|
<!--
|
||||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
N.B.: This README was automatically generated by <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
|
||||||
It shall NOT be edited by hand.
|
It shall NOT be edited by hand.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -9,10 +9,10 @@ It shall NOT be edited by hand.
|
||||||
|
|
||||||
[](https://install-app.yunohost.org/?app=seafile)
|
[](https://install-app.yunohost.org/?app=seafile)
|
||||||
|
|
||||||
*[Lire ce readme en français.](./README_fr.md)*
|
*[Read this README in other languages.](./ALL_README.md)*
|
||||||
|
|
||||||
> *This package allows you to install Seafile quickly and simply on a YunoHost server.
|
> *This package allows you to install Seafile quickly and simply on a YunoHost server.*
|
||||||
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
|
> *If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.*
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
@ -21,9 +21,9 @@ Seafile is an open Source Cloud Storage application.
|
||||||
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
||||||
|
|
||||||
|
|
||||||
**Shipped version:** 9.0.9~ynh2
|
**Shipped version:** 9.0.9~ynh3
|
||||||
|
|
||||||
**Demo:** https://demo.seafile.com
|
**Demo:** <https://demo.seafile.com>
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
@ -38,19 +38,19 @@ It's a Enterprise file sync and share platform with high reliability and perform
|
||||||
|
|
||||||
## Documentation and resources
|
## Documentation and resources
|
||||||
|
|
||||||
* Official app website: <https://www.seafile.com>
|
- Official app website: <https://www.seafile.com>
|
||||||
* Official admin documentation: <https://manual.seafile.com>
|
- Official admin documentation: <https://manual.seafile.com>
|
||||||
* Upstream app code repository: <https://github.com/haiwen/seafile-server>
|
- Upstream app code repository: <https://github.com/haiwen/seafile-server>
|
||||||
* YunoHost Store: <https://apps.yunohost.org/app/seafile>
|
- YunoHost Store: <https://apps.yunohost.org/app/seafile>
|
||||||
* Report a bug: <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
- Report a bug: <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
||||||
|
|
||||||
## Developer info
|
## Developer info
|
||||||
|
|
||||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
Please send your pull request to the [`testing` branch](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
||||||
|
|
||||||
To try the testing branch, please proceed like that.
|
To try the `testing` branch, please proceed like that:
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
or
|
or
|
||||||
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
|
59
README_eu.md
Normal file
59
README_eu.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<!--
|
||||||
|
Ohart ongi: README hau automatikoki sortu da <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>ri esker
|
||||||
|
EZ editatu eskuz.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Seafile YunoHost-erako
|
||||||
|
|
||||||
|
[](https://dash.yunohost.org/appci/app/seafile)  
|
||||||
|
|
||||||
|
[](https://install-app.yunohost.org/?app=seafile)
|
||||||
|
|
||||||
|
*[Irakurri README hau beste hizkuntzatan.](./ALL_README.md)*
|
||||||
|
|
||||||
|
> *Pakete honek Seafile YunoHost zerbitzari batean azkar eta zailtasunik gabe instalatzea ahalbidetzen dizu.*
|
||||||
|
> *YunoHost ez baduzu, kontsultatu [gida](https://yunohost.org/install) nola instalatu ikasteko.*
|
||||||
|
|
||||||
|
## Aurreikuspena
|
||||||
|
|
||||||
|
Seafile is an open Source Cloud Storage application.
|
||||||
|
|
||||||
|
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
||||||
|
|
||||||
|
|
||||||
|
**Paketatutako bertsioa:** 9.0.9~ynh3
|
||||||
|
|
||||||
|
**Demoa:** <https://demo.seafile.com>
|
||||||
|
|
||||||
|
## Pantaila-argazkiak
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Dokumentazioa eta baliabideak
|
||||||
|
|
||||||
|
- Aplikazioaren webgune ofiziala: <https://www.seafile.com>
|
||||||
|
- Administratzaileen dokumentazio ofiziala: <https://manual.seafile.com>
|
||||||
|
- Jatorrizko aplikazioaren kode-gordailua: <https://github.com/haiwen/seafile-server>
|
||||||
|
- YunoHost Denda: <https://apps.yunohost.org/app/seafile>
|
||||||
|
- Eman errore baten berri: <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
||||||
|
|
||||||
|
## Garatzaileentzako informazioa
|
||||||
|
|
||||||
|
Bidali `pull request`a [`testing` abarrera](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
||||||
|
|
||||||
|
`testing` abarra probatzeko, ondorengoa egin:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
edo
|
||||||
|
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
**Informazio gehiago aplikazioaren paketatzeari buruz:** <https://yunohost.org/packaging_apps>
|
32
README_fr.md
32
README_fr.md
|
@ -1,6 +1,6 @@
|
||||||
<!--
|
<!--
|
||||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
Nota bene : ce README est automatiquement généré par <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
|
||||||
It shall NOT be edited by hand.
|
Il NE doit PAS être modifié à la main.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
# Seafile pour YunoHost
|
# Seafile pour YunoHost
|
||||||
|
@ -9,10 +9,10 @@ It shall NOT be edited by hand.
|
||||||
|
|
||||||
[](https://install-app.yunohost.org/?app=seafile)
|
[](https://install-app.yunohost.org/?app=seafile)
|
||||||
|
|
||||||
*[Read this readme in english.](./README.md)*
|
*[Lire le README dans d'autres langues.](./ALL_README.md)*
|
||||||
|
|
||||||
> *Ce package vous permet d’installer Seafile rapidement et simplement sur un serveur YunoHost.
|
> *Ce package vous permet d’installer Seafile rapidement et simplement sur un serveur YunoHost.*
|
||||||
Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l’installer et en profiter.*
|
> *Si vous n’avez pas YunoHost, consultez [ce guide](https://yunohost.org/install) pour savoir comment l’installer et en profiter.*
|
||||||
|
|
||||||
## Vue d’ensemble
|
## Vue d’ensemble
|
||||||
|
|
||||||
|
@ -21,9 +21,9 @@ Seafile is an open Source Cloud Storage application.
|
||||||
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
||||||
|
|
||||||
|
|
||||||
**Version incluse :** 9.0.9~ynh2
|
**Version incluse :** 9.0.9~ynh3
|
||||||
|
|
||||||
**Démo :** https://demo.seafile.com
|
**Démo :** <https://demo.seafile.com>
|
||||||
|
|
||||||
## Captures d’écran
|
## Captures d’écran
|
||||||
|
|
||||||
|
@ -38,22 +38,22 @@ It's a Enterprise file sync and share platform with high reliability and perform
|
||||||
|
|
||||||
## Documentations et ressources
|
## Documentations et ressources
|
||||||
|
|
||||||
* Site officiel de l’app : <https://www.seafile.com>
|
- Site officiel de l’app : <https://www.seafile.com>
|
||||||
* Documentation officielle de l’admin : <https://manual.seafile.com>
|
- Documentation officielle de l’admin : <https://manual.seafile.com>
|
||||||
* Dépôt de code officiel de l’app : <https://github.com/haiwen/seafile-server>
|
- Dépôt de code officiel de l’app : <https://github.com/haiwen/seafile-server>
|
||||||
* YunoHost Store: <https://apps.yunohost.org/app/seafile>
|
- YunoHost Store : <https://apps.yunohost.org/app/seafile>
|
||||||
* Signaler un bug : <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
- Signaler un bug : <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
||||||
|
|
||||||
## Informations pour les développeurs
|
## Informations pour les développeurs
|
||||||
|
|
||||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
Merci de faire vos pull request sur la [branche `testing`](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
||||||
|
|
||||||
Pour essayer la branche testing, procédez comme suit.
|
Pour essayer la branche `testing`, procédez comme suit :
|
||||||
|
|
||||||
``` bash
|
```bash
|
||||||
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
ou
|
ou
|
||||||
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
**Plus d’infos sur le packaging d’applications :** <https://yunohost.org/packaging_apps>
|
**Plus d’infos sur le packaging d’applications :** <https://yunohost.org/packaging_apps>
|
||||||
|
|
59
README_gl.md
Normal file
59
README_gl.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<!--
|
||||||
|
NOTA: Este README foi creado automáticamente por <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
|
||||||
|
NON debe editarse manualmente.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Seafile para YunoHost
|
||||||
|
|
||||||
|
[](https://dash.yunohost.org/appci/app/seafile)  
|
||||||
|
|
||||||
|
[](https://install-app.yunohost.org/?app=seafile)
|
||||||
|
|
||||||
|
*[Le este README en outros idiomas.](./ALL_README.md)*
|
||||||
|
|
||||||
|
> *Este paquete permíteche instalar Seafile de xeito rápido e doado nun servidor YunoHost.*
|
||||||
|
> *Se non usas YunoHost, le a [documentación](https://yunohost.org/install) para saber como instalalo.*
|
||||||
|
|
||||||
|
## Vista xeral
|
||||||
|
|
||||||
|
Seafile is an open Source Cloud Storage application.
|
||||||
|
|
||||||
|
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
||||||
|
|
||||||
|
|
||||||
|
**Versión proporcionada:** 9.0.9~ynh3
|
||||||
|
|
||||||
|
**Demo:** <https://demo.seafile.com>
|
||||||
|
|
||||||
|
## Capturas de pantalla
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Documentación e recursos
|
||||||
|
|
||||||
|
- Web oficial da app: <https://www.seafile.com>
|
||||||
|
- Documentación oficial para admin: <https://manual.seafile.com>
|
||||||
|
- Repositorio de orixe do código: <https://github.com/haiwen/seafile-server>
|
||||||
|
- Tenda YunoHost: <https://apps.yunohost.org/app/seafile>
|
||||||
|
- Informar dun problema: <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
||||||
|
|
||||||
|
## Info de desenvolvemento
|
||||||
|
|
||||||
|
Envía a túa colaboración á [rama `testing`](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing).
|
||||||
|
|
||||||
|
Para probar a rama `testing`, procede deste xeito:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
ou
|
||||||
|
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
**Máis info sobre o empaquetado da app:** <https://yunohost.org/packaging_apps>
|
59
README_zh_Hans.md
Normal file
59
README_zh_Hans.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<!--
|
||||||
|
注意:此 README 由 <https://github.com/YunoHost/apps/tree/master/tools/readme_generator> 自动生成
|
||||||
|
请勿手动编辑。
|
||||||
|
-->
|
||||||
|
|
||||||
|
# YunoHost 的 Seafile
|
||||||
|
|
||||||
|
[](https://dash.yunohost.org/appci/app/seafile)  
|
||||||
|
|
||||||
|
[](https://install-app.yunohost.org/?app=seafile)
|
||||||
|
|
||||||
|
*[阅读此 README 的其它语言版本。](./ALL_README.md)*
|
||||||
|
|
||||||
|
> *通过此软件包,您可以在 YunoHost 服务器上快速、简单地安装 Seafile。*
|
||||||
|
> *如果您还没有 YunoHost,请参阅[指南](https://yunohost.org/install)了解如何安装它。*
|
||||||
|
|
||||||
|
## 概况
|
||||||
|
|
||||||
|
Seafile is an open Source Cloud Storage application.
|
||||||
|
|
||||||
|
It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.
|
||||||
|
|
||||||
|
|
||||||
|
**分发版本:** 9.0.9~ynh3
|
||||||
|
|
||||||
|
**演示:** <https://demo.seafile.com>
|
||||||
|
|
||||||
|
## 截图
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## 文档与资源
|
||||||
|
|
||||||
|
- 官方应用网站: <https://www.seafile.com>
|
||||||
|
- 官方管理文档: <https://manual.seafile.com>
|
||||||
|
- 上游应用代码库: <https://github.com/haiwen/seafile-server>
|
||||||
|
- YunoHost 商店: <https://apps.yunohost.org/app/seafile>
|
||||||
|
- 报告 bug: <https://github.com/YunoHost-Apps/seafile_ynh/issues>
|
||||||
|
|
||||||
|
## 开发者信息
|
||||||
|
|
||||||
|
请向 [`testing` 分支](https://github.com/YunoHost-Apps/seafile_ynh/tree/testing) 发送拉取请求。
|
||||||
|
|
||||||
|
如要尝试 `testing` 分支,请这样操作:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
或
|
||||||
|
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
**有关应用打包的更多信息:** <https://yunohost.org/packaging_apps>
|
|
@ -1,5 +1,4 @@
|
||||||
location __PATH__ {
|
location __PATH__ {
|
||||||
proxy_redirect http:// https://;
|
|
||||||
proxy_pass http://127.0.0.1:__PORT_SEAHUB__;
|
proxy_pass http://127.0.0.1:__PORT_SEAHUB__;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
|
|
@ -5,7 +5,7 @@ name = "Seafile"
|
||||||
description.en = "Open Source Cloud Storage"
|
description.en = "Open Source Cloud Storage"
|
||||||
description.fr = "Stockage Cloud Open Source"
|
description.fr = "Stockage Cloud Open Source"
|
||||||
|
|
||||||
version = "9.0.9~ynh2"
|
version = "9.0.9~ynh3"
|
||||||
|
|
||||||
maintainers = ["Josué Tille"]
|
maintainers = ["Josué Tille"]
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,26 @@
|
||||||
time_zone=$(cat /etc/timezone)
|
time_zone=$(cat /etc/timezone)
|
||||||
python_version="$(python3 -V | cut -d' ' -f2 | cut -d. -f1-2)"
|
python_version="$(python3 -V | cut -d' ' -f2 | cut -d. -f1-2)"
|
||||||
|
|
||||||
|
# Create special path with / at the end
|
||||||
|
if [[ $path == '/' ]]
|
||||||
|
then
|
||||||
|
path2="$path"
|
||||||
|
else
|
||||||
|
path2="$path/"
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DEFINE ALL COMMON FONCTIONS
|
# DEFINE ALL COMMON FONCTIONS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
|
install_pkg_conf() {
|
||||||
|
# Install manually pkgconf
|
||||||
|
# WARNING don't move this to dependencies
|
||||||
|
# We install this manually because we have an issue between pkgconf and pkg-config.
|
||||||
|
# If pkg-config is already installed on the system we can't declare pkgconf as dependency as pkg-config need to be removed to install pkgconf (note that pkgconf replace pkg-config and both can't be installed)
|
||||||
|
ynh_apt install pkgconf
|
||||||
|
}
|
||||||
|
|
||||||
install_dependance() {
|
install_dependance() {
|
||||||
ynh_add_swap --size=2000
|
ynh_add_swap --size=2000
|
||||||
|
|
||||||
|
@ -59,19 +75,20 @@ install_dependance() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_permission() {
|
set_permission() {
|
||||||
chown -R $YNH_APP_ID:$YNH_APP_ID $install_dir
|
chown -R $app:$app $install_dir
|
||||||
chmod -R u+rwX,g-wx,o= $install_dir
|
chmod -R u+rwX,g-wx,o= $install_dir
|
||||||
setfacl -m user:www-data:rX $install_dir
|
setfacl -m user:www-data:rX $install_dir
|
||||||
setfacl -m user:www-data:rX $install_dir/seafile-server-$seafile_version
|
setfacl -m user:www-data:rX $install_dir/seafile-server-$seafile_version
|
||||||
# At install time theses directory are not available
|
# At install time theses directory are not available
|
||||||
test -e $install_dir/seafile-server-$seafile_version/seahub && setfacl -m user:www-data:rX $install_dir/seafile-server-$seafile_version/seahub
|
test -e $install_dir/seafile-server-$seafile_version/seahub && setfacl -m user:www-data:rX $install_dir/seafile-server-$seafile_version/seahub
|
||||||
test -e $install_dir/seafile-server-$seafile_version/seahub/media && setfacl -R -m user:www-data:rX $install_dir/seafile-server-$seafile_version/seahub/media
|
test -e $install_dir/seafile-server-$seafile_version/seahub/media && setfacl -R -m user:www-data:rX $install_dir/seafile-server-$seafile_version/seahub/media
|
||||||
test -e $install_dir/seahub-data && setfacl -R -m user:www-data:rX $install_dir/seahub-data
|
test -e $install_dir/seahub-data && setfacl -m user:www-data:rX $data_dir
|
||||||
|
test -e $install_dir/seahub-data && setfacl -R -m user:www-data:rX $data_dir/seahub-data
|
||||||
|
|
||||||
find $data_dir \( \! -perm -o= \
|
find $data_dir \( \! -perm -o= \
|
||||||
-o \! -user $YNH_APP_ID \
|
-o \! -user $app \
|
||||||
-o \! -group $YNH_APP_ID \) \
|
-o \! -group $app \) \
|
||||||
-exec chown $YNH_APP_ID:$YNH_APP_ID {} \; \
|
-exec chown $app:$app {} \; \
|
||||||
-exec chmod o= {} \;
|
-exec chmod o= {} \;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,9 @@ source ../settings/scripts/_common.sh
|
||||||
# Source YunoHost helpers
|
# Source YunoHost helpers
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
# retrieve useful param
|
|
||||||
seafile_version=$(ynh_app_upstream_version)
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
if [[ ! "$(systemctl status seafile)" =~ "Active: inactive (dead)" ]] || [[ ! "$(systemctl status seahub)" =~ "Active: failed (Result: signal)" ]]; then
|
if systemctl is-active seafile --quiet || systemctl is-active seahub --quiet; then
|
||||||
ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop seafile service and seahub service with this command before to run the backup 'systemctl stop seafile.service seahub.service'"
|
ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop seafile service and seahub service with this command before to run the backup 'systemctl stop seafile.service seahub.service'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -24,20 +23,23 @@ fi
|
||||||
|
|
||||||
# # Backup app files
|
# # Backup app files
|
||||||
ynh_print_info --message="Backing up code..."
|
ynh_print_info --message="Backing up code..."
|
||||||
ynh_backup --src_path $install_dir
|
ynh_backup --src_path "$install_dir"
|
||||||
ynh_print_info --message="Backing up user data..."
|
ynh_print_info --message="Backing up user data..."
|
||||||
ynh_backup --src_path=$data_dir --dest_path="data" --is_big=1
|
ynh_backup --src_path="$data_dir" --dest_path="data" --is_big=1
|
||||||
ynh_print_info --message="Backing up configuration..."
|
ynh_print_info --message="Backing up configuration..."
|
||||||
ynh_backup --src_path /etc/nginx/conf.d/$domain.d/${app}.conf
|
ynh_backup --src_path "/etc/nginx/conf.d/$domain.d/${app}.conf"
|
||||||
ynh_backup --src_path /etc/systemd/system/seafile.service
|
ynh_backup --src_path /etc/systemd/system/seafile.service
|
||||||
ynh_backup --src_path /etc/systemd/system/seahub.service
|
ynh_backup --src_path /etc/systemd/system/seahub.service
|
||||||
ynh_backup --src_path /etc/fail2ban/jail.d/$app.conf
|
ynh_backup --src_path /etc/fail2ban/jail.d/"$app".conf
|
||||||
ynh_backup --src_path /etc/fail2ban/filter.d/$app.conf
|
ynh_backup --src_path /etc/fail2ban/filter.d/"$app".conf
|
||||||
|
|
||||||
|
# Backup logs
|
||||||
|
ynh_backup --src_path="/var/log/$app"
|
||||||
|
|
||||||
# Backup mysql
|
# Backup mysql
|
||||||
ynh_print_info --message="Backing up database"
|
ynh_print_info --message="Backing up database"
|
||||||
ynh_mysql_dump_db --database $db_name > ${YNH_CWD}/seafiledb.dmp
|
ynh_mysql_dump_db --database "$db_name" > "${YNH_CWD}"/seafiledb.dmp
|
||||||
ynh_mysql_dump_db --database ccnetdb > ${YNH_CWD}/ccnetdb.dmp
|
ynh_mysql_dump_db --database ccnetdb > "${YNH_CWD}"/ccnetdb.dmp
|
||||||
ynh_mysql_dump_db --database seahubdb > ${YNH_CWD}/seahubdb.dmp
|
ynh_mysql_dump_db --database seahubdb > "${YNH_CWD}"/seahubdb.dmp
|
||||||
|
|
||||||
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
|
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
|
||||||
|
|
|
@ -11,6 +11,8 @@ source ./_common.sh
|
||||||
# Source YunoHost helpers
|
# Source YunoHost helpers
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
# Create special path with / at the end
|
# Create special path with / at the end
|
||||||
if [[ $path == '/' ]]
|
if [[ $path == '/' ]]
|
||||||
then
|
then
|
||||||
|
|
|
@ -13,29 +13,24 @@ source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
seafile_version=$(ynh_app_upstream_version)
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
# Create special path with / at the end
|
install_pkg_conf
|
||||||
if [[ $path == '/' ]]
|
|
||||||
then
|
|
||||||
path2=$path
|
|
||||||
else
|
|
||||||
path2=$path"/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD MODIFICATIONS
|
# STANDARD MODIFICATIONS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_script_progression --message="Creating base directory..."
|
ynh_script_progression --message="Creating base directory..."
|
||||||
ln -s $data_dir $install_dir/seafile-data
|
|
||||||
mkdir -p $install_dir/logs
|
|
||||||
|
|
||||||
if [ -n "$(ls -A $data_dir)" ]; then
|
if [ -n "$(ls -A "$data_dir")" ]; then
|
||||||
old_data_dir_path="${data_dir}_$(date '+%Y%m%d.%H%M%S')"
|
old_data_dir_path="${data_dir}_$(date '+%Y%m%d.%H%M%S')"
|
||||||
ynh_print_warn "Data directory was not empty. Data was moved to $old_data_dir_path"
|
ynh_print_warn "Data directory was not empty. Data was moved to $old_data_dir_path"
|
||||||
mkdir -p $old_data_dir_path
|
mkdir -p "$old_data_dir_path"
|
||||||
mv -t "$old_data_dir_path" "$data_dir"/*
|
mv -t "$old_data_dir_path" "$data_dir"/*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mkdir -p /var/log/"$app"
|
||||||
|
mkdir -p "$data_dir"/{seafile-data,seahub-data}
|
||||||
|
|
||||||
# Download new version from sources
|
# Download new version from sources
|
||||||
ynh_script_progression --message="Installing sources files..." --weight=7
|
ynh_script_progression --message="Installing sources files..." --weight=7
|
||||||
ynh_setup_source --dest_dir=$install_dir/seafile-server-$seafile_version
|
ynh_setup_source --dest_dir=$install_dir/seafile-server-$seafile_version
|
||||||
|
@ -46,9 +41,8 @@ install_dependance
|
||||||
# init databases
|
# init databases
|
||||||
ynh_script_progression --message="Configuring MySQL database..."
|
ynh_script_progression --message="Configuring MySQL database..."
|
||||||
db_user=seafile
|
db_user=seafile
|
||||||
db_helper=ynh_"mysql"_setup_db
|
ynh_''mysql_setup_db --db_user "$db_user" --db_name ccnetdb --db_pwd "$db_pwd"
|
||||||
$db_helper --db_user $db_user --db_name ccnetdb --db_pwd "$db_pwd"
|
ynh_''mysql_setup_db --db_user "$db_user" --db_name seahubdb --db_pwd "$db_pwd"
|
||||||
$db_helper --db_user $db_user --db_name seahubdb --db_pwd "$db_pwd"
|
|
||||||
|
|
||||||
ynh_script_progression --message="Configuring application..." --weight=3
|
ynh_script_progression --message="Configuring application..." --weight=3
|
||||||
|
|
||||||
|
@ -56,23 +50,23 @@ ynh_script_progression --message="Configuring application..." --weight=3
|
||||||
set_permission
|
set_permission
|
||||||
ynh_replace_special_string --match_string 'seafile_config.seafile_dir = seafile_config.validate_seafile_dir(seafile_dir)' \
|
ynh_replace_special_string --match_string 'seafile_config.seafile_dir = seafile_config.validate_seafile_dir(seafile_dir)' \
|
||||||
--replace_string 'seafile_config.seafile_dir = seafile_dir' \
|
--replace_string 'seafile_config.seafile_dir = seafile_dir' \
|
||||||
--target_file $install_dir/seafile-server-$seafile_version/setup-seafile-mysql.py
|
--target_file "$install_dir/seafile-server-$seafile_version/setup-seafile-mysql.py"
|
||||||
sudo -u $YNH_APP_ID bash $install_dir/seafile-server-$seafile_version/setup-seafile-mysql.sh auto \
|
sudo -u "$app" bash "$install_dir/seafile-server-$seafile_version/setup-seafile-mysql.sh" auto \
|
||||||
--server-name "$server_name" \
|
--server-name "$server_name" \
|
||||||
--server-ip $domain \
|
--server-ip "$domain" \
|
||||||
--fileserver-port $port_fileserver \
|
--fileserver-port "$port_fileserver" \
|
||||||
--use-existing-db 1 \
|
--use-existing-db 1 \
|
||||||
--mysql-host localhost \
|
--mysql-host localhost \
|
||||||
--mysql-port 3306 \
|
--mysql-port 3306 \
|
||||||
--mysql-user $db_user \
|
--mysql-user "$db_user" \
|
||||||
--mysql-user-passwd "$db_pwd" \
|
--mysql-user-passwd "$db_pwd" \
|
||||||
--seafile-db "$db_name" \
|
--seafile-db "$db_name" \
|
||||||
--ccnet-db ccnetdb \
|
--ccnet-db ccnetdb \
|
||||||
--seahub-db seahubdb
|
--seahub-db seahubdb
|
||||||
|
|
||||||
# Retrive values from auto generated config file
|
# Retrive values from auto generated config file
|
||||||
seahub_secret_key=$(grep -P 'SECRET_KEY\s*=\s*".+"' $install_dir/conf/seahub_settings.py | cut -d'"' -f2)
|
seahub_secret_key=$(grep -P 'SECRET_KEY\s*=\s*".+"' "$install_dir"/conf/seahub_settings.py | cut -d'"' -f2)
|
||||||
ynh_app_setting_set --app $app --key seahub_secret_key --value $seahub_secret_key
|
ynh_app_setting_set --app "$app" --key seahub_secret_key --value "$seahub_secret_key"
|
||||||
|
|
||||||
# Update seafile config files
|
# Update seafile config files
|
||||||
ynh_add_config --template=seahub_settings.py --destination=$install_dir/conf/seahub_settings.py
|
ynh_add_config --template=seahub_settings.py --destination=$install_dir/conf/seahub_settings.py
|
||||||
|
@ -83,10 +77,27 @@ ynh_add_config --template=seafdav.conf --destination=$install_dir/conf/seafdav.c
|
||||||
|
|
||||||
# Configure admin info
|
# Configure admin info
|
||||||
# It will be used the first start
|
# It will be used the first start
|
||||||
admin_email=$(ynh_user_get_info --username $admin --key 'mail')
|
admin_email=$(ynh_user_get_info --username "$admin" --key 'mail')
|
||||||
cp ../conf/create_admin.json $install_dir/conf/admin.txt
|
cp ../conf/create_admin.json $install_dir/conf/admin.txt
|
||||||
ynh_replace_string --match_string __ADMIN__ --replace_string $admin_email --target_file $install_dir/conf/admin.txt
|
ynh_replace_string --match_string __ADMIN__ --replace_string "$admin_email" --target_file $install_dir/conf/admin.txt
|
||||||
ynh_replace_special_string --match_string __PASSWORD__ --replace_string $admin_password --target_file $install_dir/conf/admin.txt
|
ynh_replace_special_string --match_string __PASSWORD__ --replace_string "$admin_password" --target_file $install_dir/conf/admin.txt
|
||||||
|
|
||||||
|
# Use symlink to store data
|
||||||
|
if [ -e "$install_dir"/seafile-data ]; then
|
||||||
|
mv -t "$data_dir"/seafile-data "$install_dir"/seafile-data/*
|
||||||
|
ynh_secure_remove --file="$install_dir"/seafile-data
|
||||||
|
fi
|
||||||
|
if [ -e "$install_dir"/seahub-data ]; then
|
||||||
|
mv -t "$data_dir"/seahub-data "$install_dir"/seahub-data/*
|
||||||
|
ynh_secure_remove --file="$install_dir"/seahub-data
|
||||||
|
fi
|
||||||
|
if [ -e "$install_dir"/logs ]; then
|
||||||
|
mv -t /var/log/"$app" "$install_dir"/logs/*
|
||||||
|
ynh_secure_remove --file="$install_dir"/logs
|
||||||
|
fi
|
||||||
|
ln -s "$data_dir"/seafile-data "$install_dir"/seafile-data
|
||||||
|
ln -s "$data_dir"/seahub-data "$install_dir"/seahub-data
|
||||||
|
ln -s /var/log/"$app" "$install_dir"/logs
|
||||||
|
|
||||||
# Fix local warning
|
# Fix local warning
|
||||||
ynh_replace_string --match_string en_US.UTF-8 --replace_string ${LANG:-'en_US.UTF-8'} --target_file $install_dir/seafile-server-$seafile_version/seahub.sh
|
ynh_replace_string --match_string en_US.UTF-8 --replace_string ${LANG:-'en_US.UTF-8'} --target_file $install_dir/seafile-server-$seafile_version/seahub.sh
|
||||||
|
@ -97,8 +108,8 @@ ynh_add_systemd_config --service seafile --template seafile.service
|
||||||
ynh_add_systemd_config --service seahub --template seahub.service
|
ynh_add_systemd_config --service seahub --template seahub.service
|
||||||
|
|
||||||
# register yunohost service
|
# register yunohost service
|
||||||
yunohost service add seafile
|
yunohost service add seafile --description 'Main service for seafile server.'
|
||||||
yunohost service add seahub
|
yunohost service add seahub --description 'Seafile server web interface.'
|
||||||
|
|
||||||
# Config nginx
|
# Config nginx
|
||||||
ynh_script_progression --message="Configuring nginx..."
|
ynh_script_progression --message="Configuring nginx..."
|
||||||
|
@ -106,8 +117,7 @@ ynh_add_nginx_config
|
||||||
|
|
||||||
# Add logrotate
|
# Add logrotate
|
||||||
ynh_script_progression --message="Configuring log rotation..."
|
ynh_script_progression --message="Configuring log rotation..."
|
||||||
ynh_use_logrotate --logfile $install_dir/logs
|
ynh_use_logrotate --logfile=/var/log/"$app"
|
||||||
ln -s $install_dir/logs /var/log/seafile
|
|
||||||
|
|
||||||
# Add fail2ban
|
# Add fail2ban
|
||||||
ynh_script_progression --message="Configuring fail2ban..."
|
ynh_script_progression --message="Configuring fail2ban..."
|
||||||
|
|
|
@ -11,6 +11,8 @@ source ./_common.sh
|
||||||
# Source YunoHost helpers
|
# Source YunoHost helpers
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD REMOVE
|
# STANDARD REMOVE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -27,8 +29,10 @@ pkill -f seaf-server || true
|
||||||
pkill -f ccnet-server || true
|
pkill -f ccnet-server || true
|
||||||
pkill -f seahub || true
|
pkill -f seahub || true
|
||||||
|
|
||||||
ynh_script_progression --message="Removing logs..."
|
if [ "$YNH_APP_PURGE" -eq 1 ]; then
|
||||||
ynh_secure_remove --file=/var/log/seafile
|
ynh_script_progression --message="Removing logs..."
|
||||||
|
ynh_secure_remove --file=/var/log/"$app"
|
||||||
|
fi
|
||||||
ynh_script_progression --message="Removing code..."
|
ynh_script_progression --message="Removing code..."
|
||||||
ynh_secure_remove --file=/var/www/$app
|
ynh_secure_remove --file=/var/www/$app
|
||||||
ynh_secure_remove --file=/opt/yunohost/$app
|
ynh_secure_remove --file=/opt/yunohost/$app
|
||||||
|
|
|
@ -11,6 +11,8 @@ source ../settings/scripts/_common.sh
|
||||||
# Source YunoHost helpers
|
# Source YunoHost helpers
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
ynh_script_progression --message="Loading settings..."
|
ynh_script_progression --message="Loading settings..."
|
||||||
|
|
||||||
# Retrieve arguments
|
# Retrieve arguments
|
||||||
|
@ -27,8 +29,8 @@ ynh_restore
|
||||||
# Restore mysql dump
|
# Restore mysql dump
|
||||||
ynh_script_progression --message="Restoring database..." --weight=3
|
ynh_script_progression --message="Restoring database..." --weight=3
|
||||||
db_helper=ynh_"mysql"_setup_db
|
db_helper=ynh_"mysql"_setup_db
|
||||||
$db_helper --db_user $db_user --db_name ccnetdb --db_pwd "$db_pwd"
|
$db_helper --db_user "$db_user" --db_name ccnetdb --db_pwd "$db_pwd"
|
||||||
$db_helper --db_user $db_user --db_name seahubdb --db_pwd "$db_pwd"
|
$db_helper --db_user "$db_user" --db_name seahubdb --db_pwd "$db_pwd"
|
||||||
su -c "mysql -u ${app} -p$db_pwd $db_name < ${YNH_CWD}/seafiledb.dmp"
|
su -c "mysql -u ${app} -p$db_pwd $db_name < ${YNH_CWD}/seafiledb.dmp"
|
||||||
su -c "mysql -u ${app} -p$db_pwd ccnetdb < ${YNH_CWD}/ccnetdb.dmp"
|
su -c "mysql -u ${app} -p$db_pwd ccnetdb < ${YNH_CWD}/ccnetdb.dmp"
|
||||||
su -c "mysql -u ${app} -p$db_pwd seahubdb < ${YNH_CWD}/seahubdb.dmp"
|
su -c "mysql -u ${app} -p$db_pwd seahubdb < ${YNH_CWD}/seahubdb.dmp"
|
||||||
|
@ -39,8 +41,8 @@ su -c "mysql -u ${app} -p$db_pwd seahubdb < ${YNH_CWD}/seahubdb.dmp"
|
||||||
|
|
||||||
# Add logrotate
|
# Add logrotate
|
||||||
ynh_script_progression --message="Configuring log rotation..."
|
ynh_script_progression --message="Configuring log rotation..."
|
||||||
ynh_use_logrotate --logfile $install_dir/logs
|
mkdir -p /var/log/"$app"
|
||||||
ln -s $install_dir/logs /var/log/seafile
|
ynh_use_logrotate --logfile "$install_dir"/logs
|
||||||
|
|
||||||
# Set all permissions
|
# Set all permissions
|
||||||
ynh_script_progression --message="Protecting directory..."
|
ynh_script_progression --message="Protecting directory..."
|
||||||
|
@ -54,8 +56,8 @@ systemctl enable seahub --quiet
|
||||||
|
|
||||||
# Add Seafile to YunoHost's monitored services
|
# Add Seafile to YunoHost's monitored services
|
||||||
ynh_script_progression --message="Register seafile service..."
|
ynh_script_progression --message="Register seafile service..."
|
||||||
yunohost service add seafile
|
yunohost service add seafile --description 'Main service for seafile server.'
|
||||||
yunohost service add seahub
|
yunohost service add seahub --description 'Seafile server web interface.'
|
||||||
|
|
||||||
ynh_script_progression --message="Reloading services..."
|
ynh_script_progression --message="Reloading services..."
|
||||||
|
|
||||||
|
|
101
scripts/upgrade
101
scripts/upgrade
|
@ -11,36 +11,21 @@ source ./_common.sh
|
||||||
# Source YunoHost helpers
|
# Source YunoHost helpers
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
# Retrieve arguments
|
|
||||||
installed_version=${YNH_APP_CURRENT_VERSION/~ynh*/}
|
|
||||||
seafile_version=$(ynh_app_upstream_version)
|
seafile_version=$(ynh_app_upstream_version)
|
||||||
|
|
||||||
# Create special path with / at the end
|
# Retrieve arguments
|
||||||
if [[ $path == '/' ]]
|
installed_version=${YNH_APP_CURRENT_VERSION/~ynh*/}
|
||||||
then
|
|
||||||
path2=$path
|
|
||||||
else
|
|
||||||
path2=$path"/"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$YNH_APP_CURRENT_VERSION" == '-' ]; then
|
if [ "$YNH_APP_CURRENT_VERSION" == '-' ] || ynh_compare_current_package_version --comparison=le --version='7.0~ynh1'; then
|
||||||
ynh_die "Upgrade from this version not supported"
|
ynh_die "Upgrade from this version not supported"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
install_pkg_conf
|
||||||
|
|
||||||
ynh_script_progression --message="Stoping services..."
|
ynh_script_progression --message="Stoping services..."
|
||||||
|
|
||||||
# stop seafile server
|
ynh_systemd_action --service_name seafile --action stop
|
||||||
if [ -e /etc/init.d/seafile-server ]
|
ynh_systemd_action --service_name seahub --action stop
|
||||||
then
|
|
||||||
# Old init script support
|
|
||||||
systemctl stop seafile-server --quiet
|
|
||||||
systemctl disable seafile-server --quiet
|
|
||||||
ynh_secure_remove --file=/etc/init.d/seafile-server
|
|
||||||
yunohost service remove seafile-server
|
|
||||||
else
|
|
||||||
ynh_systemd_action --service_name seafile --action stop
|
|
||||||
ynh_systemd_action --service_name seahub --action stop
|
|
||||||
fi
|
|
||||||
sleep 5
|
sleep 5
|
||||||
pkill -f seafile-controller || true
|
pkill -f seafile-controller || true
|
||||||
pkill -f seaf-server || true
|
pkill -f seaf-server || true
|
||||||
|
@ -56,34 +41,66 @@ if mysqlshow | grep -q seafiledb; then
|
||||||
$mysqlconn -e "RENAME TABLE seafiledb.$name to $db_name.$name";
|
$mysqlconn -e "RENAME TABLE seafiledb.$name to $db_name.$name";
|
||||||
done;
|
done;
|
||||||
$mysqlconn -e "DROP DATABASE seafiledb"
|
$mysqlconn -e "DROP DATABASE seafiledb"
|
||||||
ynh_replace_string --match_string='db_name = seafiledb' --replace_string='db_name = seafile' --target_file=$install_dir/conf/seafile.conf
|
ynh_replace_string --match_string='db_name = seafiledb' --replace_string='db_name = seafile' --target_file="$install_dir"/conf/seafile.conf
|
||||||
sed -i "s|password\s*=\s*.*^|password = $db_pwd|g" $install_dir/conf/seafile.conf
|
sed -i "s|password\s*=\s*.*^|password = $db_pwd|g" "$install_dir"/conf/seafile.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set missing settings
|
# Set missing settings
|
||||||
if [ -z ${seahub_secret_key:-} ]; then
|
if [ -z "${seahub_secret_key:-}" ]; then
|
||||||
seahub_secret_key=$(grep -P 'SECRET_KEY\s*=\s*".+"' $install_dir/conf/seahub_settings.py | cut -d'"' -f2)
|
seahub_secret_key=$(grep -P 'SECRET_KEY\s*=\s*".+"' "$install_dir"/conf/seahub_settings.py | cut -d'"' -f2)
|
||||||
ynh_app_setting_set --app $app --key seahub_secret_key --value $seahub_secret_key
|
ynh_app_setting_set --app "$app" --key seahub_secret_key --value "$seahub_secret_key"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
# Update data dir if needed
|
# Update data dir if needed
|
||||||
|
#
|
||||||
|
|
||||||
|
# Create link to /home/yunohost.app/seafile/seafile-data in case of old install with data dir defined in config instead of symlink
|
||||||
|
# Also update link if not pointing to correct path
|
||||||
if [ ! -L /home/yunohost.app/seafile-data ] || \
|
if [ ! -L /home/yunohost.app/seafile-data ] || \
|
||||||
[ $(readlink $install_dir/seafile-data) = '/home/yunohost.app/seafile-data' ]; then
|
[ "$(readlink "$install_dir"/seafile-data)" != "$data_dir/seafile-data" ]; then
|
||||||
mv $install_dir/seafile-data $install_dir/seafile-data$(date '+%Y%m%d.%H%M%S')
|
mv "$install_dir"/seafile-data "$install_dir/seafile-data_$(date '+%Y%m%d.%H%M%S')"
|
||||||
ln -s $data_dir $install_dir/seafile-data
|
ln -s "$data_dir"/seafile-data "$install_dir"/seafile-data
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Move if needed old /home/yunohost.app/seafile-data dir to /home/yunohost.app/seafile/seafile-data
|
||||||
if [ -e /home/yunohost.app/seafile-data ]; then
|
if [ -e /home/yunohost.app/seafile-data ]; then
|
||||||
if [ -e $data_dir ]; then
|
if [ -e "$data_dir" ]; then
|
||||||
mv $data_dir $data_dir$(date '+%Y%m%d.%H%M%S')
|
mv "$data_dir" "${data_dir}_$(date '+%Y%m%d.%H%M%S')"
|
||||||
fi
|
fi
|
||||||
mv /home/yunohost.app/seafile-data $data_dir
|
mkdir -p "$data_dir"
|
||||||
|
mv /home/yunohost.app/seafile-data "$data_dir"/
|
||||||
|
fi
|
||||||
|
|
||||||
|
# In case of seafile-data content was directly stored in /home/yunohost.app/seafile
|
||||||
|
if [ -e "$data_dir"/storage ]; then
|
||||||
|
mkdir -p "$data_dir"/seafile-data
|
||||||
|
mv -t "$data_dir"/seafile-data "$data_dir"/{commits,fs,httptemp,library-template,storage,tmpfiles,webdavtmp} || true # In case of some of dir don't exist
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Move seahub data to /home/yunohost.app/seafile/seahub-data
|
||||||
|
if [ ! -L "$install_dir"/seahub-data ]; then
|
||||||
|
if [ -e "$data_dir"/seahub-data ]; then
|
||||||
|
mv "$data_dir"/seahub-data "$data_dir/seahub-data_$(date '+%Y%m%d.%H%M%S')"
|
||||||
|
fi
|
||||||
|
mv "$install_dir"/seahub-data "$data_dir"/
|
||||||
|
ln -s "$data_dir"/seahub-data "$install_dir"/seahub-data
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Move logs storage to /var/log/seafile
|
||||||
|
if [ ! -L "$install_dir"/logs ]; then
|
||||||
|
if [ -e /var/log/"$app" ]; then
|
||||||
|
mv /var/log/"$app" /var/log/"${app}_$(date '+%Y%m%d.%H%M%S')"
|
||||||
|
fi
|
||||||
|
mv "$install_dir"/logs /var/log/"${app}"
|
||||||
|
ln -s /var/log/"${app}" "$install_dir"/logs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ynh_script_progression --message="Upgrading source files..." --weight=6
|
ynh_script_progression --message="Upgrading source files..." --weight=6
|
||||||
|
|
||||||
# Download new version from sources
|
# Download new version from sources
|
||||||
ynh_script_progression --message="Installing sources files..." --weight=7
|
ynh_script_progression --message="Installing sources files..." --weight=7
|
||||||
ynh_setup_source --dest_dir=$install_dir/seafile-server-$seafile_version
|
ynh_setup_source --dest_dir="$install_dir"/seafile-server-$seafile_version
|
||||||
|
|
||||||
ynh_script_progression --message="Installing python dependancies..."
|
ynh_script_progression --message="Installing python dependancies..."
|
||||||
install_dependance
|
install_dependance
|
||||||
|
@ -109,12 +126,12 @@ case $installed_version in
|
||||||
"7.0"* )
|
"7.0"* )
|
||||||
# Fix file comment
|
# Fix file comment
|
||||||
pushd $install_dir/seafile-server-$seafile_version
|
pushd $install_dir/seafile-server-$seafile_version
|
||||||
sudo -u $YNH_APP_ID $install_dir/seafile-server-$seafile_version/seahub.sh python-env python3 seahub/manage.py migrate_file_comment
|
sudo -u $app $install_dir/seafile-server-$seafile_version/seahub.sh python-env python3 seahub/manage.py migrate_file_comment
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Update seafile by script
|
# Update seafile by script
|
||||||
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.0_7.1.sh
|
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.0_7.1.sh
|
||||||
sudo -u $YNH_APP_ID bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.0_7.1.sh
|
sudo -u $app bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.0_7.1.sh
|
||||||
|
|
||||||
# Fix seafile data link. Look like that the upgrade script of seafile don't always work correctly
|
# Fix seafile data link. Look like that the upgrade script of seafile don't always work correctly
|
||||||
if [ -e $install_dir/seafile-data ]; then
|
if [ -e $install_dir/seafile-data ]; then
|
||||||
|
@ -125,16 +142,16 @@ case $installed_version in
|
||||||
;&
|
;&
|
||||||
"7.1."* )
|
"7.1."* )
|
||||||
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_8.0_9.0.sh
|
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_8.0_9.0.sh
|
||||||
sudo -u $YNH_APP_ID bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_8.0_9.0.sh
|
sudo -u $app bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_8.0_9.0.sh
|
||||||
;&
|
;&
|
||||||
"8.0."* )
|
"8.0."* )
|
||||||
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.1_8.0.sh
|
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.1_8.0.sh
|
||||||
sudo -u $YNH_APP_ID bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.1_8.0.sh
|
sudo -u $app bash $install_dir/seafile-server-$seafile_version/upgrade/upgrade_7.1_8.0.sh
|
||||||
;&
|
;&
|
||||||
esac
|
esac
|
||||||
|
|
||||||
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/minor-upgrade.sh
|
ynh_replace_string --match_string='read dummy' --replace_string='# patched' --target_file=$install_dir/seafile-server-$seafile_version/upgrade/minor-upgrade.sh
|
||||||
sudo -u $YNH_APP_ID bash $install_dir/seafile-server-$seafile_version/upgrade/minor-upgrade.sh
|
sudo -u $app bash $install_dir/seafile-server-$seafile_version/upgrade/minor-upgrade.sh
|
||||||
|
|
||||||
# Clean url in config in DB
|
# Clean url in config in DB
|
||||||
clean_url_in_db_config
|
clean_url_in_db_config
|
||||||
|
@ -171,7 +188,7 @@ set_permission
|
||||||
|
|
||||||
# Add logrotate
|
# Add logrotate
|
||||||
ynh_script_progression --message="Configuring log rotation..."
|
ynh_script_progression --message="Configuring log rotation..."
|
||||||
ynh_use_logrotate --logfile $install_dir/logs --nonappend
|
ynh_use_logrotate --logfile=/var/log/"$app" --nonappend
|
||||||
|
|
||||||
# Add fail2ban
|
# Add fail2ban
|
||||||
ynh_script_progression --message="Configuring fail2ban..." --weight=10
|
ynh_script_progression --message="Configuring fail2ban..." --weight=10
|
||||||
|
@ -179,8 +196,8 @@ ynh_add_fail2ban_config --use_template
|
||||||
|
|
||||||
# register yunohost service
|
# register yunohost service
|
||||||
ynh_script_progression --message="Register seafile service..."
|
ynh_script_progression --message="Register seafile service..."
|
||||||
yunohost service add seafile
|
yunohost service add seafile --description 'Main service for seafile server.'
|
||||||
yunohost service add seahub
|
yunohost service add seahub --description 'Seafile server web interface.'
|
||||||
|
|
||||||
# delete seafile cache
|
# delete seafile cache
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,6 @@ test_format = 1.0
|
||||||
# Commits to test upgrade from
|
# Commits to test upgrade from
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
|
|
||||||
test_upgrade_from.b5fd940.name = "Pre packaging v2"
|
test_upgrade_from.ef7eb6f.name = "Pre packaging v2 (Old_version_for_CI_6 branch)"
|
||||||
test_upgrade_from.3ce35d3.name = "Version 7.1 Old version for CI 4 branch"
|
test_upgrade_from.8d41482.name = "Version 7.1 (Old_version_for_CI_4 branch)"
|
||||||
test_upgrade_from.97c0b2f.name = "Version 8.x Old version for CI 5 branch"
|
test_upgrade_from.c11c24b.name = "Version 8.x (Old_version_for_CI_5 branch)"
|
||||||
|
|
Loading…
Add table
Reference in a new issue