5 Commits

Author SHA1 Message Date
9aaa0f1c9f updating deps
Some checks failed
Build and push image / deploy (push) Has been cancelled
2026-01-15 09:56:39 +00:00
65dbe8e18d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	.pre-commit-config.yaml
#	.python-version
#	Dockerfile
#	build.ps1
#	comic/migrations/0008_auto_20160331_1140.py
#	entrypoint.sh
#	frontend/package-lock.json
#	pyproject.toml
#	requirements.txt
#	uv.lock
2026-01-14 17:01:52 +00:00
08a3c74a31 updating deps 2026-01-14 16:59:53 +00:00
f7c698cd64 updating deps 2024-05-03 15:45:47 +01:00
9e514354c8 updating deps 2024-05-03 15:45:36 +01:00
10 changed files with 576 additions and 480 deletions

View File

@@ -7,10 +7,10 @@
!static !static
!manage.py !manage.py
!pyproject.toml !pyproject.toml
!uv.lock
!setup.cfg !setup.cfg
!entrypoint.sh !entrypoint.sh
!entrypoint-cron.sh !entrypoint-cron.sh
!requirements.txt
!package-lock.json !package-lock.json
!package.json !package.json
!frontend !frontend

View File

@@ -2,16 +2,9 @@
# See https://pre-commit.com/hooks.html for more hooks # See https://pre-commit.com/hooks.html for more hooks
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0 rev: v4.5.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
- id: end-of-file-fixer - id: end-of-file-fixer
- id: check-yaml - id: check-yaml
- id: check-added-large-files - id: check-added-large-files
- repo: https://github.com/pycqa/flake8
rev: "5.0.4"
hooks:
- id: flake8
additional_dependencies: [
'flake8-annotations==2.9.1',
]

View File

@@ -1,6 +1,6 @@
[MAIN] [MAIN]
max-line-length=120 max-line-length=120
ignore-paths=.*/migrations ignore-paths=comic/migrations
load-plugins = pylint_django load-plugins = pylint_django
disable = missing-class-docstring,missing-function-docstring,abstract-method,missing-module-docstring,imported-auth-user,missing-docstring disable = missing-class-docstring,missing-function-docstring,abstract-method,missing-module-docstring,imported-auth-user,missing-docstring
good-names=pk good-names=pk

View File

@@ -1 +1 @@
3.13 3.14

View File

@@ -1,6 +1,5 @@
FROM python:3.13-slim-bookworm FROM python:3.14-slim-trixie
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
ENV PYTHONFAULTHANDLER=1 \ ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \ PYTHONHASHSEED=random \
PYTHONUNBUFFERED=1 \ PYTHONUNBUFFERED=1 \
@@ -8,6 +7,7 @@ ENV PYTHONFAULTHANDLER=1 \
PIP_DEFAULT_TIMEOUT=100 \ PIP_DEFAULT_TIMEOUT=100 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1 PIP_NO_CACHE_DIR=1
ENV PATH="${PATH}:/root/.local/bin"
RUN mkdir /src RUN mkdir /src
RUN mkdir /static RUN mkdir /static
@@ -15,27 +15,21 @@ RUN mkdir /static
WORKDIR /src WORKDIR /src
COPY . /src/
COPY pyproject.toml /src
COPY uv.lock /src
RUN echo "deb http://ftp.uk.debian.org/debian bookworm non-free non-free-firmware" > /etc/apt/sources.list.d/non-free.list
RUN echo "deb http://ftp.uk.debian.org/debian trixie non-free non-free-firmware" > /etc/apt/sources.list.d/non-free.list
RUN apt update \ RUN apt update \
&& apt install -y software-properties-common \ && apt install -y npm cron unrar libmariadb-dev libpq-dev pkg-config swig curl
&& apt-add-repository non-free \
&& apt update \ COPY . /src/
&& apt install -y npm cron unrar libmariadb-dev libpq-dev pkg-config \
&& uv sync --frozen \ RUN uv sync --frozen --no-dev
&& cd frontend \
RUN cd frontend \
&& npm install \ && npm install \
&& npm run build \ && npm run build \
&& apt remove -y npm software-properties-common pkg-config swig \ && rm -r node_modules
&& rm -r node_modules \
&& apt -y auto-remove \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
RUN cat /src/cbreader/crontab >> /etc/cron.daily/cbreader RUN cat /src/cbreader/crontab >> /etc/cron.daily/cbreader

View File

