VS Code Server


Встановлення

Зі сторінки https://github.com/coder/code-server/releases завантажуємо потрібний файл (на момент написання – це версія 4.2.0)

wget  https://github.com/coder/code-server/releases/download/v4.2.0/code-server_4.2.0_amd64.deb

sudo apt install ./code-server_4.2.0_amd64.deb

systemd

Стоврюємо файли для збереження логів:

sudo touch /var/log/code-server-output.log
sudo touch /var/log/code-server-error.log

Створюємо конфігураційний файл code-server.service, у якому вказуємо користувача {USER} пароль {PASSWD} та прив"язуєм сервіс до {PORT}:

# ...code-server.service

[Unit]
Description=code-server
After=nginx.service
 
[Service]
Type=simple
Environment=PASSWORD={PASSWD}
ExecStart=/usr/bin/code-server --bind-addr 127.0.0.1:{PORT} --user-data-dir "/home/{USER}/.vscode-server"  --auth password
User={USER}
Group={USER}
Restart=always
RestartSec=10
StandardOutput=file:/var/log/code-server-output.log
StandardError=file:/var/log/code-server-error.log
 
[Install]
WantedBy=multi-user.target

Перевіряємо та запускаємо сервіс

sudo systemctl daemon-reload
sudo systemctl start code-server
sudo systemctl status code-server
# якщо все ok:
sudo systemctl enable code-server

nginx

Вказати доменне ям"я {YOUR-DOMAIN.COM} та порт {PORT}, до якого було прив"язано сервіс в рядку запуску (конфігурація systemd):

server {
	listen 80;
    charset utf-8;
	server_name {YOUR-DOMAIN.COM};
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

	location / {
        proxy_set_header Host $host;
		proxy_pass http://localhost:{PORT}/;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection upgrade;
		proxy_set_header Accept-Encoding gzip;
        proxy_read_timeout      600s;
        proxy_send_timeout      600s;
        error_page 404 = 404;
	}
}

Додаткові джерела