added a kasm installer dev
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
domain=kasm.h.acker.is
|
||||
local_port=8443
|
||||
swap_size_gib=6
|
||||
sudo apt update
|
||||
sudo apt dist-upgrade -y
|
||||
sudo fallocate -l ${swap_size_gib}g /mnt/${swap_size_gib}GiB.swap
|
||||
sudo chmod 600 /mnt/${swap_size_gib}GiB.swap
|
||||
sudo mkswap /mnt/${swap_size_gib}GiB.swap
|
||||
sudo swapon /mnt/${swap_size_gib}GiB.swap
|
||||
echo "/mnt/${swap_size_gib}GiB.swap swap swap defaults 0 0" | sudo tee -a /etc/fstab
|
||||
cd /tmp
|
||||
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.19.0-latest.tar.gz
|
||||
tar -xf kasm_release*.tar.gz
|
||||
sudo bash kasm_release/install.sh -L $local_port
|
||||
sudo apt update
|
||||
sudo apt install nginx certbot python3-certbot-nginx -y
|
||||
sudo certbot certonly --nginx -d $domain
|
||||
sudo cat << 'EOF' > /etc/nginx/sites-available/$domain
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name $domain;
|
||||
ssl_certificate /etc/letsencrypt/live/$domain/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/$domain/privkey.pem;
|
||||
location / {
|
||||
# WebSocket Support
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
|
||||
# Host and X headers
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# Should match the listening port of this proxy
|
||||
proxy_set_header X-Forwarded-Port 443;
|
||||
|
||||
# Connectivity Options
|
||||
proxy_http_version 1.1;
|
||||
proxy_read_timeout 1800s;
|
||||
proxy_send_timeout 1800s;
|
||||
proxy_connect_timeout 1800s;
|
||||
proxy_buffering off;
|
||||
|
||||
# Allow large requests to support file uploads to sessions
|
||||
client_max_body_size 10M;
|
||||
|
||||
# Proxy to Kasm Workspaces running locally on $local_port using ssl
|
||||
proxy_pass https://127.0.0.1:$local_port;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
sudo ln -s /etc/nginx/sites-available/$domain /etc/nginx/sites-enabled/$domain
|
||||
sudo nginx -t
|
||||
sudo systemctl restart nginx
|
||||
sudo docker restart kasm_api
|
||||
sudo shutdown -r +7
|
||||
Reference in New Issue
Block a user