SHA256
Навести порядок в deploy и документации проекта
This commit is contained in:
@@ -1,79 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
TARGET_HOST="${TARGET_HOST:-player@193.8.215.70}"
|
||||
TARGET_DOMAIN="${TARGET_DOMAIN:-server2.shineup.me}"
|
||||
REMOTE_UI_DIR="${REMOTE_UI_DIR:-/home/player/SHiNE/shine-ui}"
|
||||
REMOTE_CADDYFILE="${REMOTE_CADDYFILE:-/etc/caddy/Caddyfile}"
|
||||
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
cleanup() {
|
||||
rm -rf "$TMP_DIR"
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
cat >"$TMP_DIR/Caddyfile" <<EOF
|
||||
{
|
||||
auto_https disable_redirects
|
||||
}
|
||||
|
||||
agent.shiningpeople.ru {
|
||||
redir / /agent/index.html 308
|
||||
redir /agent /agent/index.html 308
|
||||
|
||||
handle_path /agent/* {
|
||||
reverse_proxy 127.0.0.1:8765
|
||||
}
|
||||
}
|
||||
|
||||
$TARGET_DOMAIN {
|
||||
encode zstd gzip
|
||||
|
||||
@ws path /ws /ws/*
|
||||
handle @ws {
|
||||
reverse_proxy 127.0.0.1:7070
|
||||
}
|
||||
|
||||
handle {
|
||||
root * $REMOTE_UI_DIR
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
header -Etag
|
||||
header {
|
||||
Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
|
||||
Pragma "no-cache"
|
||||
Expires "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:80 {
|
||||
encode zstd gzip
|
||||
|
||||
@ws path /ws /ws/*
|
||||
handle @ws {
|
||||
reverse_proxy 127.0.0.1:7070
|
||||
}
|
||||
|
||||
handle {
|
||||
root * $REMOTE_UI_DIR
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
header -Etag
|
||||
header {
|
||||
Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
|
||||
Pragma "no-cache"
|
||||
Expires "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
ssh -o BatchMode=yes -o ConnectTimeout=20 "$TARGET_HOST" "echo SSH OK" >/dev/null
|
||||
ssh "$TARGET_HOST" "sudo -n true"
|
||||
rsync -az "$TMP_DIR/Caddyfile" "$TARGET_HOST:/tmp/caddy-test2.new"
|
||||
ssh "$TARGET_HOST" "set -euo pipefail; \
|
||||
sudo mv -f /tmp/caddy-test2.new '$REMOTE_CADDYFILE'; \
|
||||
sudo chown root:root '$REMOTE_CADDYFILE'; \
|
||||
sudo caddy validate --config '$REMOTE_CADDYFILE'; \
|
||||
sudo systemctl restart caddy"
|
||||
@@ -1,89 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Установка coturn с REST-auth (временные credentials по shared-secret).
|
||||
# Запускать НА TURN-сервере под root.
|
||||
#
|
||||
# Пример:
|
||||
# sudo bash scripts/setup_turn_coturn.sh --secret "CHANGE_ME_LONG_SECRET" --realm "shineup.me"
|
||||
|
||||
SECRET=""
|
||||
REALM="shineup.me"
|
||||
MIN_PORT="49160"
|
||||
MAX_PORT="49200"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--secret)
|
||||
SECRET="${2:-}"
|
||||
shift 2
|
||||
;;
|
||||
--realm)
|
||||
REALM="${2:-}"
|
||||
shift 2
|
||||
;;
|
||||
--min-port)
|
||||
MIN_PORT="${2:-49160}"
|
||||
shift 2
|
||||
;;
|
||||
--max-port)
|
||||
MAX_PORT="${2:-49200}"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
echo "Неизвестный аргумент: $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "${SECRET}" ]]; then
|
||||
echo "Нужно передать --secret" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -y
|
||||
apt-get install -y coturn
|
||||
|
||||
PUBLIC_IP="$(hostname -I | awk '{print $1}')"
|
||||
if [[ -z "${PUBLIC_IP}" ]]; then
|
||||
echo "Не удалось определить public ip автоматически, укажите вручную в /etc/turnserver.conf" >&2
|
||||
PUBLIC_IP="0.0.0.0"
|
||||
fi
|
||||
|
||||
cat >/etc/turnserver.conf <<EOF
|
||||
listening-port=3478
|
||||
fingerprint
|
||||
lt-cred-mech
|
||||
use-auth-secret
|
||||
static-auth-secret=${SECRET}
|
||||
realm=${REALM}
|
||||
total-quota=200
|
||||
stale-nonce=600
|
||||
no-multicast-peers
|
||||
no-loopback-peers
|
||||
no-cli
|
||||
simple-log
|
||||
|
||||
external-ip=${PUBLIC_IP}
|
||||
listening-ip=0.0.0.0
|
||||
relay-ip=${PUBLIC_IP}
|
||||
|
||||
min-port=${MIN_PORT}
|
||||
max-port=${MAX_PORT}
|
||||
EOF
|
||||
|
||||
if [[ -f /etc/default/coturn ]]; then
|
||||
sed -i 's/^#\?TURNSERVER_ENABLED=.*/TURNSERVER_ENABLED=1/' /etc/default/coturn || true
|
||||
fi
|
||||
|
||||
systemctl enable coturn
|
||||
systemctl restart coturn
|
||||
systemctl --no-pager --full status coturn
|
||||
|
||||
echo
|
||||
echo "coturn настроен."
|
||||
echo "Откройте firewall: 3478/tcp, 3478/udp, ${MIN_PORT}-${MAX_PORT}/udp"
|
||||
echo "Для SHiNE-сервера задайте такой же shared-secret в параметре:"
|
||||
echo " -Dcall.ice.turn.sharedSecret=${SECRET}"
|
||||
Reference in New Issue
Block a user