Главная / Установка OpenCode на сервер: полное руководство с примерами

Установка OpenCode на сервер: полное руководство с примерами

8 февраля 2026

Оглавление

  1. Предварительная подготовка сервера
  2. Метод 1: Docker
  3. Метод 2: Официальный скрипт установки
  4. Метод 3: Менеджеры пакетов Node.js
  5. Метод 4: Бинарные файлы
  6. Сравнение методов установки
  7. Запуск OpenCode в фоне
  8. Настройка OpenCode для продакшена
  9. Удаление OpenCode
  10. Выбор метода для разных сценариев
  11. Заключение

1. Предварительная подготовка сервера

Прежде чем приступать к установке, убедитесь, что ваш сервер отвечает минимальным требованиям. 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-агентов.

2. Метод 1: Docker

Docker — это платформа для контейнеризации приложений, которая позволяет упаковать приложение со всеми его зависимостями в изолированный контейнер. Это один из самых популярных способов установки программного обеспечения на серверы, потому что контейнеры легко разворачиваются, масштабируются и удаляются без оставления следов в системе.

Установка 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

Самый простой способ запустить 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 сервера в Docker

Если вы хотите использовать 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

Использование Docker для установки OpenCode имеет множество преимуществ. Во-первых, контейнеры полностью изолированы от системы, поэтому установка не влияет на другие приложения и не создаёт конфликтов с версиями зависимостей. Во-вторых, OpenCode в Docker легко обновляется — просто остановите старый контейнер и запустите новый с обновлённым образом. В-третьих, Docker контейнеры можно легко переносить между серверами и масштабировать при необходимости. В-четвёртых, удаление OpenCode также не представляет труда — достаточно удалить контейнер и образ, и на системе не останется никаких следов.

Недостатки Docker

Однако есть и недостатки. Главный недостаток — это более высокие требования к ресурсам, потому что контейнер требует дополнительных ресурсов для работы Docker-engine. Также некоторые функции, такие как MCP-серверы с доступом к файловой системе, могут требовать дополнительной настройки прав доступа. Кроме того, для новичков изучение Docker может показаться сложным, если они ранее не работали с контейнеризацией.

3. Метод 2: Официальный скрипт установки

Официальный скрипт установки — это самый простой и рекомендуемый способ для установки 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-доступа для установки.

4. Метод 3: Менеджеры пакетов Node.js

Если на вашем сервере уже установлен Node.js, вы можете использовать один из менеджеров пакетов для глобальной установки OpenCode. Этот подход удобен, потому что многие разработчики уже имеют Node.js на своих серверах для других задач.

Установка через npm

NPM — это стандартный менеджер пакетов для Node.js, который идёт в комплекте с Node.js:

npm install -g opencode-ai

Установка через pnpm

PNPM — это более эффективный менеджер пакетов, который экономит дисковое пространство благодаря использованию общих зависимостей:

pnpm install -g opencode-ai

Установка через Bun

Bun — это новый высокопроизводительный runtime для JavaScript, который также является менеджером пакетов:

bun install -g opencode-ai

Установка через Yarn

Yarn — это менеджер пакетов, разработанный 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 имеет несколько преимуществ. Во-первых, если Node.js уже установлен на сервере, не требуется устанавливать дополнительные зависимости. Во-вторых, глобальные пакеты легко обновляются через команду npm update -g opencode-ai или аналогичные команды других менеджеров. В-третьих, вы можете использовать конкретную версию OpenCode, указав её при установке: npm install -g [email protected].

Недостатки

Главный недостаток — зависимость от Node.js. Если на сервере нет Node.js, его нужно сначала установить, что добавляет дополнительный шаг. Также глобальные пакеты могут конфликтовать с другими глобальными пакетами, если они требуют разных версий одних и тех же зависимостей.

5. Метод 4: Бинарные файлы

Для серверов, где нет возможности использовать 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 без риска непредвиденных обновлений.

Недостатки

Недостатки включают необходимость ручного обновления при выходе новых версий. Также некоторые функции, требующие интеграции с системой, могут работать не так гладко, как при нативной установке.

6. Сравнение методов установки

Для удобства выбора представлена сравнительная таблица всех методов:

| Критерий | Docker | Скрипт | Node.js | Бинарные |

|----------|--------|--------|---------|----------|

| Простота установки | Средняя | Высокая | Высокая | Средняя |

| Требует зависимости | Docker | Нет | Node.js | Нет |

| Изоляция системы | Полная | Нет | Частичная | Полная |

| Легкость обновления | Высокая | Высокая | Высокая | Низкая |

| Легкость удаления | Высокая | Низкая | Средняя | Высокая |

| Производительность | Средняя | Высокая | Высокая | Высокая |

