File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -52,7 +52,7 @@ RUN --mount=type=cache,target=/tmp/npm-cache \
5252 wait && \
5353 # ECC ajv依存関係修正(既知の問題対応)
5454 ECC_DIR=$(npm list -g ecc-universal 2>/dev/null | head -n1 | awk '{print $1}' )/node_modules/ecc-universal && \
55- if [[ -d "$ECC_DIR" ] ]; then \
55+ if [ -d "$ECC_DIR" ]; then \
5656 cd "$ECC_DIR" && npm install ajv 2>/dev/null || true; \
5757 fi && \
5858 # グローバル ajv もインストール(フォールバック)
@@ -62,7 +62,7 @@ RUN --mount=type=cache,target=/tmp/npm-cache \
6262FROM dev-tools AS final
6363
6464# VSCode ユーザー作成(条件付き - DevContainer対応)
65- RUN if ! id "vscode" & >/dev/null; then \
65+ RUN if ! id "vscode" >/dev/null 2>&1 ; then \
6666 useradd -m -s /bin/bash vscode; \
6767 fi && \
6868 usermod -aG sudo vscode 2>/dev/null || true && \
Original file line number Diff line number Diff line change 22
33echo " 🔧 OpenCode ECC DevContainer エントリーポイント"
44
5+ is_valid_tailscale_key () {
6+ local key
7+ key=$( echo " $1 " | tr -d ' "' | tr -d ' [:space:]' )
8+ [[ " $key " =~ ^tskey-auth- ]] || return 1
9+ [[ " $key " == " your-tailscale-auth-key-here" ]] && return 1
10+ [[ " $key " == " tskey-auth-xxxxxxxxxxxxxxxxx" ]] && return 1
11+ [[ " $key " =~ ^tskey-auth-[xX]+$ ]] && return 1
12+ return 0
13+ }
14+
515# Tailscale daemon 起動
6- if [ -n " $TAILSCALE_AUTH_KEY " ] ; then
16+ if is_valid_tailscale_key " $TAILSCALE_AUTH_KEY " ; then
717 echo " 🌐 Tailscale daemon 起動中..."
818 sudo tailscaled --statedir=/var/lib/tailscale --socket=/run/tailscale/tailscaled.sock &
919fi
Original file line number Diff line number Diff line change @@ -83,9 +83,6 @@ mkdir -p ~/.opencode ~/.opencode/.agents ~/.opencode/.agents/skills
8383sudo chown -R vscode:vscode ~ /.opencode 2> /dev/null || chown -R vscode:vscode ~ /.opencode 2> /dev/null || true
8484chmod -R 755 ~ /.opencode 2> /dev/null || true
8585
86- # ホームディレクトリ全体の権限確認(念のため)
87- sudo chown -R vscode:vscode /home/vscode 2> /dev/null || chown -R vscode:vscode /home/vscode 2> /dev/null || true
88-
8986# ajv 依存関係エラー修正(既知の問題)
9087echo " 🔧 ajv 依存関係修正中..."
9188ECC_PATH=$( npm list -g ecc-universal 2> /dev/null | head -n1 | awk ' {print $1}' || echo " " )
Original file line number Diff line number Diff line change @@ -23,7 +23,10 @@ if [ -f "/workspace/.env" ]; then
2323fi
2424
2525sanitize_opencode_agents () {
26- local agents_dir=" /home/vscode/.opencode/agents"
26+ local agents_dir=" /home/vscode/.opencode/.agents"
27+ if [ ! -d " $agents_dir " ] && [ -d " /home/vscode/.opencode/agents" ]; then
28+ agents_dir=" /home/vscode/.opencode/agents"
29+ fi
2730 [ -d " $agents_dir " ] || return 0
2831
2932 local changed=0
Original file line number Diff line number Diff line change @@ -54,7 +54,12 @@ run_test ".env.template ファイル存在確認" "test -f /workspace/.env.templ
5454
5555if [[ -f " /workspace/.env" ]]; then
5656 source /workspace/.env 2> /dev/null || true
57- run_test " TAILSCALE_AUTH_KEY 設定確認" " test -n '$TAILSCALE_AUTH_KEY ' && test '$TAILSCALE_AUTH_KEY ' != 'your-tailscale-auth-key-here'"
57+ if [[ -n " $TAILSCALE_AUTH_KEY " && " $TAILSCALE_AUTH_KEY " != " your-tailscale-auth-key-here" && " $TAILSCALE_AUTH_KEY " != " tskey-auth-xxxxxxxxxxxxxxxxx" ]]; then
58+ run_test " TAILSCALE_AUTH_KEY 設定確認" " test -n '$TAILSCALE_AUTH_KEY '"
59+ else
60+ echo -e " ${YELLOW} 🔍 [${TESTS_TOTAL} +1] TAILSCALE_AUTH_KEY 設定確認 (オプション)${NC} "
61+ echo -e " ${YELLOW} ⚠️ SKIP(ローカルモード許容)${NC} "
62+ fi
5863 run_test " ECC_PROFILE 設定確認" " test -n '$ECC_PROFILE '"
5964fi
6065
@@ -162,7 +167,7 @@ echo ""
162167echo -e " ${BLUE} 🔄 統合テスト(簡易)${NC} "
163168
164169if [[ -n " $TAILSCALE_AUTH_KEY " && " $TAILSCALE_AUTH_KEY " != " your-tailscale-auth-key-here" ]]; then
165- run_test " Tailscale 認証テスト" " timeout 10 tailscale up --auth-key='$TAILSCALE_AUTH_KEY ' --reset"
170+ run_test " Tailscale 認証テスト" " timeout 10 tailscale --socket=/run/tailscale/tailscaled.sock up --auth-key='$TAILSCALE_AUTH_KEY ' --reset"
166171fi
167172
168173# テスト結果サマリー
Original file line number Diff line number Diff line change @@ -41,12 +41,12 @@ if command -v tailscale >/dev/null 2>&1; then
4141 fi
4242
4343 # Check Tailscale status
44- if sudo tailscale status > /dev/null 2>&1 ; then
44+ if sudo tailscale --socket=/run/tailscale/tailscaled.sock status > /dev/null 2>&1 ; then
4545 echo " ✅ Tailscale 接続確認済み"
46- sudo tailscale status | head -3 | sed ' s/^/ /'
46+ sudo tailscale --socket=/run/tailscale/tailscaled.sock status | head -3 | sed ' s/^/ /'
4747 else
4848 echo " ⚠️ Tailscale 未接続または未認証"
49- echo " 認証コマンド: sudo tailscale up --auth-key=YOUR_KEY"
49+ echo " 認証コマンド: sudo tailscale --socket=/run/tailscale/tailscaled.sock up --auth-key=YOUR_KEY"
5050 fi
5151else
5252 echo " ❌ Tailscale 未インストール"
@@ -119,7 +119,7 @@ if ! grep -q "127.0.0.1.*$(hostname)" /etc/hosts 2>/dev/null; then
119119fi
120120
121121if ! pgrep -x tailscaled > /dev/null && command -v tailscale > /dev/null 2>&1 ; then
122- echo " 2. Tailscaled 起動: sudo tailscaled --tun=userspace-networking --socks5-server=localhost:1055 &"
122+ echo " 2. Tailscaled 起動: sudo tailscaled --statedir=/var/lib/tailscale --socket=/run/tailscale/tailscaled.sock -- tun=userspace-networking --socks5-server=localhost:1055 &"
123123fi
124124
125125if [ ! -f " .env" ]; then
Original file line number Diff line number Diff line change @@ -44,10 +44,8 @@ mkdir -p "$HOME/.opencode/config"
4444echo " 🔑 所有権設定中..."
4545if command -v sudo > /dev/null 2>&1 ; then
4646 sudo chown -R vscode:vscode " $HOME /.opencode" 2> /dev/null || chown -R vscode:vscode " $HOME /.opencode" 2> /dev/null || true
47- sudo chown -R vscode:vscode " $HOME " 2> /dev/null || chown -R vscode:vscode " $HOME " 2> /dev/null || true
4847else
4948 chown -R vscode:vscode " $HOME /.opencode" 2> /dev/null || true
50- chown -R vscode:vscode " $HOME " 2> /dev/null || true
5149fi
5250
5351# 3. パーミッション設定
You can’t perform that action at this time.
0 commit comments