summaryrefslogtreecommitdiff
path: root/hetzner-admin/run-command.sh
blob: 50280b91c4fae2a853aee06c03acda12d8cf2426 (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
#!/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
    ;;
  "reboot")
    exec reboot
    ;;
  *)
    echo "Not allowed: $SSH_ORIGINAL_COMMAND" >&2
    exit 1
    ;;
esac