init: Coder compose + templates + act-runner
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# 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
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
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`.
|
||||
Reference in New Issue
Block a user