2 Commits

Author SHA1 Message Date
dependabot[bot]
960277325c Merge f083936aad into 53e75ae660 2023-08-28 15:16:02 +01:00
dependabot[bot]
f083936aad Bump certifi from 2022.12.7 to 2023.7.22
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.12.7 to 2023.7.22.
- [Commits](https://github.com/certifi/python-certifi/compare/2022.12.07...2023.07.22)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-25 21:11:56 +00:00
11 changed files with 2460 additions and 2469 deletions

View File

@@ -23,14 +23,18 @@ jobs:
run: apt update && apt install -y python3-pip run: apt update && apt install -y python3-pip
- uses: abatilo/actions-poetry@v2 - uses: abatilo/actions-poetry@v2
with: with:
poetry-version: "1.6.1" poetry-version: "1.5.1"
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
- uses: actions/checkout@v3 - uses: actions/checkout@v3
# Extract version from Poetry - name: Set FOO
- name: Get version run: echo "FOO=${{ poetry -V }}" >> $GITEA_ENV
run: echo "POETRY_VERSION=$(poetry version --short)" >> $GITHUB_ENV - name: Test
- name: Build and push Docker image run: echo $FOO
run: | - name: Test 2
docker build -t ajurna/cbwebreader:latest -t ajurna/cbwebreader:${{ env.POETRY_VERSION }} . run: poetry -V
docker push ajurna/cbwebreader:${{ env.POETRY_VERSION }} - name: Build and push
docker push ajurna/cbwebreader:latest uses: docker/build-push-action@v4
with:
context: .
push: false
tags: ajurna/cbwebreader:${{poetry version -s}}

View File

@@ -9,7 +9,7 @@ repos:
- id: check-yaml - id: check-yaml
- id: check-added-large-files - id: check-added-large-files
- repo: https://github.com/python-poetry/poetry - repo: https://github.com/python-poetry/poetry
rev: '1.6.1' # add version here rev: '1.2.1' # add version here
hooks: hooks:
- id: poetry-check - id: poetry-check
- id: poetry-export - id: poetry-export

View File

@@ -1,4 +1,4 @@
FROM python:3.12-slim-bookworm FROM python:3.10-slim-bullseye
ENV PYTHONFAULTHANDLER=1 \ ENV PYTHONFAULTHANDLER=1 \
PYTHONHASHSEED=random \ PYTHONHASHSEED=random \
@@ -15,14 +15,18 @@ WORKDIR /src
COPY . /src/ COPY . /src/
RUN apt update \ RUN apt update \
&& apt install -y npm cron unrar-free libmariadb-dev libpq-dev pkg-config swig \ && apt install -y software-properties-common \
&& apt-add-repository non-free \
&& apt update \
&& apt install -y npm cron unrar libmariadb-dev libpq-dev \
&& pip install --upgrade pip \ && pip install --upgrade pip \
&& pip install -r requirements.txt \ && pip install -r requirements.txt \
&& cd frontend \ && cd frontend \
&& npm install \ && npm install \
&& npm run build \ && npm run build \
&& apt remove -y npm software-properties-common pkg-config swig \ && apt remove -y npm software-properties-common \
&& rm -r node_modules \ && rm -r node_modules \
&& apt -y auto-remove \ && apt -y auto-remove \
&& apt clean \ && apt clean \

View File

@@ -1,4 +1,4 @@
poetry export --without-hashes -f requirements.txt --output requirements.txt poetry export --without-hashes -f requirements.txt --output requirements.txt
$version=poetry version -s $version=poetry version -s
docker build . -t ajurna/cbwebreader -t ajurna/cbwebreader:$version docker build . --no-cache -t ajurna/cbwebreader -t ajurna/cbwebreader:$version
docker push ajurna/cbwebreader --all-tags docker push ajurna/cbwebreader --all-tags

View File

@@ -191,13 +191,10 @@ BOOTSTRAP4 = {
}, },
} }
CSP_DEFAULT_SRC = ("'none'",) CSP_DEFAULT_SRC = ("'none'",)
CSP_STYLE_SRC = ( CSP_STYLE_SRC = ("'self'", "'sha256-MBVp6JYxbC/wICelYC6eULCRpgi9kGezXXSaq/TS2+I='")
"'self'",
"'unsafe-inline'"
)
CSP_IMG_SRC = ("'self'", "data:") CSP_IMG_SRC = ("'self'", "data:")
CSP_FONT_SRC = ("'self'",) CSP_FONT_SRC = ("'self'",)
CSP_SCRIPT_SRC = ("'self'", "'sha256-IYBrMxCTJ62EwagLTIRncEIpWwTmoXcXkqv3KZm/Wik='") CSP_SCRIPT_SRC = ("'self'",)
CSP_CONNECT_SRC = ("'self'",) CSP_CONNECT_SRC = ("'self'",)
CSP_INCLUDE_NONCE_IN = ['script-src'] CSP_INCLUDE_NONCE_IN = ['script-src']
CSP_SCRIPT_SRC_ATTR = ("'self'",) # "'unsafe-inline'") CSP_SCRIPT_SRC_ATTR = ("'self'",) # "'unsafe-inline'")

