blob: e19f2c42a6c236bca1137c22d0d4b304d30694fd (
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/bash
set -e
HOST="yummers.dev"
DEPLOY_DIR="~/obsproxy"
echo "Creating deploy directory on remote host..."
ssh "$HOST" "mkdir -p $DEPLOY_DIR/etc/systemd/system $DEPLOY_DIR/etc/nginx/modules-available $DEPLOY_DIR/etc/nginx/sites-available $DEPLOY_DIR/etc/nginx/snippets $DEPLOY_DIR/opt/obsproxy"
echo "Copying files to remote host..."
scp -r * "$HOST:$DEPLOY_DIR/"
echo "Installing files with sudo and restarting services..."
ssh "$HOST" << 'EOF'
set -o errexit
set -o xtrace
cd ~/obsproxy
# Install files to their final destinations
sudo cp etc/systemd/system/obsproxy.service /etc/systemd/system/
sudo rm -f /etc/nginx/modules-enabled/stream.conf /etc/nginx/modules-enabled/00-stream.conf
if ! sudo test -e /etc/nginx/modules-enabled/50-mod-stream.conf && \
! sudo test -e /etc/nginx/modules-enabled/00-stream.conf; then
if sudo test -e /usr/lib/nginx/modules/ngx_stream_module.so; then
echo "Enabling nginx stream module..."
echo 'load_module /usr/lib/nginx/modules/ngx_stream_module.so;' | \
sudo tee /etc/nginx/modules-enabled/00-stream.conf >/dev/null
else
echo "nginx stream module is missing (install libnginx-mod-stream)" >&2
exit 1
fi
fi
sudo cp etc/nginx/modules-available/rtmp.conf /etc/nginx/modules-available/
sudo ln -sf /etc/nginx/modules-available/rtmp.conf /etc/nginx/modules-enabled/rtmp.conf
# Ship the sanitized nginx.conf so only the TLS stream listener owns :1935.
sudo cp etc/nginx/nginx.conf /etc/nginx/nginx.conf
sudo cp etc/nginx/snippets/proxy-headers.conf /etc/nginx/snippets/
sudo cp etc/nginx/sites-available/yummers.dev /etc/nginx/sites-available/
sudo ln -sf /etc/nginx/sites-available/yummers.dev /etc/nginx/sites-enabled/yummers.dev
sudo cp opt/obsproxy/server.py /opt/obsproxy/
sudo cp opt/obsproxy/requirements.txt /opt/obsproxy/
sudo /opt/obsproxy/venv/bin/pip install --upgrade -r /opt/obsproxy/requirements.txt
sudo rm -rf /var/www/streams/*
# Reload systemd daemon and restart obsproxy service
sudo systemctl daemon-reload
sudo systemctl restart obsproxy
# Reload nginx
sudo nginx -t
sudo systemctl reload nginx
echo "Deployment complete!"
EOF
echo "Done!"
|