Install czkawka via download in dockerfile + fix uvicorn dependency
All checks were successful
gitea/file-organizer/pipeline/head This commit looks good
All checks were successful
gitea/file-organizer/pipeline/head This commit looks good
This commit is contained in:
parent
8ab7746a3f
commit
5d486b4544
6
.gitignore
vendored
6
.gitignore
vendored
@ -159,8 +159,4 @@ cython_debug/
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
|
||||
|
||||
vendor/czkawka/*
|
||||
vendor/ffmpeg/*
|
||||
#.idea/
|
||||
12
Dockerfile
12
Dockerfile
@ -14,13 +14,15 @@ RUN pip install --no-cache-dir -r requirements.txt
|
||||
RUN pip install gunicorn
|
||||
|
||||
# Copy the FastAPI project files into the container
|
||||
COPY . .
|
||||
COPY src/ .
|
||||
|
||||
# Copy the czkawka binary into the container
|
||||
COPY vendor/czkawka /bin/
|
||||
# Copy the patterns.txt file into the container
|
||||
COPY config/patterns.txt /config/patterns.txt
|
||||
|
||||
# Install ffmpeg with ffprobe
|
||||
RUN apt-get update && apt-get install -y ffmpeg
|
||||
# Install binary dependencies
|
||||
RUN apt-get update && apt-get install -y wget ffmpeg
|
||||
RUN wget -O /usr/local/bin/czkawka https://github.com/qarmin/czkawka/releases/download/8.0.0/linux_czkawka_cli
|
||||
RUN chmod +x /usr/local/bin/czkawka
|
||||
|
||||
# Expose the port the app runs on
|
||||
EXPOSE 8000
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
requests
|
||||
python-dotenv
|
||||
fastapi
|
||||
uvicorn
|
||||
pytest ; extra == 'dev'
|
||||
@ -10,15 +10,7 @@ class CZKAWKA_DELETION_METHOD(Enum):
|
||||
NONE="NONE"
|
||||
|
||||
def deduplicate_files(target_dir, exclude_files):
|
||||
executables = {
|
||||
"linux": "linux_czkawka_cli",
|
||||
"win32": "windows_czkawka_cli.exe",
|
||||
"darwin": "mac_czkawka_cli",
|
||||
"docker": "linux_czkawka_cli"
|
||||
}
|
||||
|
||||
platform = "docker" if os.path.exists("/.dockerenv") else os.sys.platform
|
||||
czkawka_executable = executables.get(platform, "czkawka_cli")
|
||||
czkawka_executable = "czkawka"
|
||||
czkawka_deletion_method = CZKAWKA_DELETION_METHOD.ALL_EXCEPT_SMALLEST
|
||||
czkawka_tolerance = os.environ.get("CK_DUPLICATE_TOLERANCE", "2")
|
||||
_remove_duplicates(czkawka_executable, target_dir, exclude_files, czkawka_deletion_method, czkawka_tolerance)
|
||||
|
||||
@ -7,7 +7,6 @@ from qbittorrent_api import get_qbittorrent_files_downloading
|
||||
from filemoving import group_files_by_prefix
|
||||
from deduplication import deduplicate_files
|
||||
import uuid
|
||||
import time
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user