@@ -1,3 +1,3 @@
$version=uvx --from=toml-cli toml get --toml-path=pyproject.toml project.version $version=uv version --short
docker build . -t ajurna/cbwebreader -t ajurna/cbwebreader:$version docker build . -t ajurna/cbwebreader -t ajurna/cbwebreader:$version
docker push ajurna/cbwebreader --all-tags docker push ajurna/cbwebreader --all-tags

View File

@@ -34,7 +34,7 @@ services:
command: /bin/bash entrypoint-cron.sh command: /bin/bash entrypoint-cron.sh
database: database:
image: postgres:11.4-alpine image: postgres:18-alpine
expose: expose:
- 5432 - 5432
volumes: volumes:
@@ -61,4 +61,4 @@ services:
- cbwebreader - cbwebreader
volumes: volumes:
static_files: static_files:
media_files: media_files:

View File

@@ -13,8 +13,8 @@ services:
expose: expose:
- 8000 - 8000
volumes: volumes:
- ${COMIC_BOOK_VOLUME}:/comics # - ${COMIC_BOOK_VOLUME}:/comics
# - c:/comics:/comics - c:/comics:/comics
- static_files:/static - static_files:/static
- media_files:/media - media_files:/media
- .env:/src/.env - .env:/src/.env

View File

@@ -1,46 +1,51 @@
[project] [project]
name = "cbwebreader" name = "cbwebreader"
version = "1.1.3" version = "1.1.11"
description = "CBR/Z Web Reader" description = "CBR/Z Web Reader"
readme = "README.md" readme = "README.md"
requires-python = ">=3.13" requires-python = ">=3.14"
authors = ["ajurna <ajurna@gmail.com>"]
license = "Creative Commons Attribution-ShareAlike 4.0 International License"
dependencies = [ dependencies = [
"dj-database-url>=2.3.0", "dj-database-url>=3.1.0",
"django>=5.1.7", "django>=6.0.1",
"django-boost>=2.1", "django-boost>=2.1",
"django-bootstrap4>=25.1", "django-bootstrap4>=26.1",
"django-cors-headers>=4.7.0", "django-cors-headers>=4.9.0",
"django-csp>=3.8", "django-csp>=4.0",
"django-extensions>=3.2.3", "django-extensions>=4.1",
"django-filter>=25.1", "django-filter>=25.2",
"django-imagekit>=5.0.0", "django-imagekit>=6.0.0",
"django-permissions-policy>=4.25.0", "django-permissions-policy>=4.28.0",
"django-silk>=5.3.2", "django-silk>=5.4.3",
"django-sri>=0.8.0", "django-sri>=0.8.0",
"django-webpack-loader>=3.1.1", "django-webpack-loader>=3.2.3",
"djangorestframework>=3.16.0", "djangorestframework>=3.16.1",
"djangorestframework-simplejwt>=5.5.0", "djangorestframework-simplejwt>=5.5.1",
"drf-yasg>=1.21.10", "drf-extensions>=0.7.1",
"flake8>=7.2.0", "drf-yasg>=1.21.11",
"flake8-annotations>=3.1.1",
"gunicorn>=23.0.0", "gunicorn>=23.0.0",
"loguru>=0.7.3", "loguru>=0.7.3",
"mysqlclient>=2.2.7", "mysqlclient>=2.2.7",
"pillow>=11.1.0", "pillow>=12.1.0",
"psycopg2>=2.9.10", "psycopg2-binary>=2.9.11",
"pymupdf>=1.25.5", "pymupdf>=1.26.7",
"python-dotenv>=1.1.0", "python-dotenv>=1.2.1",
"rarfile>=4.2", "rarfile>=4.2",
"setuptools>=80.9.0",
] ]
[dependency-groups] [dependency-groups]
dev = [ dev = [
"coverage>=7.8.0", "coverage>=7.13.1",
"ipython>=9.0.2", "flake8>=7.3.0",
"mypy>=1.15.0", "flake8-annotations>=3.2.0",
"pre-commit>=4.2.0", "ipython>=9.9.0",
"pylint>=3.3.6", "mypy>=1.19.1",
"pylint-django>=2.6.1", "pre-commit>=4.5.1",
"pyopenssl>=25.0.0", "pylint>=4.0.4",
"werkzeug>=3.1.3", "pylint-django>=2.7.0",
"pyopenssl>=25.3.0",
"werkzeug>=3.1.5",
] ]

936
uv.lock generated

File diff suppressed because it is too large Load Diff