43 lines
1003 B
Docker
43 lines
1003 B
Docker
FROM ubuntu:24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV DISPLAY=:1
|
|
|
|
# Install Scribus, VNC, noVNC, and a lightweight window manager
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
scribus \
|
|
scribus-data \
|
|
tigervnc-standalone-server \
|
|
novnc \
|
|
websockify \
|
|
openbox \
|
|
xterm \
|
|
fonts-liberation \
|
|
fonts-dejavu \
|
|
fonts-noto \
|
|
fonts-noto-color-emoji \
|
|
dbus-x11 \
|
|
x11-utils \
|
|
procps \
|
|
curl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create app user
|
|
RUN useradd -m -s /bin/bash designer
|
|
|
|
# Create directories
|
|
RUN mkdir -p /app/templates /app/output /app/rswag-designs \
|
|
&& chown -R designer:designer /app
|
|
|
|
# Copy startup script
|
|
COPY studio/start.sh /start.sh
|
|
COPY studio/openbox-rc.xml /home/designer/.config/openbox/rc.xml
|
|
RUN chmod +x /start.sh && chown -R designer:designer /home/designer
|
|
|
|
EXPOSE 6080
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|
CMD curl -sf http://localhost:6080/ || exit 1
|
|
|
|
CMD ["/start.sh"]
|