Расширение образа с установкой дополнительно nodejs, python и golang
  • Dockerfile 100%
Find a file
2026-06-03 19:05:36 +03:00
.woodpecker.yml Обновить .woodpecker.yml 2026-06-03 09:39:09 +03:00
compose.yml Fix Compose 2025-11-30 20:59:43 +03:00
Dockerfile Обновить Dockerfile 2026-06-03 09:43:20 +03:00
LICENSE first commit 2025-11-30 17:01:55 +03:00
README.md Обновить README.md 2026-06-03 19:05:36 +03:00

Code Server Custom Build

Docker Woodpecker CI GPL-3.0

Кастомный Docker-образ code-server с предустановленными инструментами для разработки. Собирается автоматически через Woodpecker CI и публикуется в Forgejo Container Registry.

🚀 Особенности

  • Code Server - Веб-версия VS Code
  • Node.js 24 + pnpm - Современный JavaScript/TypeScript стек
  • Go - Язык программирования (версия настраивается)
  • Python 3 + uv/uvx - Быстрый менеджер пакетов Python
  • OpenCode - 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 утилит без установки
opencode-ai latest AI-агент для помощи в программировании
bun latest JavaScript/TypeScript runtime
@angular/cli latest Набор CLI для Angular
typescript-language-server latest LSP сервер для TypeScript
chromium latest Браузер Chromium
golangci-lint latest Линтер для Golang
gopls@latest latest LSP сервер для Golang
protoc-gen-go latest Компилятор для protobuf
staticcheck latest Линтер статического анализа для Go
mcp-doc-indexer latest Индексатор документации для использовании в агенте
dlv latest Стандартный отладчик для Go
air latest HotReload для Go

🛠 Использование

Запуск контейнера

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

С переменными окружения

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

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

    git tag v4.106.2
    git push origin v4.106.2
    
  2. Woodpecker автоматически соберет и опубликует образ с тегами:

    • v4.106.2 (версия)
    • latest (последняя версия)

🏗 Локальная сборка

Сборка с параметрами по умолчанию

docker build -t code-server-custom .

Сборка с кастомными версиями

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)

🐛 Отладка

Проверка установленных инструментов

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

Логи контейнера

docker logs code-server

📄 Лицензия

Этот проект распространяется под лицензией GPL-3.0.