Расширение образа с установкой дополнительно nodejs, python и golang
- Dockerfile 100%
|
|
||
|---|---|---|
| .woodpecker.yml | ||
| compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
Code Server Custom Build
Кастомный Docker-образ code-server с предустановленными инструментами для разработки. Собирается автоматически через Woodpecker CI и публикуется в Forgejo Container Registry.
🚀 Особенности
- Code Server - Веб-версия VS Code
- Node.js 24 + pnpm - Современный JavaScript/TypeScript стек
- Go - Язык программирования (версия настраивается)
- Python 3 + uv/uvx - Быстрый менеджер пакетов Python
- Qwen Code Agent - AI-ассистент для программирования
- Автоматическая сборка при создании тегов
📦 Включенные инструменты
| Инструмент | Версия | Назначение |
|---|---|---|
code-server |
Из тега | Веб-версия VS Code |
nodejs |
24.x | JavaScript/TypeScript runtime |
pnpm |
latest | Быстрый менеджер пакетов Node.js |
go |
Настраиваемая | Язык программирования Go |
python3 |
Системная | Python интерпретатор |
uv |
latest | Быстрый менеджер пакетов Python |
uvx |
latest | Запуск Python утилит без установки |
@qwen-code/qwen-code |
latest | AI-агент для помощи в программировании |
🛠 Использование
Запуск контейнера
docker run -d \
--name=code-server \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Moscow \
-p 8443:8443 \
git.ymnuktech.ru/ymnuk/code-server-build:latest
### С переменными окружения
```bash
docker run -d \
--name=code-server \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/Moscow \
-e DEFAULT_WORKSPACE=/config/workspace \
-p 8443:8443 \
-v /path/to/appdata/config:/config \
git.ymnuktech.ru/ymnuk/code-server-build:latest
```
### Docker Compose
```yaml
version: "3.8"
services:
code-server:
image: git.ymnuktech.ru/ymnuk/code-server-build:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Moscow
volumes:
- ./config:/config
- ./workspace:/config/workspace
ports:
- "8443:8443"
restart: unless-stopped
```
## 🔧 Настройка CI/CD
### Переменные окружения Woodpecker
Перед использованием установите в настройках репозитория:
| Переменная | Описание | Пример |
| ------------ | ----------------------- | --------------- |
| `git_user` | Пользователь Forgejo | `your_username` |
| `git_pass` | Токен доступа Forgejo | `your_token` |
| `GO_VERSION` | Версия Go для установки | `1.25.4` |
### Создание новой версии
1. Создайте тег в формате: `vX.X.X`
```bash
git tag v4.106.2
git push origin v4.106.2
```
2. Woodpecker автоматически соберет и опубликует образ с тегами:
- `v4.106.2` (версия)
- `latest` (последняя версия)
## 🏗 Локальная сборка
### Сборка с параметрами по умолчанию
```bash
docker build -t code-server-custom .
```
### Сборка с кастомными версиями
```bash
docker build \
--build-arg VERSION=4.106.2 \
--build-arg GOVERSION=1.25.4 \
-t code-server-custom .
```
## 📁 Структура проекта
```
code-server-build/
├── .woodpecker.yml # Конфигурация CI/CD
├── Dockerfile # Docker-образ
├── README.md # Документация
└── .go-version # Версия Go (опционально)
```
## 🔍 Доступные теги
- `latest` - Последняя стабильная версия
- `vX.X.X` - Конкретная версия (например: `v4.106.2`)
## 🐛 Отладка
### Проверка установленных инструментов
```bash
docker exec -it code-server node --version
docker exec -it code-server go version
docker exec -it code-server python3 --version
docker exec -it code-server uv --version
docker exec -it code-server pnpm --version
```
### Логи контейнера
```bash
docker logs code-server
```
## 📄 Лицензия
Этот проект распространяется под лицензией [GPL-3.0](LICENSE).