[PR #135] [MERGED] feat(deploy): Proxmox Wolf deployment on the LXC2Docker substrate #134

Closed
opened 2026-10-15 12:52:16 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/LXC2Docker/pull/135
Author: @JBailes
Created: 7/5/2026
Status: ✅ Merged
Merged: 7/5/2026
Merged by: @JBailes

Base: main ← Head: feat/proxmox-wolf-deploy


📝 Commits (2)

  • b7ec27d feat(deploy): Proxmox Wolf deployment on the LXC2Docker substrate
  • 9c67d5a fix(wolf): bundle the config bootstrap so Wolf actually starts

📊 Changes

11 files changed (+1010 additions, -0 deletions)

View changed files

➕ .github/workflows/wolf-proxmox-image.yml (+44 -0)
➕ deploy/proxmox/wolf/.env.example (+32 -0)
➕ deploy/proxmox/wolf/85-wolf-virtual-inputs.rules (+14 -0)
➕ deploy/proxmox/wolf/Dockerfile (+57 -0)
➕ deploy/proxmox/wolf/README.md (+90 -0)
➕ deploy/proxmox/wolf/config/default-config.toml (+586 -0)
➕ deploy/proxmox/wolf/docker-compose.nvidia.yml (+22 -0)
➕ deploy/proxmox/wolf/docker-compose.yml (+71 -0)
➕ deploy/proxmox/wolf/startup-app.sh (+54 -0)
➕ deploy/proxmox/wolf/wolf-den-entrypoint.sh (+12 -0)
➕ deploy/proxmox/wolf/wolf-den-launch.sh (+28 -0)

📄 Description

What

Brings the production SmoothNAS Wolf plugin design to Proxmox, using LXC2Docker as the container substrate. New deploy/proxmox/wolf/ recipe.

Architecture (host-level, mirroring RakuenSoftware/smoothnas-plugin-wolf):

  • docker-lxc-daemon runs on the PVE host and serves the Docker socket.
  • Wolf runs as one CT with that socket bind-mounted in.
  • Every session Wolf launches (virtual desktop / app / game) becomes a sibling Proxmox CT (gow.pve=true) via the same host daemon — not nested.

The wolf-runtime + gpu-* plugin profiles map directly onto docker-run options LXC2Docker already translates:

SmoothNAS plugin Here
wolf-runtime socket / devices / caps -v docker.sock, devices:, cap_add:, device_cgroup_rules:
gpu-nvidia docker-compose.nvidia.yml (NVIDIA_VISIBLE_DEVICES → CDI)
gpu-intel / gpu-amd base compose (/dev/dri)
tier-bound state / identity runtime vol /etc/wolf, ${WOLF_RUNTIME_DIR} identity mount
bundled Wolf Den :8080 Dockerfile (Wolf + Wolf Den wrapper entrypoint)
hostExpose ports gow.lan static IP on the CT
(new for Proxmox) gow.pve=true → sessions are Proxmox CTs

Contents

docker-compose.yml, docker-compose.nvidia.yml, Dockerfile, wolf-den-entrypoint.sh, wolf-den-launch.sh, .env.example, 85-wolf-virtual-inputs.rules, README.md, and a workflow_dispatch image-build workflow.

Status

Draft — not yet validated on live hardware. Needs a PVE host with a GPU to confirm the CDI GPU path and the Docker-API options Wolf passes when creating session CTs. YAML + shell all lint clean.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/LXC2Docker/pull/135 **Author:** [@JBailes](https://github.com/JBailes) **Created:** 7/5/2026 **Status:** ✅ Merged **Merged:** 7/5/2026 **Merged by:** [@JBailes](https://github.com/JBailes) **Base:** `main` ← **Head:** `feat/proxmox-wolf-deploy` --- ### 📝 Commits (2) - [`b7ec27d`](https://github.com/games-on-whales/LXC2Docker/commit/b7ec27d0061dedb4f649c02f30c32bd6b4fe8c69) feat(deploy): Proxmox Wolf deployment on the LXC2Docker substrate - [`9c67d5a`](https://github.com/games-on-whales/LXC2Docker/commit/9c67d5a7f407d1ba396838c7a37069d75e70c35f) fix(wolf): bundle the config bootstrap so Wolf actually starts ### 📊 Changes **11 files changed** (+1010 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/wolf-proxmox-image.yml` (+44 -0) ➕ `deploy/proxmox/wolf/.env.example` (+32 -0) ➕ `deploy/proxmox/wolf/85-wolf-virtual-inputs.rules` (+14 -0) ➕ `deploy/proxmox/wolf/Dockerfile` (+57 -0) ➕ `deploy/proxmox/wolf/README.md` (+90 -0) ➕ `deploy/proxmox/wolf/config/default-config.toml` (+586 -0) ➕ `deploy/proxmox/wolf/docker-compose.nvidia.yml` (+22 -0) ➕ `deploy/proxmox/wolf/docker-compose.yml` (+71 -0) ➕ `deploy/proxmox/wolf/startup-app.sh` (+54 -0) ➕ `deploy/proxmox/wolf/wolf-den-entrypoint.sh` (+12 -0) ➕ `deploy/proxmox/wolf/wolf-den-launch.sh` (+28 -0) </details> ### 📄 Description ## What Brings the production **SmoothNAS Wolf plugin** design to Proxmox, using LXC2Docker as the container substrate. New `deploy/proxmox/wolf/` recipe. **Architecture** (host-level, mirroring `RakuenSoftware/smoothnas-plugin-wolf`): - `docker-lxc-daemon` runs on the PVE host and serves the Docker socket. - Wolf runs as one CT with that socket bind-mounted in. - Every session Wolf launches (virtual desktop / app / game) becomes a **sibling Proxmox CT** (`gow.pve=true`) via the same host daemon — **not nested**. The `wolf-runtime` + `gpu-*` plugin profiles map directly onto docker-run options LXC2Docker already translates: | SmoothNAS plugin | Here | | --- | --- | | `wolf-runtime` socket / devices / caps | `-v docker.sock`, `devices:`, `cap_add:`, `device_cgroup_rules:` | | `gpu-nvidia` | `docker-compose.nvidia.yml` (`NVIDIA_VISIBLE_DEVICES` → CDI) | | `gpu-intel` / `gpu-amd` | base compose (`/dev/dri`) | | tier-bound `state` / identity runtime vol | `/etc/wolf`, `${WOLF_RUNTIME_DIR}` identity mount | | bundled Wolf Den `:8080` | `Dockerfile` (Wolf + Wolf Den wrapper entrypoint) | | `hostExpose` ports | `gow.lan` static IP on the CT | | _(new for Proxmox)_ | `gow.pve=true` → sessions are Proxmox CTs | ## Contents `docker-compose.yml`, `docker-compose.nvidia.yml`, `Dockerfile`, `wolf-den-entrypoint.sh`, `wolf-den-launch.sh`, `.env.example`, `85-wolf-virtual-inputs.rules`, `README.md`, and a `workflow_dispatch` image-build workflow. ## Status **Draft — not yet validated on live hardware.** Needs a PVE host with a GPU to confirm the CDI GPU path and the Docker-API options Wolf passes when creating session CTs. YAML + shell all lint clean. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:52:16 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/LXC2Docker#134
No description provided.