# Bump the container base image and fix what it breaks

A newer base image, with the build failures and missing system packages it surfaces resolved.

Category: Dependency and runtime upgrades
Source: https://letsship.ai/use-cases/bump-the-container-base-image
Published: 2026-08-25

## Goal

Move the container to a newer base image and fix the build and runtime breakage it causes.

## Acceptance criteria

- The image builds from a clean cache
- A smoke test runs against the new image and passes
- System packages the new base dropped are reinstated explicitly
- The image tag is pinned rather than floating

## What lands as proof

A clean build log and a smoke test run against the built image, not against a local environment.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Move the image to {base}

Description: Move the container to a newer base image and fix the build and runtime breakage it causes.

Acceptance criteria:
- The image builds from a clean cache
- A smoke test runs against the new image and passes
- System packages the new base dropped are reinstated explicitly
- The image tag is pinned rather than floating

Before you create the issue, read the Dockerfile in this repository, find the current base image and the newer tag worth moving to, and replace {base}.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: move the container to a newer base image and fix the build and runtime breakage it causes. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means image builds, smoke test passes against it, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
