8 февраля 2026
Прежде чем приступать к установке, убедитесь, что ваш сервер отвечает минимальным требованиям. OpenCode работает на Linux, macOS и Windows, но для сервера мы будем рассматривать Linux как основную платформу. Вам понадобится современный эмулятор терминала, если планируете использовать TUI-интерфейс, Node.js версии 18 и выше для некоторых методов установки, а также API-ключи для провайдеров LLM, таких как Anthropic для моделей Claude или OpenAI для моделей GPT. Если вы используете VPS без графического интерфейса, эмулятор терминала не потребуется, так как вся работа будет осуществляться через SSH и командную строку.
Для сервера также рекомендуется проверить доступность портов, если планируете запускать OpenCode в режиме сервера для API-доступа. По умолчанию OpenCode использует порт 4096 для безголового сервера, этот порт должен быть открыт в firewall, если вы хотите получать доступ к API извне. Для безопасности лучше использовать reverse proxy, например Nginx, и настроить SSL-сертификаты для шифрованного соединения. Также стоит подумать о настройке systemd-демонов для автозапуска OpenCode при перезагрузке сервера, это обеспечит непрерывную работу ваших AI-агентов.
Docker — это платформа для контейнеризации приложений, которая позволяет упаковать приложение со всеми его зависимостями в изолированный контейнер. Это один из самых популярных способов установки программного обеспечения на серверы, потому что контейнеры легко разворачиваются, масштабируются и удаляются без оставления следов в системе.
Если Docker ещё не установлен на вашем сервере, установите его. Для Ubuntu и Debian это делается так:
# Обновление системы
apt update && apt upgrade -y
# Установка необходимых пакетов
apt install -y apt-transport-https ca-certificates curl software-properties-common
# Добавление официального GPG-ключа Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gPG | apt-key add -
# Добавление репозитория Docker
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Установка Docker CE
apt update && apt install -y docker-ce docker-ce-cli containerd.io
# Запуск сервиса Docker
systemctl start docker
# Добавление пользователя в группу docker (чтобы использовать docker без sudo)
usermod -aG docker $USERПосле установки проверьте работу Docker:
docker --version
docker run hello-worldСамый простой способ запустить OpenCode через Docker:
docker run -it --rm ghcr.io/sst/opencodeЭта команда загрузит образ OpenCode из GitHub Container Registry и запустит его в интерактивном режиме. Контейнер автоматически удалится после завершения работы благодаря флагу --rm. Для более продвинутого использования можно использовать следующие опции:
# С подключением каталога с кодом
docker run -it --rm \
-v $(pwd):/workspace \
-w /workspace \
ghcr.io/sst/opencode
# С переменными окружения для API-ключей
docker run -it --rm \
-e ANTHROPIC_API_KEY=your_api_key_here \
ghcr.io/sst/opencode
# С подключением каталога конфигурации
docker run -it --rm \
-v ~/.config/opencode:/root/.config/opencode \
ghcr.io/sst/opencodeЕсли вы хотите использовать OpenCode как API-сервер для подключения извне, можно запустить контейнер в detached режиме:
docker run -d \
--name opencode-server \
-p 4096:4096 \
ghcr.io/sst/opencode \
serve --port 4096Эта команда запустит OpenCode в фоновом режиме и применит порт 4096 на хост-машине. Теперь вы можете подключаться к OpenCode API извне:
# Подключение к серверу
opencode run --attach http://localhost:4096 "Объясни эту функцию"Использование Docker для установки OpenCode имеет множество преимуществ. Во-первых, контейнеры полностью изолированы от системы, поэтому установка не влияет на другие приложения и не создаёт конфликтов с версиями зависимостей. Во-вторых, OpenCode в Docker легко обновляется — просто остановите старый контейнер и запустите новый с обновлённым образом. В-третьих, Docker контейнеры можно легко переносить между серверами и масштабировать при необходимости. В-четвёртых, удаление OpenCode также не представляет труда — достаточно удалить контейнер и образ, и на системе не останется никаких следов.
Однако есть и недостатки. Главный недостаток — это более высокие требования к ресурсам, потому что контейнер требует дополнительных ресурсов для работы Docker-engine. Также некоторые функции, такие как MCP-серверы с доступом к файловой системе, могут требовать дополнительной настройки прав доступа. Кроме того, для новичков изучение Docker может показаться сложным, если они ранее не работали с контейнеризацией.
Официальный скрипт установки — это самый простой и рекомендуемый способ для установки OpenCode на сервер. Скрипт автоматически определяет операционную систему, загружает необходимые зависимости и настраивает OpenCode с оптимальными параметрами.
Для установки OpenCode выполните одну команду:
curl -fsSL https://opencode.ai/install | bashСкрипт работает на macOS, Linux и Windows (с Git Bash или WSL). После завершения установки проверьте, что OpenCode успешно установлен:
opencode --versionДолжен отобразиться номер текущей версии OpenCode. Если команда не найдена, перелогиньтесь в терминал или добавьте путь к OpenCode в переменную среды PATH.
Если на вашем сервере уже установлен один из менеджеров пакетов, вы можете явно указать метод установки:
# Установка через npm
curl -fsSL https://opencode.ai/install | bash -s -- --method npm
# Установка через Homebrew
curl -fsSL https://opencode.ai/install | bash -s -- --method brewПосле установки OpenCode необходимо настроить API-ключи для провайдеров LLM. Самый простой способ — использовать интерактивную команду:
opencode auth loginЭтот процесс поможет вам настроить API-ключи для любого поддерживаемого провайдера, включая Anthropic, OpenAI, Google и другие. После авторизации вы можете начать использовать OpenCode:
# Запуск TUI
opencode
# Или выполнить команду напрямую
opencode run "Как написать функцию на Python для сортировки списка"Главное преимущество официального скрипта — это его простота. Одна команда делает всю работу за вас, включая определение системы, загрузку зависимостей и первичную настройку. Скрипт также поддерживает автоматические обновления, поэтому вы всегда будете иметь актуальную версию OpenCode. Нативная установка обеспечивает лучшую производительность и совместимость с системой. Кроме того, при нативной установке доступны все функции OpenCode, включая MCP-серверы и интеграцию с файловой системой.
Недостатки этого метода включают изменение системных файлов, что может вызывать конфликты с другими приложениями. Удаление OpenCode при этом методе требует ручного удаления файлов и записей в конфигурации. Также скрипт может не подойти для серверов с ограниченными правами доступа, потому что требует root-доступа для установки.
Если на вашем сервере уже установлен Node.js, вы можете использовать один из менеджеров пакетов для глобальной установки OpenCode. Этот подход удобен, потому что многие разработчики уже имеют Node.js на своих серверах для других задач.
NPM — это стандартный менеджер пакетов для Node.js, который идёт в комплекте с Node.js:
npm install -g opencode-aiPNPM — это более эффективный менеджер пакетов, который экономит дисковое пространство благодаря использованию общих зависимостей:
pnpm install -g opencode-aiBun — это новый высокопроизводительный runtime для JavaScript, который также является менеджером пакетов:
bun install -g opencode-aiYarn — это менеджер пакетов, разработанный Facebook, известный своей скоростью и надёжностью:
yarn global add opencode-aiПосле установки проверьте работу OpenCode:
opencode --versionЕсли команда не найдена, добавьте путь к глобальным пакетам в PATH. Для npm это обычно ~/.npm-global/bin или ~/.node_modules/.bin, для pnpm — ~/.pnpm-store/v3/.bin, для Bun — ~/.bun/bin, а для Yarn — ~/.yarn/bin.
Использование менеджеров пакетов Node.js имеет несколько преимуществ. Во-первых, если Node.js уже установлен на сервере, не требуется устанавливать дополнительные зависимости. Во-вторых, глобальные пакеты легко обновляются через команду npm update -g opencode-ai или аналогичные команды других менеджеров. В-третьих, вы можете использовать конкретную версию OpenCode, указав её при установке: npm install -g [email protected].
Главный недостаток — зависимость от Node.js. Если на сервере нет Node.js, его нужно сначала установить, что добавляет дополнительный шаг. Также глобальные пакеты могут конфликтовать с другими глобальными пакетами, если они требуют разных версий одних и тех же зависимостей.
Для серверов, где нет возможности использовать Docker или Node.js, можно скачать скомпилированный бинарный файл OpenCode напрямую. Этот метод самый нейтральный к системе и не требует установки никаких дополнительных зависимостей.
Бинарные файлы OpenCode доступны на странице релизов на GitHub. Выберите версию, соответствующую вашей операционной системе и архитектуре процессора:
# Загрузка последней версии
wget https://github.com/sst/opencode/releases/latest/download/opencode-linux-amd64
# Или загрузка конкретной версии
wget https://github.com/sst/opencode/releases/download/v0.1.48/opencode-linux-amd64Передвиньте бинарный файл в каталог из PATH и сделайте его исполняемым:
# Перемещение в каталог из PATH
mv opencode-linux-amd64 /usr/local/bin/opencode
# Предоставление прав на исполнение
chmod +x /usr/local/bin/opencode
# Проверка
opencode --versionАльтернативно можно использовать каталог ~/bin для установки без root-прав:
# Создание каталога в home
mkdir -p ~/bin
# Перемещение файла
mv opencode-linux-amd64 ~/bin/opencode
# Предоставление прав
chmod +x ~/bin/opencode
# Добавление в PATH (добавьте в ~/.bashrc или ~/.zshrc)
export PATH="$HOME/bin:$PATH"Бинарные файлы не требуют установки дополнительных зависимостей, что делает этот метод идеальным для минимальных серверов. Они также не изменяют систему и не создают конфликтов с другими приложениями. Бинарный файл легко переносить между серверами просто скопировав его. Этот метод также позволяет использовать конкретную версию OpenCode без риска непредвиденных обновлений.
Недостатки включают необходимость ручного обновления при выходе новых версий. Также некоторые функции, требующие интеграции с системой, могут работать не так гладко, как при нативной установке.
Для удобства выбора представлена сравнительная таблица всех методов:
| Критерий | Docker | Скрипт | Node.js | Бинарные |
|----------|--------|--------|---------|----------|
| Простота установки | Средняя | Высокая | Высокая | Средняя |
| Требует зависимости | Docker | Нет | Node.js | Нет |
| Изоляция системы | Полная | Нет | Частичная | Полная |
| Легкость обновления | Высокая | Высокая | Высокая | Низкая |
| Легкость удаления | Высокая | Низкая | Средняя | Высокая |
| Производительность | Средняя | Высокая | Высокая | Высокая |
| Поддержка MCP | Средняя | Полная | Полная | Полная |
| Подходит для новичков | Нет | Да | Да | Нет |
По результатам сравнения, для большинства пользователей рекомендуются следующие варианты. Для начала работы и быстрой проверки идеально подходит официальный скрипт установки — одна команда и OpenCode готов к работе. Для продвинутого использования и экспериментов лучше использовать Docker, потому что это даёт максимальную гибкость и изоляцию. Для разработчиков с Node.js на сервере удобен менеджер пакетов, а для минимальных серверов без дополнительных зависимостей лучше использовать бинарные файлы.
Для серверного использования OpenCode часто нужно запустить в фоновом режиме, чтобы он продолжал работу после отключения от терминала. Существует несколько способов это сделать.
Systemd — это система init и управления сервисами, которая используется в большинстве современных Linux-дистрибутивов. Создание systemd-сервиса обеспечивает автозапуск OpenCode при перезагрузке сервера, автоматический перезапуск при падении и удобное управление через стандартные команды systemctl.
Создайте файл сервиса:
sudo nano /etc/systemd/system/opencode.serviceДобавьте следующую конфигурацию:
[Unit]
Description=OpenCode AI Assistant
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root
ExecStart=/usr/local/bin/opencode serve --port 4096
Restart=always
RestartSec=10
Environment=ANTHROPIC_API_KEY=your_api_key_here
Environment=OPENAI_API_KEY=your_openai_key_here
[Install]
WantedBy=multi-user.targetЗапустите и настройте автозапуск:
# Перезагрузка конфигурации systemd
sudo systemctl daemon-reload
# Запуск сервиса
sudo systemctl start opencode
# Автозапуск при boot
sudo systemctl enable opencode
# Проверка состояния
sudo systemctl status opencode
# Просмотр логов
sudo journalctl -u opencode -fTmux — это терминальный мультиплексер, который позволяет создавать многооконные и многосеансовые сессии. Это удобный способ для временной работы или тестирования:
# Установка tmux (если нет)
apt install -y tmux
# Создание новой сессии и запуск OpenCode
tmux new-session -d -s opencode 'opencode serve --port 4096'
# Присоединение к сессии
tmux attach-session -t opencode
# Список сессий
tmux list-sessions
# Остановка сессии
tmux kill-session -t opencodeКоманда nohup позволяет запустить процесс, который продолжит работу после отключения от терминала:
# Запуск в фоне с перенаправлением вывода
nohup opencode serve --port 4096 > /var/log/opencode.log 2>&1 &
# Получение PID процесса
echo $!
# Остановка
kill $(pgrep -f "opencode serve")При использовании Docker можно настроить автоматический перезапуск контейнера:
docker run -d \
--name opencode-server \
--restart unless-stopped \
-p 4096:4096 \
-e ANTHROPIC_API_KEY=your_api_key \
ghcr.io/sst/opencode \
serve --port 4096
# Управление
docker stop opencode-server
docker start opencode-server
docker logs -f opencode-serverПри использовании OpenCode на production-сервере необходимо учесть несколько важных аспектов безопасности и производительности.
Никогда не храните API-ключи в конфигурационных файлах, которые могут попасть в систему контроля версий. Используйте переменные окружения:
# Создание файла с переменными
sudo nano /etc/environment
# Добавить: ANTHROPIC_API_KEY=your_key_here
# Использование в systemd сервисе
EnvironmentFile=/etc/environmentСоздайте конфигурационный файл для продакшна:
mkdir -p ~/.config/opencode
nano ~/.config/opencode/opencode.jsonПример конфигурации:
{
"$schema": "https://opencode.ai/config.json",
"theme": "opencode",
"model": "anthropic/claude-sonnet-4-5",
"small_model": "anthropic/claude-haiku-4-5",
"autoupdate": true,
"share": "disabled",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Убедитесь, что нужные порты открыты:
# Для UFW (Ubuntu)
sudo ufw allow 4096/tcp
sudo ufw reload
# Для iptables
sudo iptables -A INPUT -p tcp --dport 4096 -j ACCEPT
sudo iptables-saveДля безопасного доступа к OpenCode API используйте Nginx как reverse proxy с SSL:
# Создание конфигурации
sudo nano /etc/nginx/sites-available/opencode
server {
listen 80;
server_name opencode.vashdomen.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name opencode.vashdomen.com;
ssl_certificate /etc/letsencrypt/live/opencode.vashdomen.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/opencode.vashdomen.com/privkey.pem;
location / {
proxy_pass http://localhost:4096;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
# Активация
sudo ln -s /etc/nginx/sites-available/opencode /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxИспользуйте Let's Encrypt для бесплатных SSL-сертификатов:
sudo certbot --nginx -d opencode.vashdomen.comВ зависимости от метода установки, удаление OpenCode осуществляется разными способами.
# Остановка и удаление контейнера
docker stop opencode-server
docker rm opencode-server
# Удаление образа (опционально)
docker rmi ghcr.io/sst/opencode
# Удаление Docker (если не нужен)
apt purge docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker# Первичное удаление
rm -rf ~/.config/opencode
rm -f /usr/local/bin/opencode
# Полное удаление (принимайте осторожно!)
rm -rf ~/.cache/opencode
rm -rf ~/.local/share/opencode# Для npm
npm uninstall -g opencode-ai
# Для pnpm
pnpm uninstall -g opencode-ai
# Для Bun
bun uninstall -g opencode-ai
# Для Yarn
yarn global remove opencode-ai# Удаление файла
rm /usr/local/bin/opencode
# ИЛИ
rm ~/bin/opencodeВ зависимости от ваших конкретных потребностей, рекомендуются разные методы установки.
Для личных проектов на виртуальном выделенном сервере, где вы являетесь единственным пользователем и хотите максимум контроля над системой, рекомендуются следующие настройки. Установка осуществляется через официальный скрипт одной командой. Для автозапуска создайте systemd-сервис. Для API-доступа настройте Nginx с SSL. Для ключей используйте переменные окружения.
Для командной работы, где несколько разработчиков должны иметь доступ к OpenCode, рекомендуются следующие настройки. Используйте Docker для изоляции и лёгкого разворачивания. Настройте SSO-авторизацию через Nginx. Ведите логи доступа. Создайте правила доступа через systemd.
Для интеграции в CI/CD пайплайны, где OpenCode используется для автоматического код-ревью или генерации документации, рекомендуются следующие настройки. Используйте Docker-образ в GitHub Actions или GitLab CI. Передавайте API-ключи через secrets. Используйте одноразовые запуски для каждого pipeline.
Для постоянно работающего AI-агента, который обрабатывает запросы круглосуточно, рекомендуются следующие настройки. Используйте Docker с restart policy unless-stopped. Настройте мониторинг процесса. Используйте reverse proxy с авторизацией. Ведите логи и метрики.
Мы рассмотрели четыре основных метода установки OpenCode на удалённый сервер — Docker, официальный скрипт установки, менеджеры пакетов Node.js и бинарные файлы. Каждый метод имеет свои преимущества и недостатки, и выбор зависит от конкретных потребностей вашего проекта. Для начала работы и большинства случаев официальный скрипт установки остаётся самым простым и рекомендуемым вариантом. Для более гибкого управления и изоляции лучше использовать Docker. Не забудьте настроить автозапуск и мониторинг для production-использования, а также используйте переменные окружения для хранения API-ключей безопасным способом.
OpenCode — это мощный инструмент, который можно эффективно использовать на удалённом сервере для самых разных задач, от личной разработки до корпоративных AI-решений. Правильно выбранный метод установки и настройка позволят вам максимизировать эффективность этого инструмента и обеспечить его надёжную работу в любое время.
Дата: 8 февраля 2026
Дата: 8 февраля 2026