Add devbox image Dockerfiles and build scripts, split from homelab-komodo
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
FROM coder-devbox-flutter:latest AS base-default
|
||||
|
||||
USER root
|
||||
|
||||
# Same XFCE4 + TigerVNC + noVNC stack as devbox/vnc, layered on top of the
|
||||
# already-built Flutter image instead of base-config directly — reuses the
|
||||
# Flutter/fvm layer's build cache entirely rather than reinstalling it.
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
xfce4 xfce4-terminal dbus-x11 \
|
||||
tigervnc-standalone-server tigervnc-common \
|
||||
novnc websockify \
|
||||
fonts-dejavu-core \
|
||||
x11vnc \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# x11vnc is installed only for its `storepasswd` tool — see devbox/vnc's
|
||||
# Dockerfile for why (no vncpasswd equivalent in this Ubuntu package split).
|
||||
# x11vnc itself is never run.
|
||||
|
||||
# Flutter's own Linux desktop build requirements (per Flutter's official
|
||||
# docs) — needed so `flutter run -d linux` / `flutter build linux` actually
|
||||
# work inside this workspace, with the VNC desktop providing a real display
|
||||
# for the resulting GUI app to run against instead of Xvfb-style headless
|
||||
# testing.
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Lives outside /home/coder — see vnc-startup.sh header comment.
|
||||
COPY ./vnc-startup.sh /usr/local/bin/vnc-startup.sh
|
||||
RUN chmod +x /usr/local/bin/vnc-startup.sh
|
||||
|
||||
USER coder
|
||||
|
||||
RUN flutter config --enable-linux-desktop
|
||||
Reference in New Issue
Block a user