├── .gitattributes ├── .github └── workflows │ └── docker-image.yml ├── Dockerfile ├── README.md └── root └── defaults ├── autostart └── menu.xml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/workflows/docker-image.yml: -------------------------------------------------------------------------------- 1 | name: Docker Image CI 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | 9 | build: 10 | 11 | runs-on: self-hosted 12 | 13 | steps: 14 | - 15 | name: Checkout 16 | uses: actions/checkout@v3 17 | - 18 | name: Set up QEMU 19 | uses: docker/setup-qemu-action@v2 20 | - 21 | name: Set up Docker Buildx 22 | uses: docker/setup-buildx-action@v2 23 | - 24 | name: Login to Docker Hub 25 | uses: docker/login-action@v2 26 | with: 27 | username: ${{ secrets.DOCKERHUB_USERNAME }} 28 | password: ${{ secrets.DOCKERHUB_TOKEN }} 29 | - 30 | name: Build and push 31 | uses: docker/build-push-action@v4 32 | with: 33 | context: . 34 | push: true 35 | tags: pzubuntu593/docker-noi:latest,pzubuntu593/docker-noi:${{ github.ref_name }} -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # syntax=docker/dockerfile:1 2 | 3 | FROM ghcr.io/linuxserver/baseimage-kasmvnc:ubuntujammy 4 | 5 | # set version label 6 | ARG BUILD_DATE 7 | ARG VERSION 8 | ARG NOI_VERSION 9 | LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" 10 | LABEL maintainer="zimmra" 11 | 12 | # title 13 | ENV TITLE=Noi 14 | 15 | RUN \ 16 | echo "**** add icon ****" && \ 17 | curl -o \ 18 | /kclient/public/icon.png \ 19 | https://raw.githubusercontent.com/lencx/Noi/main/website/static/readme/noi.png && \ 20 | echo "**** install packages ****" && \ 21 | apt-get update && \ 22 | apt-get install -y \ 23 | python3-xdg \ 24 | libatk1.0 \ 25 | libatk-bridge2.0 \ 26 | libgtk-3-0 \ 27 | libnss3 \ 28 | libportaudio2 && \ 29 | echo "**** install noi ****" && \ 30 | if [ -z ${NOI_VERSION+x} ]; then \ 31 | NOI_VERSION=$(curl -sX GET "https://api.github.com/repos/lencx/Noi/releases/latest" \ 32 | | awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^v||'); \ 33 | fi && \ 34 | cd /tmp && \ 35 | curl -o \ 36 | /tmp/noi.app -L \ 37 | "https://github.com/lencx/Noi/releases/download/v${NOI_VERSION}/Noi_linux_${NOI_VERSION}.AppImage" && \ 38 | chmod +x /tmp/noi.app && \ 39 | ./noi.app --appimage-extract && \ 40 | mv squashfs-root /opt/noi && \ 41 | # ln -s \ 42 | # /usr/lib/x86_64-linux-gnu/libportaudio.so.2 \ 43 | # /usr/lib/x86_64-linux-gnu/libportaudio.so && \ 44 | echo "**** cleanup ****" && \ 45 | rm -rf \ 46 | /tmp/* \ 47 | /var/lib/apt/lists/* \ 48 | /var/tmp/* 49 | 50 | # add local files 51 | COPY /root / 52 | 53 | # ports and volumes 54 | EXPOSE 3000 55 | 56 | VOLUME /config -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Work-In-Progress 2 | ## Use at Your Own Risk 3 | 4 | Can be found at https://hub.docker.com/r/pzubuntu593/docker-noi 5 | 6 | Based off LSIO's implementation of [KasmVNC w/ Audacity](https://github.com/linuxserver/docker-audacity) 7 | 8 | 9 | ## Docker Compose Example 10 | ```yaml 11 | --- 12 | version: "2.1" 13 | services: 14 | freecad: 15 | image: pzubuntu593/docker-noi:latest 16 | container_name: Noi 17 | privileged: true 18 | security_opt: 19 | - seccomp:unconfined #optional 20 | environment: 21 | - PUID=1000 22 | - PGID=1000 23 | - TZ=America/New_York 24 | - TITLE=Noi 25 | volumes: 26 | - /media/docker/configs/noi:/config 27 | devices: 28 | - /dev/dri:/dev/dri 29 | ports: 30 | - 3000:3000 31 | restart: unless-stopped 32 | ``` 33 | 34 | Also can be used seamlessly with Kasm Workspaces due to using the kasm-vnc base image 35 | -------------------------------------------------------------------------------- /root/defaults/autostart: -------------------------------------------------------------------------------- 1 | /opt/noi/AppRun && \ 2 | (sleep 4 && xdotool key F11) -------------------------------------------------------------------------------- /root/defaults/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /usr/bin/xterm 5 | /opt/noi/AppRun 6 | 7 | --------------------------------------------------------------------------------