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