mirror of
https://github.com/overleaf/overleaf.git
synced 2025-12-05 01:10:29 +00:00
[server-ce] run node scripts as www-data user (#27504)
GitOrigin-RevId: 2fbfe1ae33b42a5a9a696be811d122882093cd49
This commit is contained in:
@@ -5,4 +5,4 @@ set -euo pipefail
|
||||
source /etc/container_environment.sh
|
||||
source /etc/overleaf/env.sh
|
||||
cd /overleaf/services/project-history
|
||||
node scripts/flush_all.js 100000
|
||||
exec /sbin/setuser www-data node scripts/flush_all.js 100000
|
||||
|
||||
@@ -5,4 +5,4 @@ set -euo pipefail
|
||||
source /etc/container_environment.sh
|
||||
source /etc/overleaf/env.sh
|
||||
cd /overleaf/services/project-history
|
||||
node scripts/force_resync.js 1000 force
|
||||
exec /sbin/setuser www-data node scripts/force_resync.js 1000 force
|
||||
|
||||
@@ -11,22 +11,22 @@ cd /overleaf/services/web
|
||||
case "$TASK" in
|
||||
user:create-admin)
|
||||
echo "The grunt command is deprecated, run the create-user script using node instead"
|
||||
node modules/server-ce-scripts/scripts/create-user.mjs --admin "$@"
|
||||
exec /sbin/setuser www-data node modules/server-ce-scripts/scripts/create-user.mjs --admin "$@"
|
||||
;;
|
||||
|
||||
user:delete)
|
||||
echo "The grunt command is deprecated, run the delete-user script using node instead"
|
||||
node modules/server-ce-scripts/scripts/delete-user.mjs "$@"
|
||||
exec /sbin/setuser www-data node modules/server-ce-scripts/scripts/delete-user.mjs "$@"
|
||||
;;
|
||||
|
||||
check:mongo)
|
||||
echo "The grunt command is deprecated, run the check-mongodb script using node instead"
|
||||
node modules/server-ce-scripts/scripts/check-mongodb.mjs
|
||||
exec /sbin/setuser www-data node modules/server-ce-scripts/scripts/check-mongodb.mjs
|
||||
;;
|
||||
|
||||
check:redis)
|
||||
echo "The grunt command is deprecated, run the check-redis script using node instead"
|
||||
node modules/server-ce-scripts/scripts/check-redis.mjs
|
||||
exec /sbin/setuser www-data node modules/server-ce-scripts/scripts/check-redis.mjs
|
||||
;;
|
||||
|
||||
*)
|
||||
|
||||
@@ -9,6 +9,6 @@ date
|
||||
|
||||
source /etc/container_environment.sh
|
||||
source /etc/overleaf/env.sh
|
||||
cd /overleaf/services/project-history && node scripts/flush_all.js
|
||||
cd /overleaf/services/project-history && /sbin/setuser www-data node scripts/flush_all.js
|
||||
|
||||
echo "Done flushing all project-history changes"
|
||||
|
||||
@@ -12,7 +12,7 @@ echo "closed" > "${SITE_MAINTENANCE_FILE}"
|
||||
sleep 5
|
||||
|
||||
# giving a grace period of 5 seconds for users before disconnecting them and start shutting down
|
||||
cd /overleaf/services/web && node scripts/disconnect_all_users.mjs --delay-in-seconds=5 >> /var/log/overleaf/web.log 2>&1
|
||||
cd /overleaf/services/web && /sbin/setuser www-data node scripts/disconnect_all_users.mjs --delay-in-seconds=5 >> /var/log/overleaf/web.log 2>&1
|
||||
|
||||
EXIT_CODE="$?"
|
||||
if [ $EXIT_CODE -ne 0 ]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
. /etc/container_environment.sh
|
||||
. /etc/overleaf/env.sh
|
||||
|
||||
cd /overleaf/services/document-updater && node scripts/flush_all.js >> /var/log/overleaf/document-updater.log 2>&1
|
||||
cd /overleaf/services/document-updater && /sbin/setuser www-data node scripts/flush_all.js >> /var/log/overleaf/document-updater.log 2>&1
|
||||
|
||||
EXIT_CODE="$?"
|
||||
if [ $EXIT_CODE -ne 0 ]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
. /etc/container_environment.sh
|
||||
. /etc/overleaf/env.sh
|
||||
|
||||
cd /overleaf/services/project-history && node scripts/flush_all.js >> /var/log/overleaf/project-history.log 2>&1
|
||||
cd /overleaf/services/project-history && /sbin/setuser www-data node scripts/flush_all.js >> /var/log/overleaf/project-history.log 2>&1
|
||||
|
||||
EXIT_CODE="$?"
|
||||
if [ $EXIT_CODE -ne 0 ]
|
||||
|
||||
@@ -3,6 +3,6 @@ set -e
|
||||
|
||||
echo "Checking can connect to mongo and redis"
|
||||
cd /overleaf/services/web
|
||||
node modules/server-ce-scripts/scripts/check-mongodb.mjs
|
||||
node modules/server-ce-scripts/scripts/check-redis.mjs
|
||||
/sbin/setuser www-data node modules/server-ce-scripts/scripts/check-mongodb.mjs
|
||||
/sbin/setuser www-data node modules/server-ce-scripts/scripts/check-redis.mjs
|
||||
echo "All checks passed"
|
||||
|
||||
@@ -9,5 +9,5 @@ fi
|
||||
|
||||
echo "Running migrations for $environment"
|
||||
cd /overleaf/services/web
|
||||
npm run migrations -- migrate -t "$environment"
|
||||
/sbin/setuser www-data npm run migrations -- migrate -t "$environment"
|
||||
echo "Finished migrations"
|
||||
|
||||
@@ -3,4 +3,4 @@ set -e
|
||||
|
||||
echo "Checking texlive images"
|
||||
cd /overleaf/services/web
|
||||
node modules/server-ce-scripts/scripts/check-texlive-images.mjs
|
||||
/sbin/setuser www-data node modules/server-ce-scripts/scripts/check-texlive-images.mjs
|
||||
|
||||
@@ -10,7 +10,7 @@ RESYNCS_NEEDED_FILE=/var/lib/overleaf/data/history/doc-version-recovery-resyncs-
|
||||
|
||||
echo "Checking for doc version recovery. This can take a while if needed. Logs are in $LOG_FILE"
|
||||
cd /overleaf/services/history-v1
|
||||
LOG_LEVEL=info DOC_VERSION_RECOVERY_RESYNCS_NEEDED_FILE="$RESYNCS_NEEDED_FILE" node storage/scripts/recover_doc_versions.js 2>&1 | tee -a "$LOG_FILE"
|
||||
LOG_LEVEL=info DOC_VERSION_RECOVERY_RESYNCS_NEEDED_FILE="$RESYNCS_NEEDED_FILE" /sbin/setuser www-data node storage/scripts/recover_doc_versions.js 2>&1 | tee -a "$LOG_FILE"
|
||||
|
||||
function resyncAllProjectsInBackground() {
|
||||
waitForService docstore 3016
|
||||
|
||||
@@ -127,7 +127,7 @@ app.post(
|
||||
'sharelatex',
|
||||
'bash',
|
||||
'-c',
|
||||
`source /etc/container_environment.sh && ${env} && node ${JSON.stringify(script)} ${args.map(a => JSON.stringify(a)).join(' ')}`,
|
||||
`source /etc/container_environment.sh && ${env} && /sbin/setuser www-data node ${JSON.stringify(script)} ${args.map(a => JSON.stringify(a)).join(' ')}`,
|
||||
],
|
||||
(error, stdout, stderr) => {
|
||||
res.json({
|
||||
@@ -162,7 +162,7 @@ app.post(
|
||||
'sharelatex',
|
||||
'bash',
|
||||
'-c',
|
||||
`source /etc/container_environment.sh && grunt ${JSON.stringify(task)} ${args.map(a => JSON.stringify(a)).join(' ')}`,
|
||||
`source /etc/container_environment.sh && /sbin/setuser www-data grunt ${JSON.stringify(task)} ${args.map(a => JSON.stringify(a)).join(' ')}`,
|
||||
],
|
||||
(error, stdout, stderr) => {
|
||||
res.json({
|
||||
|
||||
Reference in New Issue
Block a user