Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/desktop-lite:1": {}
}
}
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,37 @@ docker run \

Note that PNG renderings currently still needs the X display. That limitation can go away soon due to the built-in EGL support. So this needs `--init` and run via `xvfb-run`.

## Web-based GUI (Selkies)

For running OpenSCAD with a full graphical interface accessible via web browser, use the Selkies-based image.

![OpenSCAD GUI via Selkies](demo-screenshots/06-csg-rotated-view.png)

### Building

```bash
cd openscad/trixie-selkies
docker build --build-arg JOBS=$(nproc) -t openscad-selkies:trixie .
```

### Running

```bash
docker run -d \
--name openscad-gui \
-p 3000:3000 \
-v $(pwd):/openscad \
-v openscad-config:/config \
openscad-selkies:trixie
```

Then open http://localhost:3000 in your web browser to access OpenSCAD.

To stop the container:
```bash
docker stop openscad-gui && docker rm openscad-gui
```

## CI support, for internal use

* `openscad/appimage-*`
Expand Down
Binary file added demo-screenshots/06-csg-rotated-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions openscad/trixie-selkies/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# syntax=docker/dockerfile:1

# Use the official openscad image as source for binaries
FROM docker.io/openscad/openscad:latest AS openscad-source

# Runtime stage with Selkies GUI
FROM ghcr.io/linuxserver/baseimage-selkies:debiantrixie

# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="OpenSCAD version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="docker-openscad"

# title
ENV TITLE=OpenSCAD

ENV DEBIAN_FRONTEND=noninteractive

# Copy OpenSCAD binary and resources from the official image
COPY --from=openscad-source /usr/local/ /usr/local/

RUN \
echo "**** add icon ****" && \
curl -o \
/usr/share/selkies/www/icon.png \
https://raw.githubusercontent.com/openscad/openscad/master/icons/openscad-256.png && \
echo "**** install runtime dependencies ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
libcairo2 libdouble-conversion3 libxml2 lib3mf1 libzip5 libharfbuzz0b \
libboost-thread1.83.0 libboost-program-options1.83.0 libboost-filesystem1.83.0 \
libboost-regex1.83.0 libmpfr6 libqscintilla2-qt5-15 \
libqt5multimedia5 libqt5concurrent5 libqt5svg5 libtbb12 libglu1-mesa && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*

# add local files
COPY /root /

WORKDIR /openscad

# ports and volumes
EXPOSE 3000

VOLUME /config
1 change: 1 addition & 0 deletions openscad/trixie-selkies/root/defaults/autostart
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
openscad