Files
webide/readme.md
2026-02-06 19:23:47 +00:00

103 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Хороший гайдик для поднятия в докере web ide
### 1. Скачиваем официальный скрипт установки
```
curl -fsSL https://get.docker.com -o get-docker.sh
```
# Запускаем его с правами суперпользователя
```
sudo sh get-docker.sh
```
### 2. Установка Docker Compose
В современных версиях Docker Compose идет как плагин. Установите его командой:
bash
```
sudo apt-get update
sudo apt-get install docker-compose-plugin
```
### 3. Если вы не рут, то выйдате себе права
```
sudo usermod -aG docker $USER
```
### 4. Создаем Создайте файл `docker-compose.yml` :
```
version: '3.8'
services:
code-server:
image: codercom/code-server:latest
container_name: code-server
ports:
- "8080:8080"
environment:
- PASSWORD=ваш_пароль_для_входа # Укажите свой пароль
- TZ=Europe/Moscow
volumes:
- ./code-data:/home/coder/project # Здесь будут лежать ваши проекты
- ./code-config:/home/coder/.config # Настройки и плагины
restart: always
```
### 5. Запускаем `docker compose up`
если нет ошибок радуемся и добавляем поддомен
если есть на папки `code-data` и `code-config` выдаем права 777
команду вы и сами знаете, раз уж вы тут
### 6. Добавление правила в фаервол ufw
```
# Разрешаем порт для VS Code
sudo ufw allow 8080/tcp
# Если ты планируешь заходить в Gitea, открой порты и для неё (обычно 3000 и 22)
sudo ufw allow 3000/tcp
sudo ufw allow 22/tcp
# Перезагружаем правила, чтобы они вступили в силу
sudo ufw reload
```
### 7. Танцы с бубном для nginx
Если почему то у вас до сих пор нету nginx то ставим
```
sudo apt update
sudo apt install nginx
```
Создаем файл
```
sudo nano /etc/nginx/sites-available/code-server
```
сам файл измените домен, на свой
```
server {
listen 80;
server_name ide.lord-mikrotik.ru;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
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;
}
}
```
Далее активируем ssl
```
# Включаем сайт
sudo ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
# Ставим Certbot для HTTPS
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d ide.lord-mikrotik.ru
```
Ну и на закуску добавляем в ufw
```
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 8080/tcp
sudo ufw reload
```