From d28bc3900ac4f10b447b74ea4bec5f87b5c2d747 Mon Sep 17 00:00:00 2001 From: orhtej2 <2871798+orhtej2@users.noreply.github.com> Date: Wed, 7 Feb 2024 00:21:17 +0100 Subject: [PATCH] Added apt dependencies. --- conf/backend.service | 29 +--------------------- conf/environ | 27 ++++++++++++++++++++ conf/nginx.conf | 6 ++--- manifest.toml | 59 +++++++++++++++++++++++++++++++++++++++++++- scripts/install | 15 ++++++----- 5 files changed, 98 insertions(+), 38 deletions(-) create mode 100644 conf/environ diff --git a/conf/backend.service b/conf/backend.service index ec4d5d4..91a8e3e 100644 --- a/conf/backend.service +++ b/conf/backend.service @@ -8,37 +8,10 @@ Type=simple User=__APP__ Group=__APP__ -Environment=PENPOT_FLAGS="enable-login-with-ldap enable-smtp" -Environment=PENPOT_LDAP_HOST=localhost -Environment=PENPOT_LDAP_PORT=389 -Environment=PENPOT_LDAP_SSL=false -Environment=PENPOT_LDAP_STARTTLS=false -Environment=PENPOT_LDAP_BASE_DN=ou=users,dc=yunohost,dc=org -Environment=PENPOT_LDAP_BIND_DN=cn=admin,dc=planetexpress,dc=com -Environment=PENPOT_LDAP_USER_QUERY=(|(uid=:username)(mail=:username)) -Environment=PENPOT_LDAP_ATTRS_USERNAME=uid -Environment=PENPOT_LDAP_ATTRS_EMAIL=mail -Environment=PENPOT_LDAP_ATTRS_FULLNAME=cn -Environment=PENPOT_DATABASE_USERNAME=__APP__ -Environment=PENPOT_DATABASE_PASSWORD=__DB_PWD__ -Environment=PENPOT_DATABASE_URI=postgresql://127.0.0.1/__DB_NAME__ -Environment=PENPOT_SMTP_DEFAULT_REPLY_TO=Penpot <__APP__@__DOMAIN__> -Environment=PENPOT_SMTP_DEFAULT_FROM=Penpot <__APP__@__DOMAIN__> -Environment=PENPOT_SMTP_HOST=localhost -Environment=PENPOT_SMTP_PORT=587 -Environment=PENPOT_SMTP_USERNAME=__MAIL_USER__ -Environment=PENPOT_SMTP_PASSWORD=__MAIL_PWD__ -Environment=PENPOT_SMTP_TLS=true -Environment=PENPOT_ASSETS_STORAGE_BACKEND=assets-fs -Environment=PENPOT_STORAGE_ASSETS_FS_DIRECTORY=__DATA_DIR__/assets -Environment=PENPOT_SECRET_KEY=__SECRET_KEY__ -Environment=PENPOT_PUBLIC_URI=https://__DOMAIN____PATH__ -Environment=PENPOT_REDIS_URI=redis://127.0.0.1:6379:__REDIS_DB__ -Environment=PENPOT_TELEMETRY_ENABLED=false Environment=JAVA_HOME="__INSTALL_DIR__/jdk" WorkingDirectory=__INSTALL_DIR__/backend -ExecStart=__INSTALL_DIR__/jdk/bin/java -jar __INSTALL_DIR__/backend/penpot.jar -m app.main -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dlog4j2.configurationFile=log4j2.xml -XX:-OmitStackTraceInFastThrow --enable-preview +ExecStart=__INSTALL_DIR__/backend/run.sh StandardOutput=append:/var/log/__APP__/__APP__-backend.log StandardError=inherit Restart=on-failure diff --git a/conf/environ b/conf/environ new file mode 100644 index 0000000..6e7458b --- /dev/null +++ b/conf/environ @@ -0,0 +1,27 @@ +export PENPOT_FLAGS="enable-login-with-ldap enable-smtp" +export PENPOT_LDAP_HOST=localhost +export PENPOT_LDAP_PORT=389 +export PENPOT_LDAP_SSL=false +export PENPOT_LDAP_STARTTLS=false +export PENPOT_LDAP_BASE_DN=ou=users,dc=yunohost,dc=org +export PENPOT_LDAP_BIND_DN=cn=admin,dc=planetexpress,dc=com +export PENPOT_LDAP_USER_QUERY=(|(uid=:username)(mail=:username)) +export PENPOT_LDAP_ATTRS_USERNAME=uid +export PENPOT_LDAP_ATTRS_EMAIL=mail +export PENPOT_LDAP_ATTRS_FULLNAME=cn +export PENPOT_DATABASE_USERNAME=__APP__ +export PENPOT_DATABASE_PASSWORD=__DB_PWD__ +export PENPOT_DATABASE_URI=postgresql://127.0.0.1/__DB_NAME__ +export PENPOT_SMTP_DEFAULT_REPLY_TO=Penpot <__APP__@__DOMAIN__> +export PENPOT_SMTP_DEFAULT_FROM=Penpot <__APP__@__DOMAIN__> +export PENPOT_SMTP_HOST=localhost +export PENPOT_SMTP_PORT=587 +export PENPOT_SMTP_USERNAME=__MAIL_USER__ +export PENPOT_SMTP_PASSWORD=__MAIL_PWD__ +export PENPOT_SMTP_TLS=true +export PENPOT_ASSETS_STORAGE_BACKEND=assets-fs +export PENPOT_STORAGE_ASSETS_FS_DIRECTORY=__DATA_DIR__/assets +export PENPOT_SECRET_KEY=__SECRET_KEY__ +export PENPOT_PUBLIC_URI=https://__DOMAIN____PATH__ +export PENPOT_REDIS_URI=redis://127.0.0.1:6379:__REDIS_DB__ +export PENPOT_TELEMETRY_ENABLED=false \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index bd65b48..3e210d8 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,6 +1,6 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; location __PATH__/assets { - proxy_pass http://127.0.0.1:__BACKEND_PORT__/assets; + proxy_pass http://127.0.0.1:__PORT__/assets; recursive_error_pages on; proxy_intercept_errors on; error_page 301 302 307 = @handle_redirect; @@ -33,11 +33,11 @@ location __PATH__/internal/assets { } location __PATH__/api/export { - proxy_pass http://127.0.0.1:__EXPORTER_PORT__; + proxy_pass http://127.0.0.1:__PORT_EXPORTER__; } location __PATH__/api { - proxy_pass http://127.0.0.1:__BACKEND_PORT__/api; + proxy_pass http://127.0.0.1:__PORT__/api; } location __PATH__/ws/notifications { diff --git a/manifest.toml b/manifest.toml index 32bc9c0..5ff6d64 100644 --- a/manifest.toml +++ b/manifest.toml @@ -73,9 +73,66 @@ ram.runtime = "50M" main.url = "/" [resources.ports] + [resources.ports.exporter] [resources.apt] - packages = "postgresql redis" + packages = [ + "postgresql", + "redis", + "tzdata", + "locales", + "ca-certificates", + "fontconfig", + "xz-utils", + "imagemagick", + "ghostscript", + "netpbm", + "poppler-utils", + "potrace", + "gconf-service", + "libasound2", + "libatk1.0-0", + "libatk-bridge2.0-0", + "libatomic1", + "libcairo2", + "libcups2", + "libdbus-1-3", + "libexpat1", + "libfontconfig1", + "libgcc1", + "libgconf-2-4", + "libgdk-pixbuf2.0-0", + "libglib2.0-0", + "libgtk-3-0", + "libnspr4", + "libpango-1.0-0", + "libpangocairo-1.0-0", + "libx11-6", + "libx11-xcb1", + "libxcb1", + "libxcb-dri3-0", + "libxcomposite1", + "libxcursor1", + "libxdamage1", + "libxext6", + "libxfixes3", + "libxi6", + "libxrandr2", + "libxrender1", + "libxshmfence1", + "libxss1", + "libxtst6", + "fonts-liberation", + "libnss3", + "libgbm1", + "webp", + "rlwrap", + "woff-tools", + "woff2", + "python3", + "python3-tabulate", + "fontforge" + ] 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" diff --git a/scripts/install b/scripts/install index fbd9cba..b9e0282 100644 --- a/scripts/install +++ b/scripts/install @@ -87,6 +87,8 @@ pushd $install_dir/build/backend ynh_exec_warn_less ynh_exec_as $app env PATH=$PATH JAVA_HOME=$JAVA_HOME clojure -T:build jar; mv target/penpot.jar target/dist/penpot.jar cp resources/log4j2.xml target/dist/log4j2.xml + cp scripts/run.template.sh target/dist/run.sh + chmod +x target/dist/run.sh; # Prefetch templates mkdir builtin-templates; @@ -102,11 +104,11 @@ chmod -R 700 $install_dir/backend ynh_script_progression --message="Building exporter..." --weight=5 pushd $install_dir/build/exporter - ynh_exec_warn_less ynh_exec_as $app env PATH=$PATH JAVA_HOME=$JAVA_HOME NODE_ENV=production clojure -M:dev:shadow-cljs release main;; - cp yarn.lock target/; - cp package.json target/; + ynh_exec_warn_less ynh_exec_as $app env PATH=$PATH JAVA_HOME=$JAVA_HOME NODE_ENV=production clojure -M:dev:shadow-cljs release main + cp yarn.lock target/ + cp package.json target/ - sed -i -re "s/\%version\%/$(ynh_app_upstream_version)/g" ./target/app.js; + sed -i -re "s/\%version\%/$(ynh_app_upstream_version)/g" ./target/app.js popd mkdir -p $install_dir/exporter @@ -151,8 +153,9 @@ ynh_script_progression --message="Adding app's configuration file..." ynh_add_config --template="config.js" --destination="$install_dir/frontend/js/config.js" -#chmod 400 "$install_dir/frontend/js/config.js" -#chown $app:$app "$install_dir/" +ynh_add_config --template="environ" --destination="$install_dir/backend/environ" +chmod 400 "$install_dir/backend/environ" +chown $app:$app "$install_dir/backend/environ" #================================================= # START SYSTEMD SERVICE