CI and images / lint (push) Successful in 3s
CI and images / extension-version (push) Successful in 3s
extension / lint (push) Successful in 16s
CI and images / frontend-build (push) Successful in 19s
CI and images / backend-lint-and-test (push) Successful in 31s
CI and images / integration (push) Successful in 2m22s
CI and images / sign-extension (push) Successful in 3s
CI and images / build-web (push) Successful in 3m7s
CI and images / smoke-web (push) Successful in 59s
CI and images / build-agent (push) Successful in 6m41s
CI and images / promote (push) Successful in 2s
Agent: - The image ran PyPI's CUDA-13 torch 2.14 and onnxruntime-gpu 1.30 on a CUDA 12.9 cudnn-runtime base. requirements.txt had silently replaced the Dockerfile's torch 2.6+cu124, because ultralytics pulls torchvision, which pulls its own torch. That left ~3 GB of base libraries and a ~3 GB torch nothing loaded: 10 GB compressed. - Now: an nvidia/cuda 13.0.3 `base` image, with torch and torchvision installed together from cu130. CUDA and cuDNN come from the nvidia-* pip packages; onnxruntime-gpu declares its [cuda,cudnn] extras. - fc_agent/accel.py preloads those libraries for onnxruntime. It then logs, and reports in /status, whether torch and the ONNX CUDA provider actually got the GPU, since both fall back to the CPU silently. Web image: - Drop opencv-python-headless and onnxruntime, plus the opencv-only apt libs. Both have been listed since the scaffold and nothing in backend/ imports them. - torch/torchvision move to 2.14/0.29, and the unexplained caps are lifted (rule 154). Redis: 8-alpine in both compose files and both CI service containers. That gives an AGPLv3 licence option, where 7.4 was RSAL/SSPL only. The client moves to >=8.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LVjrnpQjRgHdvq95rASoiR
59 lines
1.9 KiB
Plaintext
59 lines
1.9 KiB
Plaintext
# Web
|
|
quart>=0.20,<0.21
|
|
hypercorn>=0.18,<0.19
|
|
|
|
# DB
|
|
sqlalchemy[asyncio]>=2.0,<2.1
|
|
asyncpg>=0.31,<0.32
|
|
psycopg[binary]>=3.3,<3.4
|
|
alembic>=1.18,<1.19
|
|
pgvector>=0.5,<0.6
|
|
|
|
# Task queue
|
|
celery>=5.6,<5.7
|
|
# Uncapped (rule 154). 8.0 only changed type hints. kombu's `redis` extra
|
|
# still says <6.5, but celery is installed without that extra, so it never applies.
|
|
redis>=8.1
|
|
|
|
# Crypto for credential storage (lands in FC-3, but pinned now for stability)
|
|
cryptography>=49,<50
|
|
|
|
# Image handling (lands in FC-2)
|
|
pillow>=12,<13
|
|
imagehash>=4.3,<4.4
|
|
|
|
# Gallery-dl wrapper (lands in FC-3)
|
|
gallery-dl>=1.32,<1.33
|
|
# Video extractor backend for gallery-dl. Without it, every video post
|
|
# attachment fails with `[downloader.ytdl][error] Cannot import yt-dlp`
|
|
# → `[download][error] Failed to download NN_video.mp4`. Operator-flagged
|
|
# 2026-05-31 after Patreon video posts produced empty downloads.
|
|
yt-dlp>=2025.1
|
|
|
|
# Utilities
|
|
python-dotenv>=1.2,<2.0
|
|
structlog>=26.1,<26.2
|
|
|
|
# HTML sanitization for scraped post descriptions (FC-2d provenance)
|
|
nh3>=0.3,<0.4
|
|
|
|
# Archive extraction (FC-2d-iii filesystem-import aid)
|
|
rarfile>=4.2,<5
|
|
py7zr>=1,<2
|
|
|
|
# Google Drive fetcher for off-platform file-host links (external downloads,
|
|
# #830). Handles Drive's confirm-token + virus-scan interstitial. mega.nz uses
|
|
# the `megatools` binary instead (Debian apt pkg in the runtime image, not pip).
|
|
gdown>=6,<7
|
|
|
|
# Process supervisor for the single-container layout (milestone 422 step 5).
|
|
# `entrypoint.sh all` generates its config from the lane table and execs it as
|
|
# PID 1, running hypercorn plus one celery process per lane in one container.
|
|
# Unused by the multi-service compose path, where docker supervises instead.
|
|
#
|
|
# Chosen over s6-overlay because it is a pip install on an image that is
|
|
# already Python, and gives per-program stop timeouts plus stopasgroup —
|
|
# celery's prefork pool forks children, and a TERM that reaches only the
|
|
# parent leaves them orphaned holding tasks.
|
|
supervisor>=4.2,<5
|