summaryrefslogtreecommitdiff
path: root/hetzner-admin/run-command.sh
blob: 0ed9fe33770aa765b8049c13ba08b945911e5f9d (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
#!/bin/bash
# SSH authorized_keys の command= から呼ばれる。$SSH_ORIGINAL_COMMAND をホワイトリストで検証する。
set -e

case "$SSH_ORIGINAL_COMMAND" in
  "docker ps")
    exec docker ps
    ;;
  "docker compose -f /app/infra/caddy/docker-compose.yml restart")
    exec docker compose -f /app/infra/caddy/docker-compose.yml restart
    ;;
  "docker compose -f /app/infra/mail/docker-compose.yml restart")
    exec docker compose -f /app/infra/mail/docker-compose.yml restart
    ;;
  "docker compose -f /app/infra/cgit/docker-compose.yml restart")
    exec docker compose -f /app/infra/cgit/docker-compose.yml restart
    ;;
  "docker compose -f /app/infra/hetzner-admin/docker-compose.yml restart")
    exec docker compose -f /app/infra/hetzner-admin/docker-compose.yml restart
    ;;
  "bash /app/infra/claude/restart-sessions.sh")
    exec bash /app/infra/claude/restart-sessions.sh
    ;;
  "reboot")
    exec reboot
    ;;
  *)
    echo "Not allowed: $SSH_ORIGINAL_COMMAND" >&2
    exit 1
    ;;
esac