diff --git a/install/papra-install.sh b/install/papra-install.sh index 99413e4e1..dc2b38a3a 100644 --- a/install/papra-install.sh +++ b/install/papra-install.sh @@ -36,27 +36,33 @@ $STD pnpm --filter "@papra/app-server..." run build msg_ok "Set up Papra" msg_info "Configuring Papra" -AUTH_SECRET=$(openssl rand -hex 32) +DATA_DIR="/opt/papra_data" -# Create data directories in server folder (where WorkingDirectory points) -mkdir -p /opt/papra/apps/papra-server/app-data/db -mkdir -p /opt/papra/apps/papra-server/app-data/documents -mkdir -p /opt/papra/apps/papra-server/ingestion +# Create persistent data directories (survive updates/CLEAN_INSTALL) +mkdir -p "${DATA_DIR}/db" +mkdir -p "${DATA_DIR}/documents" +mkdir -p "${DATA_DIR}/ingestion" # Link client build to server public dir ln -sf /opt/papra/apps/papra-client/dist /opt/papra/apps/papra-server/public +# Generate secret only on first install, preserve on updates +if [[ ! -f "${DATA_DIR}/.auth_secret" ]]; then + openssl rand -hex 32 > "${DATA_DIR}/.auth_secret" +fi +AUTH_SECRET=$(cat "${DATA_DIR}/.auth_secret") + cat >/opt/papra/apps/papra-server/.env <