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