Хороший гайдик для поднятия в докере 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 ```