Knitting-Library

Knitting-Library

Docker app from z33tlex's Repository

Overview

Self-hosted knitting pattern manager with PDF/image uploads, searchable pattern library, annotations, project tracking, and yarn inventory.

Knitting 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/ and logs/ 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
Desktop home dashboard Mobile home dashboard
Desktop recipe library Mobile recipe library
Desktop statistics dashboard Mobile settings

Desktop settings

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.

Open the Apps tab on your Unraid server Search Community Apps for Knitting-Library Review the template variables and paths Click Install

Download Statistics

2,895
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
zeetlex/knitting-library:latest
Last Updated2026-06-20
First Seen2026-06-20

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Shell
bash
Privileged
false

Template configuration

WebUIPorttcp

HTTP port for the Knitting Library web interface.

Target
8080
Default
3000
DataPathrw

Persistent app data, including the SQLite database, uploaded patterns, thumbnails, yarn images, annotations, and settings.

Target
/data
Default
/mnt/user/appdata/knitting-library/data
LogsPathrw

Application and authentication logs.

Target
/logs
Default
/mnt/user/appdata/knitting-library/logs
PUIDVariable

User ID used for files written to /data and /logs. Unraid default is 99.

Default
99
PGIDVariable

Group ID used for files written to /data and /logs. Unraid default is 100.

Default
100
Trusted ProxiesVariable

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
Allowed OriginsVariable

Comma-separated allowed browser origins for CORS. Leave blank for same-origin access.

Target
ALLOWED_ORIGINS