1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/tracim_ynh.git synced 2024-10-01 13:34:52 +02:00
This commit is contained in:
Salamandar 2024-07-22 12:34:27 +00:00 committed by GitHub
commit 5604b7ec68
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 184 additions and 122 deletions

View file

@ -5,4 +5,5 @@
- [Irakurri README euskaraz](README_eu.md)
- [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md)
- [Baca README dalam bahasa bahasa Indonesia](README_id.md)
- [阅读中文(简体)的 README](README_zh_Hans.md)

50
README_id.md Normal file
View file

@ -0,0 +1,50 @@
<!--
N.B.: README ini dibuat secara otomatis oleh <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
Ini TIDAK boleh diedit dengan tangan.
-->
# Tracim untuk YunoHost
[![Tingkat integrasi](https://dash.yunohost.org/integration/tracim.svg)](https://ci-apps.yunohost.org/ci/apps/tracim/) ![Status kerja](https://ci-apps.yunohost.org/ci/badges/tracim.status.svg) ![Status pemeliharaan](https://ci-apps.yunohost.org/ci/badges/tracim.maintain.svg)
[![Pasang Tracim dengan YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=tracim)
*[Baca README ini dengan bahasa yang lain.](./ALL_README.md)*
> *Paket ini memperbolehkan Anda untuk memasang Tracim secara cepat dan mudah pada server YunoHost.*
> *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.*
## Ringkasan
Tracim is a collaborative platform software intended for (not only technical) team collaboration. It is simple to use, offers a user-friendly interface and runs on every computer. It is very valuable for R&D teams, assocations, remote collaboration.
**Versi terkirim:** 04.09.01~ynh1
**Demo:** <https://www.algoo.fr/fr/tracim/demo>
## Tangkapan Layar
![Tangkapan Layar pada Tracim](./doc/screenshots/feature_app_document.png)
## Dokumentasi dan sumber daya
- Website aplikasi resmi: <https://www.tracim.fr>
- Dokumentasi admin resmi: <https://public-community.tracim.fr/ui/workspaces/143/contents>
- Repositori kode aplikasi hulu: <https://github.com/tracim/tracim>
- Gudang YunoHost: <https://apps.yunohost.org/app/tracim>
- Laporkan bug: <https://github.com/YunoHost-Apps/tracim_ynh/issues>
## Info developer
Silakan kirim pull request ke [`testing` branch](https://github.com/YunoHost-Apps/tracim_ynh/tree/testing).
Untuk mencoba branch `testing`, silakan dilanjutkan seperti:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/tracim_ynh/tree/testing --debug
atau
sudo yunohost app upgrade tracim -u https://github.com/YunoHost-Apps/tracim_ynh/tree/testing --debug
```
**Info lebih lanjut mengenai pemaketan aplikasi:** <https://yunohost.org/packaging_apps>

View file

@ -1,44 +1,6 @@
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__/webdav {
uwsgi_pass unix:///tmp/uwsgi-__APP__-webdav.socket;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
}
location __PATH__/dav {
uwsgi_pass unix:///tmp/uwsgi-__APP__-caldav.socket;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
}
location __PATH__/assets/ {
# Path to source
alias __INSTALL_DIR__/frontend/dist/assets/ ;
try_files $uri $uri/;
}
location __PATH__/app/ {
# Path to source
alias __INSTALL_DIR__/frontend/dist/app/ ;
try_files $uri $uri/;
}
location __PATH__/favicon.ico {
# Path to source
alias __INSTALL_DIR__/frontend/dist/assets/branding/images/favicon/favicon.ico ;
try_files $uri $uri/;
}
location __PATH__/ {
uwsgi_pass unix:///tmp/uwsgi-__APP__-web.socket;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
@ -46,3 +8,33 @@ location __PATH__/ {
# Include SSOWAT user panel.
include conf.d/yunohost_panel.conf.inc;
}
location __PATH__/webdav {
uwsgi_pass unix:///tmp/uwsgi-__APP__-webdav.socket;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
}
location __PATH__/dav {
uwsgi_pass unix:///tmp/uwsgi-__APP__-caldav.socket;
include uwsgi_params;
uwsgi_param SCRIPT_NAME '';
}
location __PATH__/assets/ {
# Path to source
alias __INSTALL_DIR__/www/assets/;
try_files $uri $uri/;
}
location __PATH__/app/ {
# Path to source
alias __INSTALL_DIR__/www/app/;
try_files $uri $uri/;
}
location __PATH__/favicon.ico {
# Path to source
alias __INSTALL_DIR__/www/assets/branding/images/favicon/favicon.ico;
try_files $uri $uri/;
}

View file

@ -1,3 +1,5 @@
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json
packaging_format = 2
id = "tracim"
@ -70,11 +72,35 @@ ram.runtime = "50M"
main.url = "/"
[resources.apt]
packages = "ffmpeg, xvfb, inkscape, libreoffice, postgresql, ghostscript, git, imagemagick, iproute2, libfile-mimeinfo-perl, libimage-exiftool-perl, webp, libmagic1, locales, poppler-utils, python3, python3-pip, uwsgi, uwsgi-plugin-python3, supervisor, build-essential, libjpeg-dev, libmagickwand-dev, libpq-dev, python3-dev, python3-venv, redis-server"
extras.yarn.repo = "deb https://dl.yarnpkg.com/debian/ stable main"
extras.yarn.key = "https://dl.yarnpkg.com/debian/pubkey.gpg"
extras.yarn.packages = "yarn"
packages = [
"ffmpeg",
"xvfb",
"inkscape",
"libreoffice",
"postgresql",
"ghostscript",
"git",
"imagemagick",
"iproute2",
"libfile-mimeinfo-perl",
"libimage-exiftool-perl",
"webp",
"libmagic1",
"locales",
"poppler-utils",
"python3",
"python3-pip",
"uwsgi",
"uwsgi-plugin-python3",
"supervisor",
"build-essential",
"libjpeg-dev",
"libmagickwand-dev",
"libpq-dev",
"python3-dev",
"python3-venv",
"redis-server",
]
[resources.database]
type = "postgresql"

View file

@ -10,6 +10,10 @@ nodejs_version=16
# PERSONAL HELPERS
#=================================================
_corepack_enable() {
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack enable --install-directory="$install_dir/bin"
}
#=================================================
# EXPERIMENTAL HELPERS
#=================================================

View file

@ -1,7 +1,5 @@
#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
@ -10,26 +8,24 @@ source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# RETRIEVE ARGUMENTS FROM THE MANIFEST
# INITIALIZE AND STORE SETTINGS
#=================================================
api_key=$(ynh_string_random --length=8)
ynh_app_setting_set --app="$app" --key="api_key" --value="$api_key"
session_secret=$(ynh_string_random --length=8)
ynh_app_setting_set --app="$app" --key="session_secret" --value="$session_secret"
website_title="YunoHost Tracim"
admin_mail=$(ynh_user_get_info --username=$admin --key=mail)
ynh_app_setting_set --app="$app" --key="website_title" --value="$website_title"
#=================================================
# STORE SETTINGS FROM MANIFEST
#=================================================
ynh_app_setting_set --app=$app --key=api_key --value=$api_key
ynh_app_setting_set --app=$app --key=session_secret --value=$session_secret
ynh_app_setting_set --app=$app --key=website_title --value=$website_title
admin_mail=$(ynh_user_get_info --username="$admin" --key=mail)
#=================================================
# INSTALL DEPENDENCIES
#=================================================
ynh_script_progression --message="Installing dependencies..."
ynh_script_progression --message="Installing NodeJS..."
ynh_install_nodejs --nodejs_version=$nodejs_version
@ -39,18 +35,10 @@ ynh_install_nodejs --nodejs_version=$nodejs_version
ynh_script_progression --message="Setting up source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir"
ynh_setup_source --dest_dir="$install_dir/sources"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring NGINX web server..."
# Create a dedicated NGINX config
ynh_add_nginx_config
chown -R "$app:www-data" "$install_dir"
#=================================================
# ADD A CONFIGURATION
@ -58,90 +46,89 @@ ynh_add_nginx_config
ynh_script_progression --message="Adding a configuration file..."
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app=$app --key=redis_db --value=$redis_db
ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db"
ynh_add_config --template="../conf/development.ini.sample" --destination="$install_dir/backend/development.ini"
chmod 400 "$install_dir/backend/development.ini"
chown $app:$app "$install_dir/backend/development.ini"
ynh_add_config --template="development.ini.sample" --destination="$install_dir/sources/backend/development.ini"
chmod 400 "$install_dir/sources/backend/development.ini"
chown "$app:$app" "$install_dir/sources/backend/development.ini"
ynh_add_config --template="../conf/configEnv.json.sample" --destination="$install_dir/frontend/configEnv.json"
chmod 400 "$install_dir/frontend/configEnv.json"
chown $app:$app "$install_dir/frontend/configEnv.json"
ynh_add_config --template="configEnv.json.sample" --destination="$install_dir/sources/frontend/configEnv.json"
chmod 400 "$install_dir/sources/frontend/configEnv.json"
chown "$app:$app" "$install_dir/sources/frontend/configEnv.json"
#=================================================
# BUILD APP
#=================================================
ynh_script_progression --message="Building app..."
cp -r $install_dir/frontend/dist/assets/branding.sample $install_dir/frontend/dist/assets/branding
cp -r "$install_dir/sources/frontend/dist/assets/branding.sample" "$install_dir/sources/frontend/dist/assets/branding"
pushd "$install_dir/backend"
ynh_use_nodejs
python3 -m venv env
source env/bin/activate
ynh_exec_warn_less pip install -r requirements-build.txt
ynh_exec_warn_less pip install -r requirements.txt
ynh_exec_warn_less pip install -r requirements-full-preview-generator.txt
ynh_exec_warn_less pip install -r requirements-db-postgres.txt
ynh_exec_warn_less pip install -e "."
mkdir sessions_data sessions_lock previews
ynh_exec_warn_less tracimcli db init
ynh_exec_warn_less tracimcli user create -e $admin_mail -u $admin --lang $language -p $password --profile administrators
ynh_exec_warn_less tracimcli user delete -l admin@admin.admin
deactivate
ynh_exec_warn_less $ynh_npm install "i18next-conv@<8" -g
ynh_exec_warn_less ./update_i18n_json_file.sh || exit 1
python3 -m venv "$install_dir/venv"
pushd "$install_dir/sources/backend"
ynh_exec_warn_less "$install_dir/venv/bin/pip" install -r requirements-build.txt
ynh_exec_warn_less "$install_dir/venv/bin/pip" install -r requirements.txt
ynh_exec_warn_less "$install_dir/venv/bin/pip" install -r requirements-full-preview-generator.txt
ynh_exec_warn_less "$install_dir/venv/bin/pip" install -r requirements-db-postgres.txt
ynh_exec_warn_less "$install_dir/venv/bin/pip" install -e "."
popd
ynh_use_nodejs
_corepack_enable
export PATH="$install_dir/bin:$PATH"
pushd "$install_dir/sources"
ynh_exec_warn_less "$ynh_npm" install "i18next-conv@<8" -g
ynh_exec_warn_less ./update_i18n_json_file.sh || exit 1
echo 'nodeLinker: node-modules' >> .yarnrc.yml
ynh_exec_warn_less yarn install
ynh_exec_warn_less ./build_full_frontend.sh
ynh_secure_remove --file="$install_dir/www"
popd
cp -R "$install_dir/sources/frontend/dist" "$install_dir/www"
pushd "$install_dir"
echo 'nodeLinker: node-modules' >> .yarnrc.yml
ynh_exec_warn_less yarn install
ynh_exec_warn_less ./build_full_frontend.sh
mkdir sessions_data sessions_lock previews
ynh_exec_warn_less tracimcli db init
ynh_exec_warn_less tracimcli user create -e "$admin_mail" -u "$admin" --lang "$language" -p "$password" --profile administrators
ynh_exec_warn_less tracimcli user delete -l admin@admin.admin
popd
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
chown -R "$app:www-data" "$install_dir"
#=================================================
# SETUP SYSTEMD
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Configuring a systemd service..."
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
# Create a dedicated NGINX config
ynh_add_nginx_config
# Create a dedicated systemd config
ynh_add_supervisor_config --service="$app" --template="supervisord.conf"
ynh_add_config --template="../conf/web.ini" --destination="/etc/uwsgi/apps-available/$app-web.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-web.ini"
chown $app:$app "/etc/uwsgi/apps-available/$app-web.ini"
ln -sf /etc/uwsgi/apps-available/$app-web.ini /etc/uwsgi/apps-enabled/$app-web.ini
ynh_add_config --template="../conf/webdav.ini" --destination="/etc/uwsgi/apps-available/$app-webdav.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-webdav.ini"
chown $app:$app "/etc/uwsgi/apps-available/$app-webdav.ini"
ln -sf /etc/uwsgi/apps-available/$app-webdav.ini /etc/uwsgi/apps-enabled/$app-webdav.ini
ynh_add_config --template="../conf/caldav.ini" --destination="/etc/uwsgi/apps-available/$app-caldav.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-caldav.ini"
chown $app:$app "/etc/uwsgi/apps-available/$app-caldav.ini"
ln -sf /etc/uwsgi/apps-available/$app-caldav.ini /etc/uwsgi/apps-enabled/$app-caldav.ini
#=================================================
# GENERIC FINALIZATION
#=================================================
# INTEGRATE SERVICE IN YUNOHOST
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..."
yunohost service add uwsgi --log="/var/log/uwsgi/app/$app-web.log"
yunohost service add supervisor --log="/var/log/supervisor/supervisord.log"
ynh_add_config --template="web.ini" --destination="/etc/uwsgi/apps-available/$app-web.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-web.ini"
chown "$app:$app" "/etc/uwsgi/apps-available/$app-web.ini"
ln -sf "/etc/uwsgi/apps-available/$app-web.ini" "/etc/uwsgi/apps-enabled/$app-web.ini"
ynh_add_config --template="webdav.ini" --destination="/etc/uwsgi/apps-available/$app-webdav.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-webdav.ini"
chown "$app:$app" "/etc/uwsgi/apps-available/$app-webdav.ini"
ln -sf "/etc/uwsgi/apps-available/$app-webdav.ini" "/etc/uwsgi/apps-enabled/$app-webdav.ini"
ynh_add_config --template="caldav.ini" --destination="/etc/uwsgi/apps-available/$app-caldav.ini"
chmod 400 "/etc/uwsgi/apps-available/$app-caldav.ini"
chown "$app:$app" "/etc/uwsgi/apps-available/$app-caldav.ini"
ln -sf "/etc/uwsgi/apps-available/$app-caldav.ini" "/etc/uwsgi/apps-enabled/$app-caldav.ini"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting a systemd service..."
ynh_script_progression --message="Starting $app's systemd service..."
# Start a systemd service
ynh_systemd_action --service_name="uwsgi" --action="restart" --log_path="/var/log/uwsgi/app/$app-web.log" --line_match="spawned uWSGI"
#=================================================

View file

@ -60,7 +60,7 @@ cp -r $install_dir/frontend/dist/assets/branding.sample $install_dir/frontend/di
pushd "$install_dir/backend"
ynh_use_nodejs
ynh_secure_remove --file="$install_dir/backend/env"
python3 -m venv env
python3 -m venv venv
source env/bin/activate
ynh_exec_warn_less pip install -r requirements-build.txt
ynh_exec_warn_less ynh_exec_warn_less pip install -r requirements.txt

View file

@ -1,3 +1,5 @@
#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/tests.v1.schema.json
test_format = 1.0
[default]