Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c34cf3641b | |||
| 3a7ec45f4b | |||
| e1029bbf27 | |||
| 8c919074dd | |||
| bca403c540 |
@@ -229,6 +229,7 @@ Understanding what survives container restarts and what doesn't:
|
|||||||
| `/home/developer/.local/state/opencode` | Named volume (if configured) | ✅ Yes — Docker volume | TUI settings (theme, toggles) |
|
| `/home/developer/.local/state/opencode` | Named volume (if configured) | ✅ Yes — Docker volume | TUI settings (theme, toggles) |
|
||||||
| `/home/developer/.cache/bash` | Named volume `devbox-shell-history` | ✅ Yes — Docker volume | Bash history (`$HISTFILE`) — survives container recreate |
|
| `/home/developer/.cache/bash` | Named volume `devbox-shell-history` | ✅ Yes — Docker volume | Bash history (`$HISTFILE`) — survives container recreate |
|
||||||
| `/home/developer/.local/share/zoxide` | Named volume `devbox-zoxide` | ✅ Yes — Docker volume | Zoxide directory history (`z <fragment>` jump targets) |
|
| `/home/developer/.local/share/zoxide` | Named volume `devbox-zoxide` | ✅ Yes — Docker volume | Zoxide directory history (`z <fragment>` jump targets) |
|
||||||
|
| `/home/developer/.local/share/nvim` | Named volume `devbox-nvim-data` | ✅ Yes — Docker volume | Neovim plugins, Mason LSP installs, Lazy plugin cache |
|
||||||
| `/home/developer/.local/share/uv` | Named volume (if configured) | ✅ Yes — Docker volume | Python installs, uv tool installs |
|
| `/home/developer/.local/share/uv` | Named volume (if configured) | ✅ Yes — Docker volume | Python installs, uv tool installs |
|
||||||
| `/home/developer/.rustup` | Named volume (if configured) | ✅ Yes — Docker volume | Rust toolchains |
|
| `/home/developer/.rustup` | Named volume (if configured) | ✅ Yes — Docker volume | Rust toolchains |
|
||||||
| `/home/developer/.cargo` | Named volume (if configured) | ✅ Yes — Docker volume | Cargo binaries, registry cache |
|
| `/home/developer/.cargo` | Named volume (if configured) | ✅ Yes — Docker volume | Cargo binaries, registry cache |
|
||||||
|
|||||||
+3
-1
@@ -5,7 +5,7 @@ ARG DEBIAN_VERSION=trixie-slim
|
|||||||
FROM debian:${DEBIAN_VERSION} AS base
|
FROM debian:${DEBIAN_VERSION} AS base
|
||||||
|
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
ARG OPENCODE_VERSION=1.14.21
|
ARG OPENCODE_VERSION=1.14.22
|
||||||
|
|
||||||
LABEL maintainer="joakimp"
|
LABEL maintainer="joakimp"
|
||||||
LABEL description="Portable opencode developer container"
|
LABEL description="Portable opencode developer container"
|
||||||
@@ -42,6 +42,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
gcc \
|
gcc \
|
||||||
g++ \
|
g++ \
|
||||||
rsync \
|
rsync \
|
||||||
|
python3-pip \
|
||||||
|
python3-venv \
|
||||||
&& ln -s /usr/bin/fdfind /usr/local/bin/fd \
|
&& ln -s /usr/bin/fdfind /usr/local/bin/fd \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|||||||
@@ -549,6 +549,7 @@ Container (Debian trixie)
|
|||||||
| `/home/developer/.local/state/opencode` | Named volume `devbox-state` | ✅ Yes | TUI settings (theme, toggles) |
|
| `/home/developer/.local/state/opencode` | Named volume `devbox-state` | ✅ Yes | TUI settings (theme, toggles) |
|
||||||
| `/home/developer/.cache/bash` | Named volume `devbox-shell-history` | ✅ Yes | Bash history (`$HISTFILE`), survives container recreate |
|
| `/home/developer/.cache/bash` | Named volume `devbox-shell-history` | ✅ Yes | Bash history (`$HISTFILE`), survives container recreate |
|
||||||
| `/home/developer/.local/share/zoxide` | Named volume `devbox-zoxide` | ✅ Yes | Zoxide directory history (`z <fragment>` jump targets) |
|
| `/home/developer/.local/share/zoxide` | Named volume `devbox-zoxide` | ✅ Yes | Zoxide directory history (`z <fragment>` jump targets) |
|
||||||
|
| `/home/developer/.local/share/nvim` | Named volume `devbox-nvim-data` | ✅ Yes | Neovim plugins, Mason LSP installs, Lazy plugin cache |
|
||||||
| `/home/developer/.local/share/uv` | Named volume `devbox-uv` (if configured) | ✅ Yes | Python installs, uv tool installs |
|
| `/home/developer/.local/share/uv` | Named volume `devbox-uv` (if configured) | ✅ Yes | Python installs, uv tool installs |
|
||||||
| `/home/developer/.rustup` | Named volume `devbox-rustup` (if configured) | ✅ Yes | Rust toolchains |
|
| `/home/developer/.rustup` | Named volume `devbox-rustup` (if configured) | ✅ Yes | Rust toolchains |
|
||||||
| `/home/developer/.cargo` | Named volume `devbox-cargo` (if configured) | ✅ Yes | Cargo binaries, registry cache |
|
| `/home/developer/.cargo` | Named volume `devbox-cargo` (if configured) | ✅ Yes | Cargo binaries, registry cache |
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ services:
|
|||||||
# Persist zoxide directory history ('z <fragment>' to jump)
|
# Persist zoxide directory history ('z <fragment>' to jump)
|
||||||
- devbox-zoxide:/home/developer/.local/share/zoxide
|
- devbox-zoxide:/home/developer/.local/share/zoxide
|
||||||
|
|
||||||
|
# Persist neovim plugin/Mason data (avoids re-downloading on every recreate)
|
||||||
|
- devbox-nvim-data:/home/developer/.local/share/nvim
|
||||||
|
|
||||||
# Persist uv data (Python installs)
|
# Persist uv data (Python installs)
|
||||||
- devbox-uv:/home/developer/.local/share/uv
|
- devbox-uv:/home/developer/.local/share/uv
|
||||||
|
|
||||||
@@ -65,4 +68,5 @@ volumes:
|
|||||||
devbox-data:
|
devbox-data:
|
||||||
devbox-shell-history:
|
devbox-shell-history:
|
||||||
devbox-zoxide:
|
devbox-zoxide:
|
||||||
|
devbox-nvim-data:
|
||||||
devbox-uv:
|
devbox-uv:
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ services:
|
|||||||
# Optional: persist VS Code server and extensions across container recreations
|
# Optional: persist VS Code server and extensions across container recreations
|
||||||
# - devbox-vscode:/home/developer/.vscode-server
|
# - devbox-vscode:/home/developer/.vscode-server
|
||||||
|
|
||||||
|
# Persist neovim plugin/Mason data (avoids re-downloading on every recreate)
|
||||||
|
- devbox-nvim-data:/home/developer/.local/share/nvim
|
||||||
|
|
||||||
# Optional: AWS credentials/SSO config (not read-only — SSO writes token cache)
|
# Optional: AWS credentials/SSO config (not read-only — SSO writes token cache)
|
||||||
# - ~/.aws:/home/developer/.aws
|
# - ~/.aws:/home/developer/.aws
|
||||||
|
|
||||||
@@ -97,6 +100,7 @@ volumes:
|
|||||||
devbox-state:
|
devbox-state:
|
||||||
devbox-shell-history:
|
devbox-shell-history:
|
||||||
devbox-zoxide:
|
devbox-zoxide:
|
||||||
|
devbox-nvim-data:
|
||||||
devbox-uv:
|
devbox-uv:
|
||||||
# devbox-rustup:
|
# devbox-rustup:
|
||||||
# devbox-cargo:
|
# devbox-cargo:
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ for dir in \
|
|||||||
/home/"$USER_NAME"/.local/state/opencode \
|
/home/"$USER_NAME"/.local/state/opencode \
|
||||||
/home/"$USER_NAME"/.local/share/uv \
|
/home/"$USER_NAME"/.local/share/uv \
|
||||||
/home/"$USER_NAME"/.local/share/zoxide \
|
/home/"$USER_NAME"/.local/share/zoxide \
|
||||||
|
/home/"$USER_NAME"/.local/share/nvim \
|
||||||
/home/"$USER_NAME"/.cache/bash \
|
/home/"$USER_NAME"/.cache/bash \
|
||||||
/home/"$USER_NAME"/.rustup \
|
/home/"$USER_NAME"/.rustup \
|
||||||
/home/"$USER_NAME"/.cargo \
|
/home/"$USER_NAME"/.cargo \
|
||||||
|
|||||||
@@ -3,6 +3,15 @@
|
|||||||
# To override, bind-mount your host's ~/.bash_aliases over this file
|
# To override, bind-mount your host's ~/.bash_aliases over this file
|
||||||
# via docker-compose.yml.
|
# via docker-compose.yml.
|
||||||
|
|
||||||
|
# ── Host-shared shell customizations (devbox-shell bridge) ───────────
|
||||||
|
# If the host bind-mounts a directory at ~/.config/devbox-shell/ (the
|
||||||
|
# recommended pattern for sharing aliases/PATH/utilities between host
|
||||||
|
# and container), source the bash_aliases file from it. This survives
|
||||||
|
# --force-recreate because it's baked into the image's skel, not the
|
||||||
|
# container's writable layer. Hosts that don't use this pattern are
|
||||||
|
# unaffected — the test silently skips if the file doesn't exist.
|
||||||
|
[ -r "$HOME/.config/devbox-shell/bash_aliases" ] && . "$HOME/.config/devbox-shell/bash_aliases"
|
||||||
|
|
||||||
# ── History persistence and quality ──────────────────────────────────
|
# ── History persistence and quality ──────────────────────────────────
|
||||||
# The named volume devbox-shell-history is mounted at ~/.cache/bash
|
# The named volume devbox-shell-history is mounted at ~/.cache/bash
|
||||||
# so history survives container recreation.
|
# so history survives container recreation.
|
||||||
|
|||||||
Reference in New Issue
Block a user