diff --git a/ct/palmr.sh b/ct/palmr.sh index 5872f971..06014b5b 100644 --- a/ct/palmr.sh +++ b/ct/palmr.sh @@ -34,19 +34,19 @@ function update_script() { systemctl stop palmr-frontend palmr-backend msg_ok "Stopped Services" - msg_info "Updating ${APP}" cp /opt/palmr/apps/server/.env /opt/palmr.env rm -rf /opt/palmr fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr" + msg_info "Updating ${APP}" PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)" NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs cd /opt/palmr/apps/server PALMR_DIR="/opt/palmr_data" - # export PALMR_DB="${PALMR_DIR}/palmr.db" $STD pnpm install mv /opt/palmr.env ./.env $STD pnpm dlx prisma generate $STD pnpm dlx prisma migrate deploy + $STD pnpm dlx prisma db push $STD pnpm build cd /opt/palmr/apps/web @@ -55,6 +55,7 @@ function update_script() { mv ./.env.example ./.env $STD pnpm install $STD pnpm build + chown -R palmr:palmr "$PALMR_DIR" /opt/palmr msg_ok "Updated $APP" msg_info "Starting Services" diff --git a/frontend/public/json/palmr.json b/frontend/public/json/palmr.json index 2f577118..0f5fffd2 100644 --- a/frontend/public/json/palmr.json +++ b/frontend/public/json/palmr.json @@ -10,7 +10,7 @@ "privileged": false, "interface_port": 3000, "documentation": "https://palmr.kyantech.com.br/docs/3.1-beta", - "config_path": "/opt/palmr/backend.env, /opt/palmr/frontend.env", + "config_path": "/opt/palmr/apps/server/.env, /opt/palmr/apps/web/.env", "website": "https://palmr.kyantech.com.br/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/palmr.webp", "description": "Palmr is a fast and secure platform for sharing files, built with performance and privacy in mind.", @@ -19,7 +19,7 @@ "type": "default", "script": "ct/palmr.sh", "resources": { - "cpu": 2, + "cpu": 4, "ram": 4096, "hdd": 6, "os": "Debian", @@ -33,7 +33,11 @@ }, "notes": [ { - "text": "Info here", + "text": "To use a bind mount for storage, create symlinks to your mount for both `uploads` and `temp-uploads` in `/opt/palmr_data`", + "type": "info" + }, + { + "text": "To use Palmr with a reverse proxy, uncomment `SECURE_SITE` in `/opt/palmr/apps/server/.env`", "type": "info" } ] diff --git a/install/palmr-install.sh b/install/palmr-install.sh index 9d1d87c0..30759aa2 100644 --- a/install/palmr-install.sh +++ b/install/palmr-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing dependencies" -$STD apt-get install -y yq +$STD apt-get install yq -y msg_ok "Installed dependencies" fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr" @@ -32,7 +32,7 @@ sed -e 's/_ENCRYPTION=true/_ENCRYPTION=false/' \ -e "s/ENCRYPTION_KEY=.*$/ENCRYPTION_KEY=$PALMR_KEY/" \ -e "s|file:.*$|file:$PALMR_DB\"|" \ -e '/db"$/a\# Uncomment below when using reverse proxy\ - # SECURE_SITE=true' \ +# SECURE_SITE=true' \ .env.example >./.env $STD pnpm install $STD pnpm dlx prisma generate @@ -51,7 +51,9 @@ $STD pnpm install $STD pnpm build msg_ok "Configured palmr frontend" -msg_info "Creating service files" +msg_info "Creating user & services" +useradd -d "$PALMR_DIR" -M -s /usr/sbin/nologin -U palmr +chown -R palmr:palmr "$PALMR_DIR" /opt/palmr cat </etc/systemd/system/palmr-backend.service [Unit] Description=palmr Backend Service @@ -59,6 +61,8 @@ After=network.target [Service] Type=simple +User=palmr +Group=palmr WorkingDirectory=/opt/palmr_data ExecStart=/usr/bin/node /opt/palmr/apps/server/dist/server.js @@ -73,6 +77,8 @@ After=network.target palmr-backend.service [Service] Type=simple +User=palmr +Group=palmr WorkingDirectory=/opt/palmr/apps/web ExecStart=/usr/bin/pnpm start @@ -80,7 +86,7 @@ ExecStart=/usr/bin/pnpm start WantedBy=multi-user.target EOF systemctl enable -q --now palmr-backend palmr-frontend -msg_ok "Created services" +msg_ok "Created user & services" motd_ssh customize