#!/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