Skip to content

About

A docker container to run OpenCode for embedded work

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Here’s a minimal Dockerfile based on Ubuntu that installs OpenCode using the official installer:

FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive

# Install dependencies
RUN apt-get update && apt-get install -y \
    curl \
    ca-certificates \
    git \
    bash \
    && rm -rf /var/lib/apt/lists/*

# Install OpenCode
RUN curl -fsSL https://opencode.ai/install | bash

# Add OpenCode to PATH
ENV PATH="/root/.opencode/bin:${PATH}"

# Default shell
CMD ["/bin/bash"]

Documentation

Build

General Ubuntu Image

User Image

docker build -f Dockerfiles/dockerfile_ubuntu_user -t opencode-user .

Root Image

docker build -f Dockerfiles/dockerfile_ubuntu_root -t opencode-root .

Node 24 Ubuntu Image

User Image

docker build -f Dockerfiles/dockerfile_ubuntu_node_user -t opencode-node-user .

Max Image (Node + Android Build Environment)

User Image

docker build -f Dockerfiles/dockerfile_ubuntu_max_user -t opencode-user-max .

Run

Run as User

General

docker run -it \
    -v "$HOME/.config/opencode:$HOME/.config/opencode" \
    -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --user "$(id --user):$(id --group)" \
    -v "$(pwd):$(pwd)" --workdir "$(pwd)" \
    opencode-user

For CubeIDE and J-Link Embedded

docker run -it \
    -v "$HOME/.config/opencode:$HOME/.config/opencode" \
    -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --user "$(id --user):$(id --group)" \
    -v /opt/st/stm32cubeide_2.0.0/:/opt/st/stm32cubeide_2.0.0/ \
    -v /opt/SEGGER/:/opt/SEGGER/ \
    -v /dev/bus/usb:/dev/bus/usb \
    --privileged \
    -v "$(pwd):$(pwd)" --workdir "$(pwd)" \
    opencode-user

For Android Development (opencode-user-max)

docker run -it \
    -v "$HOME/.config/opencode:$HOME/.config/opencode" \
    -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro --user "$(id --user):$(id --group)" \
    -v "$HOME/Android/Sdk:/opt/android-sdk" \
    -v "$(pwd):$(pwd)" --workdir "$(pwd)" \
    opencode-user-max

Adjust $HOME/Android/Sdk to match your host Android SDK path.

Run as Root

docker run -it \
    -v "$HOME/.config/opencode:/root/.config/opencode" \
    -v "$(pwd):/root/workdir" --workdir /root/workdir \
    opencode-root

Verify installation inside the container:

opencode --version

The official install method uses:

curl -fsSL https://opencode.ai/install | bash

and installs the binary into ~/.opencode/bin. (computingforgeeks.com)

About

A docker container to run OpenCode for embedded work

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors