- Dockerfile: triliumnext/notes:latest에 번역+패치된 main.cjs를 구워 넣어 별도 bind-mount 없이 한국어 내장 이미지를 만듦 - install.sh: curl | bash 한 줄로 clone + build + up까지 처리 - 기존 bind-mount 방식은 docker-compose.bind-mount.yml.example로 유지 - 실제 빌드/실행/언어전환/컨테이너완전재생성까지 전부 테스트 완료
47 lines
1.7 KiB
Bash
Executable File
47 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# TriliumNext Notes 한국어 패치 — 원클릭 설치 스크립트
|
|
#
|
|
# 사용법:
|
|
# curl -fsSL https://gitea.itosm.co.kr/syskiller/triliumnext-korean-patch/raw/branch/main/install.sh | bash
|
|
# 또는 저장소를 직접 clone 한 뒤:
|
|
# ./install.sh [설치 폴더 이름, 기본값: trilium-korean]
|
|
set -euo pipefail
|
|
|
|
REPO_URL="https://gitea.itosm.co.kr/syskiller/triliumnext-korean-patch.git"
|
|
INSTALL_DIR="${1:-trilium-korean}"
|
|
PORT="${TRILIUM_KO_PORT:-8082}"
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "Docker가 설치되어 있지 않습니다. https://docs.docker.com/get-docker/ 를 먼저 설치하세요." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! docker compose version >/dev/null 2>&1; then
|
|
echo "Docker Compose 플러그인이 필요합니다 (docker compose, 하이픈 없는 버전)." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ -d "$INSTALL_DIR/.git" ]; then
|
|
echo "이미 설치되어 있습니다. 최신 패치로 업데이트합니다: $INSTALL_DIR"
|
|
git -C "$INSTALL_DIR" pull --ff-only
|
|
else
|
|
echo "저장소를 내려받습니다: $INSTALL_DIR"
|
|
git clone --depth 1 "$REPO_URL" "$INSTALL_DIR"
|
|
fi
|
|
|
|
cd "$INSTALL_DIR"
|
|
|
|
if [ "$PORT" != "8082" ]; then
|
|
sed -i.bak "s/'8082:8080'/'${PORT}:8080'/" docker-compose.yml
|
|
fi
|
|
|
|
echo "이미지를 빌드하고 컨테이너를 시작합니다 (최초 실행 시 몇 분 걸릴 수 있습니다)..."
|
|
docker compose up -d --build
|
|
|
|
echo
|
|
echo "설치 완료! http://localhost:${PORT} 로 접속하세요."
|
|
echo "처음 접속하면 초기 설정(마스터 비밀번호) 화면이 뜹니다."
|
|
echo "설정이 끝나면 옵션 → 언어 및 지역에서 '한국어'를 선택하세요."
|
|
echo
|
|
echo "업데이트하려면 이 스크립트를 같은 폴더 이름으로 다시 실행하면 됩니다: $INSTALL_DIR"
|