mirror of
https://github.com/ajurna/cbwebreader.git
synced 2026-02-02 06:15:57 +00:00
Compare commits
5 Commits
e5086ec653
...
9aaa0f1c9f
| Author | SHA1 | Date | |
|---|---|---|---|
| 9aaa0f1c9f | |||
| 65dbe8e18d | |||
| 08a3c74a31 | |||
| f7c698cd64 | |||
| 9e514354c8 |
@@ -7,10 +7,10 @@
|
||||
!static
|
||||
!manage.py
|
||||
!pyproject.toml
|
||||
!uv.lock
|
||||
!setup.cfg
|
||||
!entrypoint.sh
|
||||
!entrypoint-cron.sh
|
||||
!requirements.txt
|
||||
!package-lock.json
|
||||
!package.json
|
||||
!frontend
|
||||
|
||||
@@ -2,16 +2,9 @@
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.3.0
|
||||
rev: v4.5.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
- id: check-yaml
|
||||
- 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',
|
||||
]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[MAIN]
|
||||
max-line-length=120
|
||||
ignore-paths=.*/migrations
|
||||
ignore-paths=comic/migrations
|
||||
load-plugins = pylint_django
|
||||
disable = missing-class-docstring,missing-function-docstring,abstract-method,missing-module-docstring,imported-auth-user,missing-docstring
|
||||
good-names=pk
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.13
|
||||
3.14
|
||||
|
||||
30
Dockerfile
30
Dockerfile
@@ -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/
|
||||
|
||||
ENV PYTHONFAULTHANDLER=1 \
|
||||
PYTHONHASHSEED=random \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
@@ -8,6 +7,7 @@ ENV PYTHONFAULTHANDLER=1 \
|
||||
PIP_DEFAULT_TIMEOUT=100 \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PIP_NO_CACHE_DIR=1
|
||||
ENV PATH="${PATH}:/root/.local/bin"
|
||||
|
||||
RUN mkdir /src
|
||||
RUN mkdir /static
|
||||
@@ -15,27 +15,21 @@ RUN mkdir /static
|
||||
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 \
|
||||
&& apt install -y software-properties-common \
|
||||
&& apt-add-repository non-free \
|
||||
&& apt update \
|
||||
&& apt install -y npm cron unrar libmariadb-dev libpq-dev pkg-config \
|
||||
&& uv sync --frozen \
|
||||
&& cd frontend \
|
||||
&& apt install -y npm cron unrar libmariadb-dev libpq-dev pkg-config swig curl
|
||||
|
||||
COPY . /src/
|
||||
|
||||
RUN uv sync --frozen --no-dev
|
||||
|
||||
RUN cd frontend \
|
||||
&& npm install \
|
||||
&& npm run build \
|
||||
&& apt remove -y npm software-properties-common pkg-config swig \
|
||||
&& rm -r node_modules \
|
||||
&& apt -y auto-remove \
|
||||
&& apt clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
&& rm -r node_modules
|
||||
|
||||
|
||||
RUN cat /src/cbreader/crontab >> /etc/cron.daily/cbreader
|
||||
|
||||
|
||||
@@ -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 push ajurna/cbwebreader --all-tags
|
||||
|
||||
@@ -34,7 +34,7 @@ services:
|
||||
command: /bin/bash entrypoint-cron.sh
|
||||
|
||||
database:
|
||||
image: postgres:11.4-alpine
|
||||
image: postgres:18-alpine
|
||||
expose:
|
||||
- 5432
|
||||
volumes:
|
||||
@@ -61,4 +61,4 @@ services:
|
||||
- cbwebreader
|
||||
volumes:
|
||||
static_files:
|
||||
media_files:
|
||||
media_files:
|
||||
|
||||
@@ -13,8 +13,8 @@ services:
|
||||
expose:
|
||||
- 8000
|
||||
volumes:
|
||||
- ${COMIC_BOOK_VOLUME}:/comics
|
||||
# - c:/comics:/comics
|
||||
# - ${COMIC_BOOK_VOLUME}:/comics
|
||||
- c:/comics:/comics
|
||||
- static_files:/static
|
||||
- media_files:/media
|
||||
- .env:/src/.env
|
||||
|
||||
@@ -1,46 +1,51 @@
|
||||
[project]
|
||||
name = "cbwebreader"
|
||||
version = "1.1.3"
|
||||
version = "1.1.11"
|
||||
description = "CBR/Z Web Reader"
|
||||
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 = [
|
||||
"dj-database-url>=2.3.0",
|
||||
"django>=5.1.7",
|
||||
"dj-database-url>=3.1.0",
|
||||
"django>=6.0.1",
|
||||
"django-boost>=2.1",
|
||||
"django-bootstrap4>=25.1",
|
||||
"django-cors-headers>=4.7.0",
|
||||
"django-csp>=3.8",
|
||||
"django-extensions>=3.2.3",
|
||||
"django-filter>=25.1",
|
||||
"django-imagekit>=5.0.0",
|
||||
"django-permissions-policy>=4.25.0",
|
||||
"django-silk>=5.3.2",
|
||||
"django-bootstrap4>=26.1",
|
||||
"django-cors-headers>=4.9.0",
|
||||
"django-csp>=4.0",
|
||||
"django-extensions>=4.1",
|
||||
"django-filter>=25.2",
|
||||
"django-imagekit>=6.0.0",
|
||||
"django-permissions-policy>=4.28.0",
|
||||
"django-silk>=5.4.3",
|
||||
"django-sri>=0.8.0",
|
||||
"django-webpack-loader>=3.1.1",
|
||||
"djangorestframework>=3.16.0",
|
||||
"djangorestframework-simplejwt>=5.5.0",
|
||||
"drf-yasg>=1.21.10",
|
||||
"flake8>=7.2.0",
|
||||
"flake8-annotations>=3.1.1",
|
||||
"django-webpack-loader>=3.2.3",
|
||||
"djangorestframework>=3.16.1",
|
||||
"djangorestframework-simplejwt>=5.5.1",
|
||||
"drf-extensions>=0.7.1",
|
||||
"drf-yasg>=1.21.11",
|
||||
"gunicorn>=23.0.0",
|
||||
"loguru>=0.7.3",
|
||||
"mysqlclient>=2.2.7",
|
||||
"pillow>=11.1.0",
|
||||
"psycopg2>=2.9.10",
|
||||
"pymupdf>=1.25.5",
|
||||
"python-dotenv>=1.1.0",
|
||||
"pillow>=12.1.0",
|
||||
"psycopg2-binary>=2.9.11",
|
||||
"pymupdf>=1.26.7",
|
||||
"python-dotenv>=1.2.1",
|
||||
"rarfile>=4.2",
|
||||
"setuptools>=80.9.0",
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"coverage>=7.8.0",
|
||||
"ipython>=9.0.2",
|
||||
"mypy>=1.15.0",
|
||||
"pre-commit>=4.2.0",
|
||||
"pylint>=3.3.6",
|
||||
"pylint-django>=2.6.1",
|
||||
"pyopenssl>=25.0.0",
|
||||
"werkzeug>=3.1.3",
|
||||
"coverage>=7.13.1",
|
||||
"flake8>=7.3.0",
|
||||
"flake8-annotations>=3.2.0",
|
||||
"ipython>=9.9.0",
|
||||
"mypy>=1.19.1",
|
||||
"pre-commit>=4.5.1",
|
||||
"pylint>=4.0.4",
|
||||
"pylint-django>=2.7.0",
|
||||
"pyopenssl>=25.3.0",
|
||||
"werkzeug>=3.1.5",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user