summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dockerignore2
-rw-r--r--Dockerfile45
-rw-r--r--README.md18
-rw-r--r--docker-compose.yml17
-rw-r--r--docker-entrypoint.sh11
5 files changed, 1 insertions, 92 deletions
diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 6955232..0000000
--- a/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-README.md
-LICENSE \ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index cb2b9df..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,45 +0,0 @@
-FROM python:3.12-slim
-
-# enable contrib (fonts-ibm-plex) and non-free (fonts-ubuntu) components
-RUN sed -i 's/^Components: main$/Components: main contrib non-free/' /etc/apt/sources.list.d/debian.sources
-
-# install fonts, fontconfig (for fc-list), libmagic1 (for python-magic), and tini
-RUN apt-get update && apt-get install -y --no-install-recommends \
- tini \
- fontconfig \
- libmagic1 \
- fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-dejavu-mono fonts-liberation fonts-liberation2 fonts-opensymbol fonts-urw-base35 fonts-noto-color-emoji fonts-noto-core fonts-noto-ui-core fonts-noto-extra fonts-noto-mono fonts-noto-cjk fonts-noto-cjk-extra fonts-roboto fonts-roboto-slab fonts-lato fonts-open-sans fonts-quicksand fonts-comfortaa fonts-cantarell fonts-beteckna fonts-ubuntu fonts-linuxlibertine fonts-ebgaramond fonts-ebgaramond-extra fonts-junicode fonts-stix fonts-texgyre fonts-sil-gentium fonts-sil-gentium-basic fonts-hack fonts-firacode fonts-cascadia-code fonts-inconsolata fonts-fantasque-sans fonts-terminus fonts-droid-fallback fonts-symbola fonts-ancient-scripts fonts-mathjax fonts-croscore fonts-nanum fonts-nanum-extra fonts-wqy-microhei fonts-wqy-zenhei fonts-arphic-ukai fonts-arphic-uming fonts-ipafont-gothic fonts-ipafont-mincho fonts-indic fonts-lohit-deva fonts-lohit-beng-assamese fonts-lohit-beng-bengali fonts-lohit-gujr fonts-lohit-guru fonts-lohit-knda fonts-lohit-mlym fonts-lohit-orya fonts-lohit-taml fonts-lohit-taml-classical fonts-lohit-telu fonts-smc fonts-arabeyes fonts-hosny-amiri fonts-sil-abyssinica fonts-beng fonts-thai-tlwg fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-bodoni-classic fonts-gfs-didot fonts-gfs-gazis fonts-gfs-neohellenic fonts-gfs-olga fonts-gfs-porson fonts-gfs-solomos fonts-gfs-theokritos fonts-crosextra-carlito fonts-crosextra-caladea fonts-cabin fonts-vollkorn fonts-yanone-kaffeesatz fonts-ibm-plex fonts-freefont-ttf fonts-mplus fonts-monofur fonts-courier-prime fonts-anonymous-pro fonts-hermit \
- && rm -rf /var/lib/apt/lists/*
-
-# install Roboto Mono manually (not packaged in Debian, kj_sh604's fave font)
-RUN apt-get update && apt-get install -y --no-install-recommends curl \
- && mkdir -p /usr/local/share/fonts/roboto-mono \
- && curl -fsSL "https://cdn.jsdelivr.net/gh/googlefonts/RobotoMono@main/fonts/ttf/RobotoMono-Regular.ttf" \
- -o "/usr/local/share/fonts/roboto-mono/RobotoMono-Regular.ttf" \
- && fc-cache -fv \
- && rm -rf /var/lib/apt/lists/*
-
-WORKDIR /app
-
-# install python dependencies
-COPY src/requirements.txt .
-RUN pip install --no-cache-dir -r requirements.txt
-
-# copy entrypoint script
-COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
-RUN chmod +x /usr/local/bin/docker-entrypoint.sh
-
-# copy application
-COPY src/ /app/
-
-# stash a seed copy of uploads so the entrypoint can populate a fresh volume
-RUN mkdir -p /opt/uploads-seed \
- && cp -r /app/uploads/. /opt/uploads-seed/ \
- && chown -R www-data:www-data /app/uploads /opt/uploads-seed
-
-EXPOSE 3000
-
-# tini as PID 1 ensures SIGTERM is properly forwarded to gunicorn,
-# preventing the 'permission denied' error on docker stop
-ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"]
-CMD ["gunicorn", "--bind", "0.0.0.0:3000", "--workers", "2", "--user", "www-data", "--group", "www-data", "app:app"] \ No newline at end of file
diff --git a/README.md b/README.md
index f8883d0..652f65f 100644
--- a/README.md
+++ b/README.md
@@ -21,22 +21,7 @@ using Python and vanilla JavaScript.
- **export** - download as `.sent` file for local sent, or export `.pdf` for portability
## usage
-### docker compose (recommended)
-
-```sh
-docker compose up -d
-```
-
-Open [http://localhost:3000](http://localhost:3000).
-
-### docker build
-
-```sh
-docker build -t sent-web .
-docker run -d -p 3000:3000 --init --name sent-web sent-web
-```
-
-### local python run (without docker)
+### local python run
Requirements:
@@ -90,7 +75,6 @@ with multiple lines
- **Gunicorn** - production WSGI server
- **fontconfig** - `fc-list` for font enumeration
- **python-magic + libmagic** - content-based upload type checks
-- **Docker** - containerized with fonts pre-installed
## license
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index d5bcae1..0000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: sent-web
-
-services:
- sent-web:
- build: .
- image: sent-web:latest
- container_name: sent-web
- ports:
- - "3000:3000"
- volumes:
- - uploads:/app/uploads
- restart: unless-stopped
- init: true
- stop_grace_period: 10s
-
-volumes:
- uploads: \ No newline at end of file
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
deleted file mode 100644
index 6cbaccb..0000000
--- a/docker-entrypoint.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-set -e
-
-if [ -z "$(ls -A /app/uploads 2>/dev/null)" ] && \
- [ -d /opt/uploads-seed ]; then
- cp -r /opt/uploads-seed/. /app/uploads/
-fi
-
-chown -R www-data:www-data /app/uploads
-
-exec "$@" \ No newline at end of file