Add deployment build script to restore capture directory permissions
This commit is contained in:
@@ -0,0 +1 @@
|
||||
/build.sh text eol=lf
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cd -- "$(dirname -- "${BASH_SOURCE[0]}")"
|
||||
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo 'Run this deployment build as root: sudo ./build.sh' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check the service account before replacing dist.
|
||||
sunrise_group=$(id -gn sunrise)
|
||||
npm run build
|
||||
install -d -o sunrise -g "$sunrise_group" -m 755 dist/threads-captures
|
||||
|
||||
echo 'Build complete; dist/threads-captures is writable by sunrise.'
|
||||
@@ -41,7 +41,7 @@ root에서 실행합니다. 캡처 저장 위치는 기존 dist/threads-captures
|
||||
cd /opt/sunrise
|
||||
git pull --ff-only
|
||||
npm ci
|
||||
npm run build
|
||||
./build.sh
|
||||
install -d -o sunrise -g "$(id -gn sunrise)" -m 755 dist/threads-captures
|
||||
install -d -o sunrise -g "$(id -gn sunrise)" -m 700 data/threads
|
||||
chown -R sunrise:"$(id -gn sunrise)" data/threads dist/threads-captures
|
||||
@@ -88,7 +88,7 @@ sudo -iu sunrise sh -lc 'cd /opt/sunrise && npm run threads:post-now'
|
||||
|
||||
별도 브라우저 경로를 사용하면 테스트 터미널에도 동일한 환경변수를 적용하세요. post-now는 실행할 때마다 새 테스트 게시물을 만듭니다. preview 이미지는 확인용으로 보존합니다.
|
||||
|
||||
이후 배포는 git pull, 필요 시 npm ci, npm run build, 웹 서버 재시작, `systemctl restart sunrise-threads.service` 순서입니다. 설정/문구는 다시 복사하지 않습니다. root로 빌드한 뒤에는 아래 명령으로 캡처 폴더를 다시 만들고 권한을 맞추세요.
|
||||
이후 배포는 git pull, 필요 시 npm ci, ./build.sh, 웹 서버 재시작, `systemctl restart sunrise-threads.service` 순서입니다. 설정/문구는 다시 복사하지 않습니다. root에서 ./build.sh를 실행하면 빌드 후 캡처 폴더 생성과 권한 설정까지 처리합니다. npm run build를 직접 실행했다면 아래 명령이 필요합니다.
|
||||
|
||||
```bash
|
||||
install -d -o sunrise -g "$(id -gn sunrise)" -m 755 /opt/sunrise/dist/threads-captures
|
||||
|
||||
Reference in New Issue
Block a user