1.2 KiB
1.2 KiB
python-uv (minimal uv-based dev workspace)
One template, intended for a single workspace per user (work + home projects coexist in ~/work/ and ~/home/; uv gives each project its own venv).
What's in the workspace
- Base:
ghcr.io/astral-sh/uv:bookworm-slim - Python: latest stable via
uv python install(tracks Astral's release channel) - code-server (browser VS Code)
- git, curl, nano, openssh-client
- Intel Arc renderD128 mounted at
/dev/dri/renderD128
Persistent storage
$HOME is bind-mounted from /mnt/pve/unas/services/coder/<user>/<workspace>/ on UNAS.
Workspace stop/rebuild is safe — files persist.
Per-project pattern
cd ~/work/myproj
uv init # if new
uv add fastapi uvicorn # adds to pyproject + locks
uv run python main.py
Push template to Coder
From a host with the Coder CLI configured:
coder templates push python-uv -d /opt/stacks/coder/templates/python-uv
Then in the Coder UI: Workspaces → Create Workspace → python-uv → name it dev.
Optional: dotfiles
On workspace creation you can pass a Git URL (e.g. https://git.nuclide.systems/fkrebs/dotfiles.git). Coder clones it and runs install.sh.