View File

@@ -13,7 +13,7 @@ services:
expose: expose:
- 8000 - 8000
volumes: volumes:
- ${COMIC_BOOK_VOLUME}:/comics - ${COMIC_BOOK_VOLUME}:${COMIC_BOOK_VOLUME}
# - c:/comics:/comics # - c:/comics:/comics
- static_files:/static - static_files:/static
- media_files:/media - media_files:/media
@@ -35,7 +35,7 @@ services:
# command: /bin/bash entrypoint-cron.sh # command: /bin/bash entrypoint-cron.sh
database: database:
image: postgres:16-alpine image: postgres:14-alpine
expose: expose:
- 5432 - 5432
volumes: volumes:

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "frontend", "name": "frontend",
"version": "0.1.1", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "webpack-dev-server --config webpack.dev.js", "serve": "webpack-dev-server --config webpack.dev.js",
@@ -11,14 +11,14 @@
"@fortawesome/fontawesome-svg-core": "^6.1.2", "@fortawesome/fontawesome-svg-core": "^6.1.2",
"@fortawesome/free-solid-svg-icons": "^6.1.2", "@fortawesome/free-solid-svg-icons": "^6.1.2",
"@fortawesome/vue-fontawesome": "^3.0.1", "@fortawesome/vue-fontawesome": "^3.0.1",
"axios": "^1.6.0", "axios": "^0.27.2",
"bootstrap": "^5.2.0", "bootstrap": "^5.2.0",
"hammerjs": "^2.0.8", "hammerjs": "^2.0.8",
"jwt-decode": "^3.1.2", "jwt-decode": "^3.1.2",
"pdfvuer": "^2.0.1", "pdfvuer": "^2.0.1",
"reveal.js": "^4.3.1", "reveal.js": "^4.3.1",
"timeago.js": "^4.0.2", "timeago.js": "^4.0.2",
"vue": "^3.2.26", "vue": "^3.2.13",
"vue-router": "^4.0.3", "vue-router": "^4.0.3",
"vue-toast-notification": "3.0", "vue-toast-notification": "3.0",
"vuejs-paginate-next": "^1.0.2", "vuejs-paginate-next": "^1.0.2",
@@ -37,12 +37,12 @@
"eslint-plugin-vue": "^8.0.3", "eslint-plugin-vue": "^8.0.3",
"jshint": "^2.13.5", "jshint": "^2.13.5",
"mini-css-extract-plugin": "^2.6.1", "mini-css-extract-plugin": "^2.6.1",
"style-loader": "^3.3.1",
"terser-webpack-plugin": "^5.3.6", "terser-webpack-plugin": "^5.3.6",
"vue-loader": "^17.0.0",
"webpack-bundle-analyzer": "^4.6.1", "webpack-bundle-analyzer": "^4.6.1",
"webpack-cli": "^4.10.0",
"webpack-bundle-tracker": "^1.6.0", "webpack-bundle-tracker": "^1.6.0",
"webpack-cli": "^4.10.0" "style-loader": "^3.3.1",
"vue-loader": "^17.0.0"
}, },
"eslintConfig": { "eslintConfig": {
"root": true, "root": true,

1671
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,36 +3,36 @@ line_length = 119
[tool.poetry] [tool.poetry]
name = "cbwebreader" name = "cbwebreader"
version = "1.1.7" version = "1.1.5"
description = "CBR/Z Web Reader" description = "CBR/Z Web Reader"
authors = ["ajurna <ajurna@gmail.com>"] authors = ["ajurna <ajurna@gmail.com>"]
license = "Creative Commons Attribution-ShareAlike 4.0 International License" license = "Creative Commons Attribution-ShareAlike 4.0 International License"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.12" python = "^3.10"
Django = "^4.1" Django = "^4.1"
gunicorn = "^21.2.0" gunicorn = "^20.0.4"
dj-database-url = "^2.1.0" dj-database-url = "^1.3.0"
python-dotenv = "^1.0.0" python-dotenv = "^1.0.0"
loguru = "^0.7.0" loguru = "^0.7.0"
django-silk = "^5.0.0" django-silk = "^5.0.0"
mysqlclient = "^2.0.1" mysqlclient = "^2.0.1"
psycopg2-binary = "^2.9.6" psycopg2 = "^2.9.6"
rarfile = "^4.0" rarfile = "^4.0"
django-extensions = "^3.2.1" django-extensions = "^3.2.1"
Pillow = "^10.0.1" Pillow = "^9.3.0"
django-imagekit = "^5.0.0" django-imagekit = "^4.0.2"
PyMuPDF = "~1.20.2" PyMuPDF = "~1.20.2"
django-bootstrap4 = "^23.1" django-bootstrap4 = "^23.1"
django-csp = "^3.7" django-csp = "^3.7"
django-boost = "^2.1" django-boost = "^2.1"
django-sri = "^0.7.0" django-sri = "^0.5.0"
django-permissions-policy = "^4.15.0" django-permissions-policy = "^4.15.0"
djangorestframework = "^3.13.1" djangorestframework = "^3.13.1"
django-filter = "^23.1" django-filter = "^23.1"
django-cors-headers = "^4.2.0" django-cors-headers = "^3.14.0"
djangorestframework-simplejwt = "^5.2.0" djangorestframework-simplejwt = "^5.2.0"
django-webpack-loader = "^2.0.1" django-webpack-loader = "^1.6.0"
drf-yasg = "^1.20.0" drf-yasg = "^1.20.0"
drf-extensions = "^0.7.1" drf-extensions = "^0.7.1"

View File

@@ -1,46 +1,60 @@
asgiref==3.7.2 ; python_version >= "3.12" and python_version < "4.0" asgiref==3.6.0 ; python_version >= "3.10" and python_version < "4.0"
autopep8==2.0.4 ; python_version >= "3.12" and python_version < "4.0" autopep8==2.0.2 ; python_version >= "3.10" and python_version < "4.0"
beautifulsoup4==4.12.2 ; python_version >= "3.12" and python_version < "4.0" beautifulsoup4==4.12.2 ; python_version >= "3.10" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32" certifi==2022.12.7 ; python_version >= "3.10" and python_version < "4"
dj-database-url==2.1.0 ; python_version >= "3.12" and python_version < "4.0" charset-normalizer==3.1.0 ; python_version >= "3.10" and python_version < "4"
django-appconf==1.0.5 ; python_version >= "3.12" and python_version < "4.0" colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
django-boost==2.1 ; python_version >= "3.12" and python_version < "4.0" coreapi==2.3.3 ; python_version >= "3.10" and python_version < "4.0"
django-bootstrap4==23.2 ; python_version >= "3.12" and python_version < "4.0" coreschema==0.0.4 ; python_version >= "3.10" and python_version < "4.0"
django-cors-headers==4.2.0 ; python_version >= "3.12" and python_version < "4.0" dj-database-url==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
django-csp==3.7 ; python_version >= "3.12" and python_version < "4.0" django-appconf==1.0.5 ; python_version >= "3.10" and python_version < "4.0"
django-extensions==3.2.3 ; python_version >= "3.12" and python_version < "4.0" django-boost==2.1 ; python_version >= "3.10" and python_version < "4.0"
django-filter==23.3 ; python_version >= "3.12" and python_version < "4.0" django-bootstrap4==23.1 ; python_version >= "3.10" and python_version < "4.0"
django-imagekit==5.0.0 ; python_version >= "3.12" and python_version < "4.0" django-cors-headers==3.14.0 ; python_version >= "3.10" and python_version < "4.0"
django-permissions-policy==4.17.0 ; python_version >= "3.12" and python_version < "4.0" django-csp==3.7 ; python_version >= "3.10" and python_version < "4.0"
django-silk==5.0.4 ; python_version >= "3.12" and python_version < "4.0" django-extensions==3.2.1 ; python_version >= "3.10" and python_version < "4.0"
django-sri==0.7.0 ; python_version >= "3.12" and python_version < "4.0" django-filter==23.1 ; python_version >= "3.10" and python_version < "4.0"
django-webpack-loader==2.0.1 ; python_version >= "3.12" and python_version < "4.0" django-imagekit==4.1.0 ; python_version >= "3.10" and python_version < "4.0"
django==4.2.5 ; python_version >= "3.12" and python_version < "4.0" django-permissions-policy==4.15.0 ; python_version >= "3.10" and python_version < "4.0"
djangorestframework-simplejwt==5.3.0 ; python_version >= "3.12" and python_version < "4.0" django-silk==5.0.3 ; python_version >= "3.10" and python_version < "4.0"
djangorestframework==3.14.0 ; python_version >= "3.12" and python_version < "4.0" django-sri==0.5.0 ; python_version >= "3.10" and python_version < "4.0"
drf-extensions==0.7.1 ; python_version >= "3.12" and python_version < "4.0" django-webpack-loader==1.8.1 ; python_version >= "3.10" and python_version < "4.0"
drf-yasg==1.21.7 ; python_version >= "3.12" and python_version < "4.0" django==4.2 ; python_version >= "3.10" and python_version < "4.0"
gprof2dot==2022.7.29 ; python_version >= "3.12" and python_version < "4.0" djangorestframework-simplejwt==5.2.2 ; python_version >= "3.10" and python_version < "4.0"
gunicorn==21.2.0 ; python_version >= "3.12" and python_version < "4.0" djangorestframework==3.14.0 ; python_version >= "3.10" and python_version < "4.0"
inflection==0.5.1 ; python_version >= "3.12" and python_version < "4.0" drf-extensions==0.7.1 ; python_version >= "3.10" and python_version < "4.0"
loguru==0.7.2 ; python_version >= "3.12" and python_version < "4.0" drf-yasg==1.21.5 ; python_version >= "3.10" and python_version < "4.0"
mysqlclient==2.2.0 ; python_version >= "3.12" and python_version < "4.0" gprof2dot==2022.7.29 ; python_version >= "3.10" and python_version < "4.0"
packaging==23.2 ; python_version >= "3.12" and python_version < "4.0" gunicorn==20.1.0 ; python_version >= "3.10" and python_version < "4.0"
pilkit==3.0 ; python_version >= "3.12" and python_version < "4.0" idna==3.4 ; python_version >= "3.10" and python_version < "4"
pillow==10.0.1 ; python_version >= "3.12" and python_version < "4.0" inflection==0.5.1 ; python_version >= "3.10" and python_version < "4.0"
psycopg2-binary==2.9.9 ; python_version >= "3.12" and python_version < "4.0" itypes==1.2.0 ; python_version >= "3.10" and python_version < "4.0"
pycodestyle==2.11.0 ; python_version >= "3.12" and python_version < "4.0" jinja2==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
pyjwt==2.8.0 ; python_version >= "3.12" and python_version < "4.0" loguru==0.7.0 ; python_version >= "3.10" and python_version < "4.0"
pymupdf==1.20.2 ; python_version >= "3.12" and python_version < "4.0" markupsafe==2.1.2 ; python_version >= "3.10" and python_version < "4.0"
python-dotenv==1.0.0 ; python_version >= "3.12" and python_version < "4.0" mysqlclient==2.1.1 ; python_version >= "3.10" and python_version < "4.0"
pytz==2023.3.post1 ; python_version >= "3.12" and python_version < "4.0" packaging==23.1 ; python_version >= "3.10" and python_version < "4.0"
pyyaml==6.0.1 ; python_version >= "3.12" and python_version < "4.0" pilkit==2.0 ; python_version >= "3.10" and python_version < "4.0"
rarfile==4.1 ; python_version >= "3.12" and python_version < "4.0" pillow==9.5.0 ; python_version >= "3.10" and python_version < "4.0"
soupsieve==2.5 ; python_version >= "3.12" and python_version < "4.0" psycopg2==2.9.6 ; python_version >= "3.10" and python_version < "4.0"
sqlparse==0.4.4 ; python_version >= "3.12" and python_version < "4.0" pycodestyle==2.10.0 ; python_version >= "3.10" and python_version < "4.0"
typing-extensions==4.8.0 ; python_version >= "3.12" and python_version < "4.0" pyjwt==2.6.0 ; python_version >= "3.10" and python_version < "4.0"
tzdata==2023.3 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32" pymupdf==1.20.2 ; python_version >= "3.10" and python_version < "4.0"
ua-parser==0.18.0 ; python_version >= "3.12" and python_version < "4.0" python-dotenv==1.0.0 ; python_version >= "3.10" and python_version < "4.0"
uritemplate==4.1.1 ; python_version >= "3.12" and python_version < "4.0" pytz==2023.3 ; python_version >= "3.10" and python_version < "4.0"
user-agents==2.2.0 ; python_version >= "3.12" and python_version < "4.0" rarfile==4.0 ; python_version >= "3.10" and python_version < "4.0"
win32-setctime==1.1.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32" requests==2.28.2 ; python_version >= "3.10" and python_version < "4"
ruamel-yaml-clib==0.2.7 ; platform_python_implementation == "CPython" and python_version < "3.11" and python_version >= "3.10"
ruamel-yaml==0.17.21 ; python_version >= "3.10" and python_version < "4.0"
setuptools==67.6.1 ; python_version >= "3.10" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
soupsieve==2.4.1 ; python_version >= "3.10" and python_version < "4.0"
sqlparse==0.4.3 ; python_version >= "3.10" and python_version < "4.0"
tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11"
typing-extensions==4.5.0 ; python_version >= "3.10" and python_version < "4.0"
tzdata==2023.3 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
ua-parser==0.16.1 ; python_version >= "3.10" and python_version < "4.0"
uritemplate==4.1.1 ; python_version >= "3.10" and python_version < "4.0"
urllib3==1.26.15 ; python_version >= "3.10" and python_version < "4"
user-agents==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
win32-setctime==1.1.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"