blob: f175cf908dd18e55a4d63f985a2298dd77bd6c0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env bash
# 初回セットアップ: SSH鍵生成 → authorized_keys登録 → コンテナ起動
set -euo pipefail
cd "$(dirname "$0")"
KEY="$(pwd)/id_rsa"
if [ ! -f "$KEY" ]; then
ssh-keygen -t rsa -b 4096 -f "$KEY" -N "" -C "hetzner-admin"
echo "SSH key generated: $KEY"
fi
PUBKEY=$(cat "${KEY}.pub")
RESTRICTION='command="/app/infra/hetzner-admin/run-command.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty'
ENTRY="$RESTRICTION $PUBKEY"
AUTH_KEYS="${HOME}/.ssh/authorized_keys"
mkdir -p "${HOME}/.ssh"
chmod 700 "${HOME}/.ssh"
if grep -qF "hetzner-admin" "$AUTH_KEYS" 2>/dev/null; then
echo "Key already present in $AUTH_KEYS"
else
echo "$ENTRY" >> "$AUTH_KEYS"
chmod 600 "$AUTH_KEYS"
echo "Public key added to $AUTH_KEYS"
fi
chmod +x "$(pwd)/run-command.sh"
docker compose up -d --build
|