Compare commits
5
Commits
e453fa5559
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26c6e7771b | ||
|
|
7cca8cd232 | ||
|
|
128f34c997 | ||
|
|
66eed73c0e | ||
|
|
5707282513 |
+41
-4
@@ -1,8 +1,43 @@
|
||||
FROM recoll
|
||||
FROM debian:trixie-slim
|
||||
|
||||
RUN apt-get -y install breeze-icon-theme python3-venv && apt-get clean
|
||||
# install important dependencies
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
antiword \
|
||||
aspell \
|
||||
aspell-en \
|
||||
git \
|
||||
libxml2 \
|
||||
libimage-exiftool-perl \
|
||||
net-tools \
|
||||
poppler-utils \
|
||||
python3 \
|
||||
python3-chm \
|
||||
python3-libxml2 \
|
||||
python3-lxml \
|
||||
python3-mutagen \
|
||||
python3-pip \
|
||||
unrtf \
|
||||
unzip \
|
||||
vim
|
||||
|
||||
ARG SQUIRREL_VERSION=0.4.0
|
||||
# install recollcmd from recolls programmers website
|
||||
COPY recoll.gpg /etc/apt/trusted.gpg.d/recoll.gpg
|
||||
RUN apt-get install --reinstall -y ca-certificates
|
||||
RUN apt-get update
|
||||
RUN echo deb http://www.lesbonscomptes.com/recoll/debian/ buster main > \
|
||||
/etc/apt/sources.list.d/recoll.list
|
||||
RUN echo deb-src http://www.lesbonscomptes.com/recoll/debian/ buster main >> \
|
||||
/etc/apt/sources.list.d/recoll.list
|
||||
RUN apt-get install -y --no-install-recommends recollcmd python3-recoll
|
||||
RUN apt-get autoremove
|
||||
|
||||
RUN apt-get -y install breeze-icon-theme python3-venv
|
||||
|
||||
# clean up
|
||||
RUN apt-get clean
|
||||
|
||||
ARG SQUIRREL_VERSION=0.4.1
|
||||
|
||||
COPY dist/squirrel-${SQUIRREL_VERSION}-py3-none-any.whl squirrel-${SQUIRREL_VERSION}-py3-none-any.whl
|
||||
|
||||
@@ -11,8 +46,10 @@ RUN /opt/squirrel/bin/pip install squirrel-${SQUIRREL_VERSION}-py3-none-any.whl
|
||||
RUN /opt/squirrel/bin/pip install gunicorn
|
||||
COPY squirrel-cmd /opt/squirrel/bin/squirrel
|
||||
|
||||
ENV PATH /opt/squirrel/bin:${PATH}
|
||||
|
||||
ENV SQUIRREL_CONFIG /etc/squirrel/config.json
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
ENTRYPOINT ["/opt/squirrel/bin/squirrel"]
|
||||
CMD ["/opt/squirrel/bin/squirrel"]
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "squirrel"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
description = "Find your nuts"
|
||||
authors = [
|
||||
{name = "trisf"}
|
||||
@@ -13,8 +13,8 @@ dependencies = [
|
||||
"dotenv (>=0.9.9,<0.10.0)"
|
||||
]
|
||||
|
||||
#[project.scripts]
|
||||
#"squirrel" = "squirrel.server:daemon"
|
||||
[project.scripts]
|
||||
"sqindex" = "squirrel.cmd:reindex"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
||||
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=ZCmr
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
+2
-8
@@ -10,6 +10,7 @@ from flask import (
|
||||
)
|
||||
from werkzeug.security import check_password_hash, generate_password_hash
|
||||
from dataclasses import dataclass
|
||||
from squirrel.conf import settings
|
||||
import functools
|
||||
|
||||
bp = Blueprint("auth", __name__, url_prefix="/auth")
|
||||
@@ -22,14 +23,7 @@ class User:
|
||||
repos: list[str] | None = None
|
||||
|
||||
|
||||
users: dict[str, dict] = {
|
||||
"guest": {"password": "x", "name": "Guest"},
|
||||
"tris": {
|
||||
"password": "scrypt:32768:8:1$4srkVJ5rxSAvZp8s$6a9b1bd9199ceb07a8e650897d6ca0c229330773a77728f83c110525c0cde5c9a019bcafbfd0274a2e532e6db03996ff34521d8f36758f4892bcc13107ac24e5",
|
||||
"name": "Tris",
|
||||
"repos": ["test"],
|
||||
},
|
||||
}
|
||||
users = settings["users"]
|
||||
|
||||
|
||||
@bp.route("/login", methods=("GET", "POST"))
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
from squirrel.repo import get_archive
|
||||
import sys
|
||||
|
||||
archive = get_archive()
|
||||
|
||||
|
||||
def reindex():
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("repo")
|
||||
options = parser.parse_args()
|
||||
|
||||
p = archive.reindex(options.repo)
|
||||
for line in p.stderr: # type:ignore
|
||||
sys.stderr.write(line.decode("utf8"))
|
||||
Reference in New Issue
Block a user