3333# A comprehensive development environment for AI-assisted coding with opencode.
3434#
3535# Features:
36- # - Ubuntu 25.10 (questing ) base
36+ # - Ubuntu 26.04 LTS (resolute ) base
3737# - Non-root user with passwordless sudo
3838# - Multiple languages via mise (Node.js, Python, Rust, Go)
3939# - Modern CLI tools (ripgrep, eza, fzf, lazygit, etc.)
5555# - Self-managing installers (mise, rustup, etc.) trusted to handle versions
5656#
5757# To check for updates: just check-updates
58- # Last version audit: 2026-02-03
58+ # Last version audit: 2026-02-11
5959# -----------------------------------------------------------------------------
6060
6161# -----------------------------------------------------------------------------
6262# Stage 1: Base
6363# -----------------------------------------------------------------------------
64- FROM ubuntu:25.10 AS base
64+ FROM ubuntu:26.04 AS base
6565
6666# OCI Labels for image metadata
6767LABEL org.opencontainers.image.title="opencode-cloud-sandbox"
@@ -74,7 +74,7 @@ LABEL org.opencontainers.image.url="https://github.com/pRizz/opencode-cloud"
7474LABEL org.opencontainers.image.source="https://github.com/pRizz/opencode-cloud"
7575LABEL org.opencontainers.image.vendor="pRizz"
7676LABEL org.opencontainers.image.licenses="MIT"
77- LABEL org.opencontainers.image.base.name="ubuntu:25.10 "
77+ LABEL org.opencontainers.image.base.name="ubuntu:26.04 "
7878
7979# Environment configuration
8080ENV DEBIAN_FRONTEND=noninteractive
@@ -96,7 +96,7 @@ ARG OPENCODER_GID=1000
9696# -----------------------------------------------------------------------------
9797# Install core system packages in logical groups for better caching
9898
99- # Group 1: Core utilities and build tools (2026-02-03 )
99+ # Group 1: Core utilities and build tools (2026-02-11 )
100100# Use BuildKit cache mount for APT package lists and cache
101101RUN --mount=type=cache,target=/var/lib/apt/lists \
102102 --mount=type=cache,target=/var/cache/apt \
@@ -105,31 +105,33 @@ RUN --mount=type=cache,target=/var/lib/apt/lists \
105105 tini=0.19.* \
106106 dumb-init=1.2.* \
107107 # systemd for Cockpit support
108- systemd=257.* \
109- systemd-sysv=257.* \
108+ # UNPINNED: systemd - 26.04 base image ships libsystemd0 257 while repo has 259;
109+ # version pin fails during the implicit upgrade. Re-pin after 26.04 GA release.
110+ systemd \
111+ systemd-sysv \
110112 dbus=1.16.* \
111113 # Shell and terminal
112- tmux=3.5a -* \
114+ tmux=3.6a -* \
113115 # Editors
114116 vim=2:9.1.* \
115- neovim=0.10 .* \
116- nano=8.4- * \
117+ neovim=0.11 .* \
118+ nano=8.7. * \
117119 # Build essentials
118120 build-essential=12.* \
119121 pkg-config=1.8.* \
120- cmake=3.31 .* \
122+ cmake=4.1 .* \
121123 # Version control
122124 git=1:2.51.* \
123- git-lfs=3.6 .* \
125+ git-lfs=3.7 .* \
124126 # Core utilities
125- curl=8.14 .* \
127+ curl=8.18 .* \
126128 wget=1.25.* \
127129 # UNPINNED: ca-certificates - security-critical root certs, needs auto-updates
128130 ca-certificates \
129131 # UNPINNED: gnupg - key management security, needs auto-updates
130132 gnupg \
131133 lsb-release=12.* \
132- software-properties-common=0.114 * \
134+ software-properties-common=0.119 * \
133135 sudo=1.9.* \
134136 # UNPINNED: openssh-client - security-critical, needs auto-updates
135137 openssh-client \
@@ -138,18 +140,19 @@ RUN --mount=type=cache,target=/var/lib/apt/lists \
138140 procps=2:4.0.* \
139141 less=668-* \
140142 file=1:5.46-* \
141- tree=2.2 .* \
143+ tree=2.3 .* \
142144 # JSON/YAML processing
143145 jq=1.8.* \
144146 # Network tools
145- netcat-openbsd=1.229 -* \
146- iputils-ping=3:20240905 -* \
147+ netcat-openbsd=1.234 -* \
148+ iputils-ping=3:20250605 -* \
147149 bind9-dnsutils=1:9.20.* \
148150 # Compression
149151 zip=3.0-* \
150152 unzip=6.0-* \
151153 xz-utils=5.8.* \
152- p7zip-full=16.02* \
154+ # p7zip-full was removed in 26.04; replaced by 7zip (upstream 7-Zip)
155+ 7zip=25.* \
153156 && rm -rf /var/lib/apt/lists/*
154157
155158# Mask unnecessary systemd services for container environment
@@ -160,17 +163,17 @@ RUN systemctl mask \
160163 systemd-tmpfiles-setup.service \
161164 systemd-remount-fs.service
162165
163- # Group 2: Database clients (2026-02-03 )
166+ # Group 2: Database clients (2026-02-11 )
164167# Use BuildKit cache mount for APT package lists and cache
165168RUN --mount=type=cache,target=/var/lib/apt/lists \
166169 --mount=type=cache,target=/var/cache/apt \
167170 apt-get update && apt-get install -y --no-install-recommends \
168171 sqlite3=3.46.* \
169- postgresql-client=17 +* \
172+ postgresql-client=18 +* \
170173 default-mysql-client=1.1.* \
171174 && rm -rf /var/lib/apt/lists/*
172175
173- # Group 3: Development libraries for compiling tools (2026-02-03 )
176+ # Group 3: Development libraries for compiling tools (2026-02-11 )
174177# Use BuildKit cache mount for APT package lists and cache
175178RUN --mount=type=cache,target=/var/lib/apt/lists \
176179 --mount=type=cache,target=/var/cache/apt \
@@ -183,7 +186,7 @@ RUN --mount=type=cache,target=/var/lib/apt/lists \
183186 libbz2-dev=1.0.* \
184187 libreadline-dev=8.3-* \
185188 libsqlite3-dev=3.46.* \
186- libncurses-dev=6.5 +* \
189+ libncurses-dev=6.6 +* \
187190 libpam0g-dev=1.7.* \
188191 liblzma-dev=5.8.* \
189192 && rm -rf /var/lib/apt/lists/*
@@ -394,7 +397,7 @@ RUN set -eux; \
394397USER root
395398RUN --mount=type=cache,target=/var/lib/apt/lists \
396399 --mount=type=cache,target=/var/cache/apt \
397- apt-get update && apt-get install -y --no-install-recommends btop=1.3 .* \
400+ apt-get update && apt-get install -y --no-install-recommends btop=1.4 .* \
398401 && rm -rf /var/lib/apt/lists/*
399402USER opencoder
400403
@@ -416,7 +419,7 @@ USER opencoder
416419# Cockpit Web Console (2026-01-22) - temporarily disabled
417420# -----------------------------------------------------------------------------
418421# Cockpit provides web-based administration for the container
419- # Ubuntu questing has cockpit 346 in main repos
422+ # Ubuntu resolute has cockpit in main repos
420423# Use BuildKit cache mount for APT package lists and cache
421424# USER root
422425# RUN --mount=type=cache,target=/var/lib/apt/lists \
0 commit comments