Create Dockerfile to export it as Docker Image (#52)
Some checks failed
Deploy Jekyll with GitHub Pages dependencies preinstalled / Build (github-pages-build gem) (push) Has been cancelled
Python syntax checker / build (3.10) (push) Has been cancelled
Python syntax checker / build (3.11) (push) Has been cancelled
Python syntax checker / build (3.12) (push) Has been cancelled
Python syntax checker / build (3.8) (push) Has been cancelled
Python syntax checker / build (3.9) (push) Has been cancelled
Python syntax checker / build (3.x) (push) Has been cancelled
Deploy Jekyll with GitHub Pages dependencies preinstalled / deploy (push) Has been cancelled

* Added-dockerfile-to-create-docker-image

* README-update

---------

Co-authored-by: Maria Voreakou <voreakou7@gmail.com>
This commit is contained in:
Maria Voreakou 2025-03-06 08:43:41 +01:00 committed by GitHub
parent 4b995c00dd
commit eba18ecda3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 107 additions and 0 deletions

2
.gitignore vendored
View file

@ -3,6 +3,8 @@ __pycache__/
*.py[cod] *.py[cod]
*$py.class *$py.class
.idea/*
# C extensions # C extensions
*.so *.so

54
Dockerfile Normal file
View file

@ -0,0 +1,54 @@
# Use the official Python slim image
FROM python:3.11-slim
# Install system dependencies including Tkinter, Xvfb, and X11 utilities
RUN apt update && apt install -y \
git \
tk \
tcl \
libx11-6 \
libxrender-dev \
libxext-dev \
libxinerama-dev \
libxi-dev \
libxrandr-dev \
libxcursor-dev \
libxtst-dev \
tk-dev \
xvfb \
x11-apps \
x11vnc \
fluxbox \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
COPY . .
RUN pip install --no-cache-dir \
pyyaml \
pyasn1==0.4.8 \
git+https://github.com/etingof/pysnmp.git@master#egg=pysnmp \
pyasyncore \
tkcalendar \
pyperclip \
black \
tomli \
text-console
# Set the DISPLAY environment variable for Xvfb
ENV DISPLAY=:99
COPY start.sh /start.sh
RUN chmod +x /start.sh
# Expose the VNC port
EXPOSE 5990
# Set the entrypoint to automatically run the script
ENTRYPOINT ["/start.sh"]

View file

@ -47,6 +47,33 @@ The software also includes a configurable printer dictionary, which can be easil
Note on the ink waste counter reset feature: resetting the ink waste counter is just removing a lock; not replacing the tank will reduce the print quality and make the ink spill. Note on the ink waste counter reset feature: resetting the ink waste counter is just removing a lock; not replacing the tank will reduce the print quality and make the ink spill.
## Install-2-go (macOS)
Prerequirements: Docker, TigerVNC
### 1. Install Tiger VNC Viewer
```bash
brew install tigervnc-viewer
```
### 2. Download Docker Image
```bash
docker pull mvoreakou/epson-god-mode:latest
```
### 3. App run
```bash
docker run --rm --publish 5990:5990 --env HOME=/ mvoreakou/epson-god-mode x11vnc -usepw -create
```
### 4. Open GUI
Open tiger VNC that was installed on your mac, and fill
`VNC server:` `localhost:5990`
Click `Connect` & voila!
## Installation ## Installation
Install requirements using *requirements.txt*: Install requirements using *requirements.txt*:

24
start.sh Normal file
View file

@ -0,0 +1,24 @@
#!/bin/bash
echo "Starting Xvfb virtual display..."
Xvfb :99 -screen 0 1280x800x24 &
sleep 2
echo "Creating minimal Fluxbox config..."
mkdir -p ~/.fluxbox
echo "session.screen0.toolbar.visible: false" > ~/.fluxbox/init # Hide toolbar to avoid errors
echo "Starting Fluxbox window manager..."
fluxbox -log ~/.fluxbox/fb.log & # Redirect logs to a file instead of the console
sleep 2
echo "Starting VNC server..."
x11vnc -display :99 -forever -nopw -bg -rfbport 5990 &
sleep 2
echo "Starting Tkinter application..."
exec python ui.py