| Поддержка MCP | Средняя | Полная | Полная | Полная |

| Подходит для новичков | Нет | Да | Да | Нет |

По результатам сравнения, для большинства пользователей рекомендуются следующие варианты. Для начала работы и быстрой проверки идеально подходит официальный скрипт установки — одна команда и OpenCode готов к работе. Для продвинутого использования и экспериментов лучше использовать Docker, потому что это даёт максимальную гибкость и изоляцию. Для разработчиков с Node.js на сервере удобен менеджер пакетов, а для минимальных серверов без дополнительных зависимостей лучше использовать бинарные файлы.

7. Запуск OpenCode в фоне

Для серверного использования OpenCode часто нужно запустить в фоновом режиме, чтобы он продолжал работу после отключения от терминала. Существует несколько способов это сделать.

Способ 1: Systemd (рекомендуется для продакшена)

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 -f

Способ 2: Tmux

Tmux — это терминальный мультиплексер, который позволяет создавать многооконные и многосеансовые сессии. Это удобный способ для временной работы или тестирования:

# Установка 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

Способ 3: NoHUP

Команда nohup позволяет запустить процесс, который продолжит работу после отключения от терминала:

# Запуск в фоне с перенаправлением вывода
nohup opencode serve --port 4096 > /var/log/opencode.log 2>&1 &

# Получение PID процесса
echo $!

# Остановка
kill $(pgrep -f "opencode serve")

Способ 4: Docker с restart policy

При использовании 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

8. Настройка OpenCode для продакшена

При использовании 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"
  }
}

Настройка firewall

Убедитесь, что нужные порты открыты:

# Для UFW (Ubuntu)
sudo ufw allow 4096/tcp
sudo ufw reload

# Для iptables
sudo iptables -A INPUT -p tcp --dport 4096 -j ACCEPT
sudo iptables-save

Nginx reverse proxy

Для безопасного доступа к 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

Получение SSL-сертификата

Используйте Let's Encrypt для бесплатных SSL-сертификатов:

sudo certbot --nginx -d opencode.vashdomen.com

9. Удаление OpenCode

В зависимости от метода установки, удаление OpenCode осуществляется разными способами.

Удаление Docker контейнера

# Остановка и удаление контейнера
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/pnpm/bun/yarn пакета

# Для 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

10. Выбор метода для разных сценариев

В зависимости от ваших конкретных потребностей, рекомендуются разные методы установки.

Личный проект на VDS

Для личных проектов на виртуальном выделенном сервере, где вы являетесь единственным пользователем и хотите максимум контроля над системой, рекомендуются следующие настройки. Установка осуществляется через официальный скрипт одной командой. Для автозапуска создайте systemd-сервис. Для API-доступа настройте Nginx с SSL. Для ключей используйте переменные окружения.

Командная работа

Для командной работы, где несколько разработчиков должны иметь доступ к OpenCode, рекомендуются следующие настройки. Используйте Docker для изоляции и лёгкого разворачивания. Настройте SSO-авторизацию через Nginx. Ведите логи доступа. Создайте правила доступа через systemd.

CI/CD интеграция

Для интеграции в CI/CD пайплайны, где OpenCode используется для автоматического код-ревью или генерации документации, рекомендуются следующие настройки. Используйте Docker-образ в GitHub Actions или GitLab CI. Передавайте API-ключи через secrets. Используйте одноразовые запуски для каждого pipeline.

AI-агент на 24/7

Для постоянно работающего AI-агента, который обрабатывает запросы круглосуточно, рекомендуются следующие настройки. Используйте Docker с restart policy unless-stopped. Настройте мониторинг процесса. Используйте reverse proxy с авторизацией. Ведите логи и метрики.

11. Заключение

Мы рассмотрели четыре основных метода установки OpenCode на удалённый сервер — Docker, официальный скрипт установки, менеджеры пакетов Node.js и бинарные файлы. Каждый метод имеет свои преимущества и недостатки, и выбор зависит от конкретных потребностей вашего проекта. Для начала работы и большинства случаев официальный скрипт установки остаётся самым простым и рекомендуемым вариантом. Для более гибкого управления и изоляции лучше использовать Docker. Не забудьте настроить автозапуск и мониторинг для production-использования, а также используйте переменные окружения для хранения API-ключей безопасным способом.

OpenCode — это мощный инструмент, который можно эффективно использовать на удалённом сервере для самых разных задач, от личной разработки до корпоративных AI-решений. Правильно выбранный метод установки и настройка позволят вам максимизировать эффективность этого инструмента и обеспечить его надёжную работу в любое время.

Дата: 8 февраля 2026


Дата: 8 февраля 2026