Skip to content

Commit 1e84ab5

Browse files
pRizzclaude
andcommitted
chore(docker): upgrade base image from ubuntu 25.10 to 26.04
Ubuntu 26.04 LTS (Resolute Raccoon) brings newer packages across the board. Updated all version pins to match 26.04 repos, replaced p7zip-full (removed in 26.04) with 7zip, and temporarily unpinned systemd due to a pre-release base image version mismatch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent fbee5de commit 1e84ab5

2 files changed

Lines changed: 28 additions & 25 deletions

File tree

packages/core/src/docker/Dockerfile

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
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.)
@@ -55,13 +55,13 @@
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
6767
LABEL org.opencontainers.image.title="opencode-cloud-sandbox"
@@ -74,7 +74,7 @@ LABEL org.opencontainers.image.url="https://github.com/pRizz/opencode-cloud"
7474
LABEL org.opencontainers.image.source="https://github.com/pRizz/opencode-cloud"
7575
LABEL org.opencontainers.image.vendor="pRizz"
7676
LABEL 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
8080
ENV 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
101101
RUN --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
165168
RUN --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
175178
RUN --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; \
394397
USER root
395398
RUN --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/*
399402
USER 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 \

packages/core/src/docker/README.dockerhub.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ https://github.com/pRizz/opencode-cloud (mirror: https://gitea.com/pRizz/opencod
77

88
## What is included
99

10-
- Ubuntu 25.10 (questing)
10+
- Ubuntu 26.04 LTS (resolute)
1111
- Non-root user with passwordless sudo
1212
- mise-managed runtimes (Node.js 25, Python 3.14, Go 1.25)
1313
- Rust toolchain via rustup

0 commit comments

Comments
 (0)