- Add scan-to-plant flow: upload card photos, OCR, VPC match on confirm form - OpenCV CLAHE + adaptive threshold preprocessing; dual psm 6/11 OCR pass - Regex fixes for OCR misreads: height (s→5), frost (=,„,i,l,G), density, bloom months (E→I) - Scientific name extraction: passport section + cultivar quote strategy - Last-wins merge so back card data overrides front card garbage - Crop thumbnail tool with Cropper.js; cropped image shown in list and detail - VPC image always supersedes user thumbnail on detail page - VPC sunlight mapping: zon→full_sun, halfschaduw→part_sun, schaduw→full_shade - Auto-set thumbnail on plant created from scan Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
691 B
YAML
32 lines
691 B
YAML
services:
|
|
web:
|
|
build: .
|
|
env_file: .env
|
|
volumes:
|
|
- db:/app/data
|
|
- media:/app/media
|
|
- static:/app/staticfiles
|
|
expose:
|
|
- "8000"
|
|
command: >
|
|
sh -c "python manage.py migrate --noinput &&
|
|
python manage.py collectstatic --noinput &&
|
|
gunicorn plantdb.wsgi:application --bind 0.0.0.0:8000 --workers 1"
|
|
restart: unless-stopped
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "8083:80"
|
|
volumes:
|
|
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- media:/app/media:ro
|
|
- static:/app/staticfiles:ro
|
|
depends_on:
|
|
- web
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
db:
|
|
media:
|
|
static:
|