diff --git a/README.md b/README.md index d262f93..0a2cee7 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,20 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -LibreOffice-based online office suite with collaborative editing +Collabora Online is a powerful LibreOffice-based online office that supports all major document, spreadsheet and presentation file formats, which you can integrate into Nextcloud. -**Shipped version:** 6.4.10~ynh2 +### Features + +- View and edit text documents, spreadsheets, presentations & more +- Collaborative editing features +- Works in any modern browser – no plugin needed +- Preservation of layout and formatting of documents +- text documents (odt, docx, doc…) +- spreadsheets (ods, xlsx, xls…) +- presentations (odp, pptx, ppt…) + + +**Shipped version:** 21.11.0.6~ynh1 @@ -30,10 +41,10 @@ LibreOffice-based online office suite with collaborative editing ## Configuration **Settings:** -The settings of Collabora are at `https://office.domain.tld/loleaflet/dist/admin/admin.html`. +The settings of Collabora are at `https://office.domain.tld/browser/dist/admin/admin.html`. - User: admin -- Password: The password set during the installation. (If you forgot it, you can find it again in `/etc/loolwsd/loolwsd.xml`). +- Password: The password set during the installation. (If you forgot it, you can find it again in `/etc/coolwsd/coolwsd.xml`). ## Connexion to Nextcloud @@ -52,7 +63,6 @@ If you want to connect with Nextcloud, you have to install the [Collabora Online ## Documentation and resources * Official app website: https://collaboraoffice.com -* Official user documentation: https://yunohost.org/#/app_collabora * Official admin documentation: https://www.collaboraoffice.com/code/ * YunoHost documentation for this app: https://yunohost.org/app_collabora * Report a bug: https://github.com/YunoHost-Apps/collabora_ynh/issues diff --git a/README_fr.md b/README_fr.md index 34518ba..2cb5c9b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,9 +11,19 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour ## Vue d'ensemble -Suite office en ligne et collaborative, basée sur LibreOffice +Collabora Online est une suite bureautique en ligne open source basé sur LibreOffice qui prend en charge tous les principaux formats de documents, feuilles de calcul et fichiers de présentation, que vous pouvez intégrer à Nextcloud. -**Version incluse :** 6.4.10~ynh2 +### Caractéristiques + +- Affichez et modifiez des documents texte, des feuilles de calcul, des présentations, etc. +- Fonctionnalités d'édition collaborative +- Fonctionne dans n'importe quel navigateur moderne - aucun plugin nécessaire +- Conservation de la mise en page et de la mise en forme des documents +- documents texte (odt, docx, doc…) +- des tableurs (ods, xlsx, xls…) +- présentations (odp, pptx, ppt…) + +**Version incluse :** 21.11.0.6~ynh1 @@ -26,16 +36,16 @@ Suite office en ligne et collaborative, basée sur LibreOffice ## Configuration **Paramètres :** -Les paramètres de Collabora sont à `https://office.domain.tld/loleaflet/dist/admin/admin.html`. +Les paramètres de Collabora sont à `https://office.domain.tld/browser/dist/admin/admin.html`. -- Utilisateur : administrateur -- Mot de passe : Le mot de passe défini lors de l'installation. (Si vous l'avez oublié, vous pouvez le retrouver dans `/etc/loolwsd/loolwsd.xml`). +- Utilisateur : admin +- Mot de passe : Le mot de passe défini lors de l'installation. (Si vous l'avez oublié, vous pouvez le retrouver dans `/etc/coolwsd/coolwsd.xml`). ## Connexion à Nextcloud Si vous souhaitez vous connecter à Nextcloud, vous devez installer l'application [Collabora Online](https://apps.nextcloud.com/apps/richdocuments) dans Nextcloud, et la configurer avec le domaine de votre installation Collabora. -* : avertissement : il existe plusieurs applications Collabora Online. Assurez-vous **de ne pas** installer les applications `Collabora Online - Built-in CODE server`, qui sont une version allégée de ce package Collabora. :Attention:* +*:warning: Il existe plusieurs applications Collabora Online. Assurez-vous **de ne pas** installer les applications `Collabora Online - Built-in CODE server`, qui sont une version allégée de ce package Collabora. :warning:* ## Limites @@ -48,7 +58,6 @@ Si vous souhaitez vous connecter à Nextcloud, vous devez installer l'applicatio ## Documentations et ressources * Site officiel de l'app : https://collaboraoffice.com -* Documentation officielle utilisateur : https://yunohost.org/#/app_collabora * Documentation officielle de l'admin : https://www.collaboraoffice.com/code/ * Documentation YunoHost pour cette app : https://yunohost.org/app_collabora * Signaler un bug : https://github.com/YunoHost-Apps/collabora_ynh/issues diff --git a/conf/loolwsd.xml b/conf/coolwsd.xml similarity index 67% rename from conf/loolwsd.xml rename to conf/coolwsd.xml index ddd1a43..5efe1d4 100644 --- a/conf/loolwsd.xml +++ b/conf/coolwsd.xml @@ -1,5 +1,9 @@ + + + @@ -9,8 +13,9 @@ - - + + + 1 @@ -19,6 +24,7 @@ 5 false + 96 3600 @@ -31,32 +37,41 @@ 0 100 100 - + 10000 60 300 3072 85 + 120 - 60 + 120 900 - loleaflet.html + + true - warning + + warning + notice + fatal false -INFO-WARN - - /var/log/loolwsd.log + + /var/log/coolwsd.log never timestamp true @@ -71,10 +86,19 @@ - false + + + /var/log/coolwsd.trace.json + - - /tmp/looltrace-%.gz + false + + + /tmp/cooltrace-%.gz @@ -84,12 +108,14 @@ - all - any + any + - + 192\.168\.[0-9]{1,3}\.[0-9]{1,3} ::ffff:192\.168\.[0-9]{1,3}\.[0-9]{1,3} @@ -98,17 +124,24 @@ ::1 172\.17\.[0-9]{1,3}\.[0-9]{1,3} ::ffff:172\.17\.[0-9]{1,3}\.[0-9]{1,3} + 10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} - - + + + + + - false - true - /etc/loolwsd/cert.pem - /etc/loolwsd/key.pem - /etc/loolwsd/ca-chain.cert.pem + + false + + true + /etc/coolwsd/cert.pem + /etc/coolwsd/key.pem + /etc/coolwsd/ca-chain.cert.pem 1000 @@ -122,8 +155,16 @@ true true + 1800 + false + 1 + false + + + + @@ -132,16 +173,16 @@ true false - + - classic + default - + __NEXTCLOUD_DOMAIN__ 10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3} @@ -149,22 +190,22 @@ 172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3} 192\.168\.[0-9]{1,3}\.[0-9]{1,3} 192\.168\.1\.1 + + 0 - false + 900 - - __NEXTCLOUD_DOMAIN__ - + - true - + true + - + @@ -174,10 +215,17 @@ true false admin - __PASSWORD__ + __PASSWORD__ + + + + + + + diff --git a/conf/nginx.conf b/conf/nginx.conf index 30217dd..6acb77a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -5,7 +5,7 @@ location ~ ^/$ { } # static files -location ^~ /loleaflet { +location ^~ /browser { proxy_pass http://localhost:__PORT__; proxy_set_header Host $http_host; more_set_headers "X-Frame-Options: ALLOWALL"; @@ -26,7 +26,7 @@ location ^~ /hosting/capabilities { } # main websocket -location ~ ^/lool/(.*)/ws$ { +location ~ ^/cool/(.*)/ws$ { proxy_pass http://localhost:__PORT__; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; @@ -36,14 +36,14 @@ location ~ ^/lool/(.*)/ws$ { } # download, presentation and image upload -location ~ ^/lool { +location ~ ^/(c|l)ool { proxy_pass http://localhost:__PORT__; proxy_set_header Host $http_host; more_set_headers "X-Frame-Options: ALLOWALL"; } # Admin Console websocket -location ^~ /lool/adminws { +location ^~ /cool/adminws { proxy_pass http://localhost:__PORT__; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..a28c04b --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1,11 @@ +Collabora Online is a powerful LibreOffice-based online office that supports all major document, spreadsheet and presentation file formats, which you can integrate into Nextcloud. + +### Features + +- View and edit text documents, spreadsheets, presentations & more +- Collaborative editing features +- Works in any modern browser – no plugin needed +- Preservation of layout and formatting of documents +- text documents (odt, docx, doc…) +- spreadsheets (ods, xlsx, xls…) +- presentations (odp, pptx, ppt…) diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md new file mode 100644 index 0000000..e614239 --- /dev/null +++ b/doc/DESCRIPTION_fr.md @@ -0,0 +1,11 @@ +Collabora Online est une suite bureautique en ligne open source basé sur LibreOffice qui prend en charge tous les principaux formats de documents, feuilles de calcul et fichiers de présentation, que vous pouvez intégrer à Nextcloud. + +### Caractéristiques + +- Affichez et modifiez des documents texte, des feuilles de calcul, des présentations, etc. +- Fonctionnalités d'édition collaborative +- Fonctionne dans n'importe quel navigateur moderne - aucun plugin nécessaire +- Conservation de la mise en page et de la mise en forme des documents +- documents texte (odt, docx, doc…) +- des tableurs (ods, xlsx, xls…) +- présentations (odp, pptx, ppt…) \ No newline at end of file diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 2f7dbd4..94c0f98 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,10 +1,10 @@ ## Configuration **Settings:** -The settings of Collabora are at `https://office.domain.tld/loleaflet/dist/admin/admin.html`. +The settings of Collabora are at `https://office.domain.tld/browser/dist/admin/admin.html`. - User: admin -- Password: The password set during the installation. (If you forgot it, you can find it again in `/etc/loolwsd/loolwsd.xml`). +- Password: The password set during the installation. (If you forgot it, you can find it again in `/etc/coolwsd/coolwsd.xml`). ## Connexion to Nextcloud diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 1b723d4..ea64e03 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,16 +1,16 @@ ## Configuration **Paramètres :** -Les paramètres de Collabora sont à `https://office.domain.tld/loleaflet/dist/admin/admin.html`. +Les paramètres de Collabora sont à `https://office.domain.tld/browser/dist/admin/admin.html`. -- Utilisateur : administrateur -- Mot de passe : Le mot de passe défini lors de l'installation. (Si vous l'avez oublié, vous pouvez le retrouver dans `/etc/loolwsd/loolwsd.xml`). +- Utilisateur : admin +- Mot de passe : Le mot de passe défini lors de l'installation. (Si vous l'avez oublié, vous pouvez le retrouver dans `/etc/coolwsd/coolwsd.xml`). ## Connexion à Nextcloud Si vous souhaitez vous connecter à Nextcloud, vous devez installer l'application [Collabora Online](https://apps.nextcloud.com/apps/richdocuments) dans Nextcloud, et la configurer avec le domaine de votre installation Collabora. -* : avertissement : il existe plusieurs applications Collabora Online. Assurez-vous **de ne pas** installer les applications `Collabora Online - Built-in CODE server`, qui sont une version allégée de ce package Collabora. :Attention:* +*:warning: Il existe plusieurs applications Collabora Online. Assurez-vous **de ne pas** installer les applications `Collabora Online - Built-in CODE server`, qui sont une version allégée de ce package Collabora. :warning:* ## Limites diff --git a/manifest.json b/manifest.json index c2b7925..d7e2d1e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,13 +6,12 @@ "en": "LibreOffice-based online office suite with collaborative editing", "fr": "Suite office en ligne et collaborative, basée sur LibreOffice" }, - "version": "6.4.10~ynh2", + "version": "21.11.0.6~ynh1", "url": "https://collaboraoffice.com", "upstream": { "license": "MPL-2.0", "website": "https://collaboraoffice.com", - "admindoc": "https://www.collaboraoffice.com/code/", - "userdoc": "https://yunohost.org/#/app_collabora" + "admindoc": "https://www.collaboraoffice.com/code/" }, "license": "MPL-2.0", "maintainer": { @@ -30,13 +29,11 @@ "install" : [ { "name": "domain", - "type": "domain", - "example": "example.com" + "type": "domain" }, { "name": "password", - "type": "password", - "example": "password" + "type": "password" }, { "name": "nextcloud_domain", diff --git a/scripts/_common.sh b/scripts/_common.sh index 0ab2c58..3562dcc 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,7 +5,7 @@ #================================================= # dependencies used by the app -pkg_dependencies="loolwsd code-brand" +pkg_dependencies="coolwsd code-brand" #================================================= # PERSONAL HELPERS diff --git a/scripts/backup b/scripts/backup index 5591094..0884082 100644 --- a/scripts/backup +++ b/scripts/backup @@ -46,7 +46,7 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" # BACKUP CONFIGURATION #================================================= -ynh_backup --src_path="/etc/loolwsd/loolwsd.xml" +ynh_backup --src_path="/etc/coolwsd/coolwsd.xml" #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 8696134..6d59bae 100644 --- a/scripts/install +++ b/scripts/install @@ -73,9 +73,9 @@ ynh_script_progression --message="Installing config file..." --weight=2 # otherwise stupid collabora will expect to find a certificate file in its own # config directory which of course doesn't exists and we want to disable SSL # because we're in a reverse proxy context... -mkdir -p /etc/loolwsd -ynh_add_config --template="../conf/loolwsd.xml" --destination="/etc/loolwsd/loolwsd.xml" -chmod 640 "/etc/loolwsd/loolwsd.xml" +mkdir -p /etc/coolwsd +ynh_add_config --template="../conf/coolwsd.xml" --destination="/etc/coolwsd/coolwsd.xml" +chmod 640 "/etc/coolwsd/coolwsd.xml" #================================================= # INSTALL DEPENDENCIES @@ -98,7 +98,7 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add "loolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" +yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" #================================================= # GENERIC FINALIZATION @@ -109,7 +109,7 @@ ynh_script_progression --message="Starting a systemd service..." --weight=5 # Start a systemd service # NB. : we need a stupid *re*start because the service is in fact already started during the damn package install ... so it won't find a recent "Ready to accept connection" match ... -ynh_systemd_action --service_name="loolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" +ynh_systemd_action --service_name="coolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" #================================================= # SETUP SSOWAT diff --git a/scripts/remove b/scripts/remove index f3867c2..588d3ed 100644 --- a/scripts/remove +++ b/scripts/remove @@ -24,10 +24,10 @@ port=$(ynh_app_setting_get --app=$app --key=port) #================================================= # Remove the service from the list of services known by YunoHost (added from `yunohost service add`) -if ynh_exec_warn_less yunohost service status "loolwsd" >/dev/null +if ynh_exec_warn_less yunohost service status "coolwsd" >/dev/null then - ynh_script_progression --message="Removing loolwsd service integration..." --weight=1 - yunohost service remove "loolwsd" + ynh_script_progression --message="Removing coolwsd service integration..." --weight=1 + yunohost service remove "coolwsd" fi #================================================= @@ -36,7 +36,7 @@ fi ynh_script_progression --message="Stopping and removing the systemd service..." --weight=1 # Remove the dedicated systemd config -ynh_remove_systemd_config --service="loolwsd" +ynh_remove_systemd_config --service="coolwsd" #================================================= # STANDARD REMOVE @@ -65,7 +65,7 @@ ynh_remove_nginx_config #================================================= # Remove a directory securely -ynh_secure_remove --file="/etc/loolwsd" +ynh_secure_remove --file="/etc/coolwsd" #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 032367f..5bf710d 100644 --- a/scripts/restore +++ b/scripts/restore @@ -51,8 +51,8 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= ynh_script_progression --message="Restoring the configuration..." --weight=3 -ynh_restore_file --origin_path="/etc/loolwsd/loolwsd.xml" -chmod 640 "/etc/loolwsd/loolwsd.xml" +ynh_restore_file --origin_path="/etc/coolwsd/coolwsd.xml" +chmod 640 "/etc/coolwsd/coolwsd.xml" #================================================= # SPECIFIC RESTORATION @@ -69,14 +69,14 @@ ynh_install_extra_app_dependencies --repo="deb https://collaboraoffice.com/repos #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add "loolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" +yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=1 -ynh_systemd_action --service_name="loolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" +ynh_systemd_action --service_name="coolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" #================================================= # RELOAD NGINX diff --git a/scripts/upgrade b/scripts/upgrade index 4dd15fd..48e752b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -54,6 +54,25 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors +#================================================= +# REMOVE OLD SERVICE INTEGRATION IN YUNOHOST +#================================================= + +# Remove the old service from the list of services known by YunoHost (added from `yunohost service add`) +if ynh_exec_warn_less yunohost service status "loolwsd" >/dev/null +then + ynh_script_progression --message="Removing loolwsd service integration..." --weight=1 + yunohost service remove "loolwsd" +fi + +#================================================= +# STOP AND REMOVE SERVICE +#================================================= +ynh_script_progression --message="Stopping and removing the old systemd service..." --weight=1 + +# Remove the dedicated systemd config +ynh_remove_systemd_config --service="loolwsd" + #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -61,7 +80,7 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=5 -ynh_systemd_action --service_name="loolwsd" --action="stop" --log_path="systemd" --line_match="Stopped Collabora Online WebSocket Daemon" +ynh_systemd_action --service_name="coolwsd" --action="stop" --log_path="systemd" --line_match="Stopped Collabora Online WebSocket Daemon" #================================================= # NGINX CONFIGURATION @@ -76,10 +95,10 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Upgrading config file..." --weight=2 -ynh_add_config --template="../conf/loolwsd.xml" --destination="/etc/loolwsd/loolwsd.xml" +ynh_add_config --template="../conf/coolwsd.xml" --destination="/etc/coolwsd/coolwsd.xml" -chown lool: "/etc/loolwsd/loolwsd.xml" -chmod 640 "/etc/loolwsd/loolwsd.xml" +chown cool: "/etc/coolwsd/coolwsd.xml" +chmod 640 "/etc/coolwsd/coolwsd.xml" #================================================= # UPGRADE DEPENDENCIES @@ -94,14 +113,14 @@ ynh_install_extra_app_dependencies --repo="deb https://collaboraoffice.com/repos #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add "loolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" +yunohost service add "coolwsd" --description="Collabora online office suite" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name="loolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" +ynh_systemd_action --service_name="coolwsd" --action="restart" --log_path="systemd" --line_match="Ready to accept connections" #================================================= # RELOAD NGINX