All apps · 0 apps
Knitting-Library
Docker app from z33tlex's Repository
Overview
Readme
View on GitHubKnitting Library
Knitting Library is a self-hosted pattern, project, and yarn inventory manager for people who want their knitting archive under their own control. It runs as a single Docker container, stores data locally, and provides a mobile-friendly interface for daily use.
The project started as a practical home tool: a private place to keep knitting patterns, notes, project status, and yarn inventory without a subscription or third-party data lock-in.
Built with AI assistance. This project was developed with AI coding assistants. Architecture, feature decisions, and direction remain human-owned; AI helped write and debug code. The codebase has not been formally reviewed by a professional developer or security auditor. See Security for the current posture and limits.
What It Does
- Stores PDF patterns and scanned image recipes with generated thumbnails.
- Provides searchable recipe browsing, categories, tags, and project status filters.
- Supports page annotations, recipe text versions, image cleanup tools, and per-recipe knitting tools for counters, increase/decrease calculations, and notes.
- Tracks active and finished projects per user, with shared household visibility.
- Manages yarn and thread references, color variants, stock, needles, tools, and notions.
- Includes user accounts, optional TOTP two-factor authentication, per-user appearance settings, and admin tools.
- Offers the interface in English, Norwegian, Hungarian, French, German, and Spanish.
- Runs locally with SQLite-backed storage in mounted
data/andlogs/folders.
Status
Knitting Library is active beta software. It is used in real workflows, but interfaces and data workflows may still change. Keep regular backups of the data/ folder, especially before updating.
AI-assisted text recognition and diagram review are early beta features. Treat generated text as a draft and check it against the original pattern before relying on it.
Quick Start
Requirements: Docker Desktop, Docker Engine, or another Docker-compatible host.
From the folder containing docker-compose.yml:
docker compose up -d
Open http://localhost:3000 and create the first admin account. There are no default credentials.
For Unraid, reverse proxy, fail2ban, backups, AI setup, and troubleshooting, see the deployment and operations guide.
Storage
Runtime data is kept outside the container:
data/
knitting.db
recipes/
yarns/
logs/
uvicorn.log
supervisord.log
auth.log
Backups are straightforward: stop the container if possible, copy data/, then restart. Restoring means putting data/ back and starting the container again.
Security
Implemented measures include bcrypt password hashing, login rate limiting, optional TOTP two-factor authentication, HttpOnly SameSite session cookies, CSRF protection for cookie-authenticated writes, upload validation, same-origin CORS by default, security headers, disabled production API docs, parameterised database queries, upload filename sanitisation, and SSRF checks for yarn URL imports.
HTTPS is not built into the container. Use a reverse proxy if the app is reachable beyond a trusted private network. A home network or VPN-only deployment is strongly preferred; direct public port forwarding is not recommended.
These measures were implemented in good faith, but the project has not had a professional security audit. You run this software at your own risk.
Screenshots
| Desktop | Mobile |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |

Documentation
Tech Stack
FastAPI, React, Vite, SQLite, and Docker.
Install Knitting-Library on Unraid in a few clicks.
Find Knitting-Library in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
zeetlex/knitting-library:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8080]- Network
bridge- Shell
bash- Privileged
- false
Template configuration
HTTP port for the Knitting Library web interface.
- Target
- 8080
- Default
- 3000
Persistent app data, including the SQLite database, uploaded patterns, thumbnails, yarn images, annotations, and settings.
- Target
- /data
- Default
- /mnt/user/appdata/knitting-library/data
Application and authentication logs.
- Target
- /logs
- Default
- /mnt/user/appdata/knitting-library/logs
User ID used for files written to /data and /logs. Unraid default is 99.
- Default
- 99
Group ID used for files written to /data and /logs. Unraid default is 100.
- Default
- 100
Comma-separated proxy IPs or CIDRs whose X-Forwarded-For and X-Forwarded-Proto headers should be trusted. Leave blank when accessing the app directly.
- Target
- TRUSTED_PROXIES
Comma-separated allowed browser origins for CORS. Leave blank for same-origin access.
- Target
- ALLOWED_ORIGINS





