mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Fix: Run migration lock as the correct user (#9604)
This commit is contained in:
		
							
								
								
									
										7
									
								
								docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/migrate.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								docker/rootfs/etc/s6-overlay/s6-rc.d/init-migrations/migrate.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | #!/command/with-contenv /usr/bin/bash | ||||||
|  | # shellcheck shell=bash | ||||||
|  | declare -r data_dir="${PAPERLESS_DATA_DIR:-/usr/src/paperless/data}" | ||||||
|  |  | ||||||
|  | # shellcheck disable=SC2164 | ||||||
|  | cd "${PAPERLESS_SRC_DIR}" | ||||||
|  | exec s6-setlock -n "${data_dir}/migration_lock" python3 manage.py migrate --skip-checks --no-input | ||||||
| @@ -1,20 +1,12 @@ | |||||||
| #!/command/with-contenv /usr/bin/bash | #!/command/with-contenv /usr/bin/bash | ||||||
| # shellcheck shell=bash | # shellcheck shell=bash | ||||||
| declare -r log_prefix="[init-migrations]" | declare -r log_prefix="[init-migrations]" | ||||||
| declare -r data_dir="${PAPERLESS_DATA_DIR:-/usr/src/paperless/data}" |  | ||||||
|  |  | ||||||
| ( |  | ||||||
| 	# flock is in place to prevent multiple containers from doing migrations |  | ||||||
| 	# simultaneously. This also ensures that the db is ready when the command |  | ||||||
| 	# of the current container starts. |  | ||||||
| 	flock 200 |  | ||||||
| echo "${log_prefix} Apply database migrations..." | echo "${log_prefix} Apply database migrations..." | ||||||
| 	cd "${PAPERLESS_SRC_DIR}" |  | ||||||
|  |  | ||||||
|  | # The whole migrate, with flock, needs to run as the right user | ||||||
| if [[ -n "${USER_IS_NON_ROOT}" ]]; then | if [[ -n "${USER_IS_NON_ROOT}" ]]; then | ||||||
| 		exec python3 manage.py migrate --skip-checks --no-input | 	exec /etc/s6-overlay/s6-rc.d/init-migrations/migrate.sh | ||||||
| else | else | ||||||
| 		exec s6-setuidgid paperless python3 manage.py migrate --skip-checks --no-input | 	exec s6-setuidgid paperless /etc/s6-overlay/s6-rc.d/init-migrations/migrate.sh | ||||||
| fi | fi | ||||||
|  |  | ||||||
| ) 200>"${data_dir}/migration_lock" |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Trenton H
					Trenton H