Add a web-based terminal accessible at /terminal, backed by per-user ephemeral Docker containers. Each user gets an isolated Ubuntu container with their drive directory mounted at /root, memory/cpu limits, and a prepared .bashrc/.profile. The terminal uses xterm.js over a WebSocket binary transport for full ANSI support. Also migrate the base Docker image from Alpine to Debian bookworm (python:3.14.0a6-bookworm), remove wkhtmltopdf dependencies, and fix the compose volume path from /media/storage/snek/molodetz.nl/drive to /media/storage/snek.molodetz.nl/drive.
11 lines
243 B
Docker
11 lines
243 B
Docker
FROM python:3.14.0a6-bookworm
|
|
RUN mkdir -p /code
|
|
WORKDIR /code
|
|
RUN apt update && apt install build-essential docker -y
|
|
COPY pyproject.toml pyproject.toml
|
|
COPY src src
|
|
RUN mkdir /drive
|
|
RUN pip install --upgrade pip
|
|
RUN pip install -e .
|
|
|