1414</p >
1515
1616<p align =" center " >
17+ <a href =" https://github.com/onllm-dev/4DPocket/releases/latest " ><img src =" https://img.shields.io/github/v/release/onllm-dev/4DPocket?label=release&color=blue " alt =" Latest Release " /></a >
18+ <a href =" https://github.com/onllm-dev/4DPocket/pkgs/container/4dpocket " ><img src =" https://img.shields.io/badge/ghcr.io-4dpocket-blue?logo=docker " alt =" Docker Image " /></a >
1719 <img src =" https://img.shields.io/badge/python-3.12+-blue " alt =" Python 3.12+ " />
1820 <img src =" https://img.shields.io/badge/react-19-61DAFB " alt =" React 19 " />
1921 <img src =" https://img.shields.io/badge/license-GNU%20GPLv3-blue " alt =" GNU GPLv3 License " />
20- <img src =" https://img.shields.io /badge/tests-73%20passing-brightgreen " alt =" 73 Tests Passing " />
22+ <a href = " https://github.com/onllm-dev/4DPocket/actions/workflows/ci.yml " >< img src =" https://github.com/onllm-dev/4DPocket/actions/workflows/ci.yml /badge.svg " alt =" CI " /></ a >
2123</p >
2224
2325<p align =" center " >
@@ -46,24 +48,49 @@ Inspired by Doraemon's 4D Pocket — a magical, bottomless pocket where anything
4648
4749## Quick Start
4850
49- ### Docker Compose (Recommended)
51+ ### Docker (Recommended)
52+
53+ Pull the image from GitHub Container Registry:
54+
55+ ``` bash
56+ docker pull ghcr.io/onllm-dev/4dpocket:latest
57+ # or a specific version:
58+ docker pull ghcr.io/onllm-dev/4dpocket:0.1.0
59+ ```
60+
61+ ** One-liner (SQLite, no external services):**
62+ ``` bash
63+ docker run -d --name 4dpocket -p 4040:4040 -v 4dp-data:/data \
64+ ghcr.io/onllm-dev/4dpocket:latest
65+ ```
66+
67+ Open http://localhost:4040 — no login needed in single-user mode.
68+
69+ ### Docker Compose
70+
71+ ** Full stack** (PostgreSQL + background worker):
5072
5173``` bash
52- # Download config
74+ # Clone or download config files
5375curl -O https://raw.githubusercontent.com/onllm-dev/4DPocket/main/docker-compose.yml
5476curl -O https://raw.githubusercontent.com/onllm-dev/4DPocket/main/.env.example
5577cp .env.example .env # Edit with your settings
5678
57- # Start (PostgreSQL + 4DPocket)
79+ # Start
5880docker compose up -d
5981```
6082
6183Open http://localhost:4040 — first registered user becomes admin.
6284
85+ ** Minimal setup** (SQLite, single container):
86+ ``` bash
87+ curl -O https://raw.githubusercontent.com/onllm-dev/4DPocket/main/docker-compose.simple.yml
88+ docker compose -f docker-compose.simple.yml up -d
89+ ```
90+
6391** With local AI (Ollama):**
6492``` bash
6593docker compose --profile ai up -d
66- # Then pull a model:
6794docker compose exec ollama ollama pull llama3.2
6895```
6996
@@ -72,29 +99,20 @@ docker compose exec ollama ollama pull llama3.2
7299SEARCH_BACKEND=meilisearch docker compose --profile search up -d
73100```
74101
75- ** Minimal setup (SQLite, no external services ):**
102+ ** With semantic search (ChromaDB ):**
76103``` bash
77- curl -O https://raw.githubusercontent.com/onllm-dev/4DPocket/main/docker-compose.simple.yml
78- docker compose -f docker-compose.simple.yml up -d
104+ docker compose --profile vectors up -d
79105```
80106
81- ### Docker Image
82-
107+ ** All services:**
83108``` bash
84- docker pull ghcr.io/onllm-dev/4dpocket:latest
85-
86- # Run with SQLite (simplest)
87- docker run -d -p 4040:4040 -v 4dp-data:/data \
88- -e FDP_DATABASE__URL=sqlite:////data/4dpocket.db \
89- ghcr.io/onllm-dev/4dpocket:latest
109+ docker compose --profile ai --profile search --profile vectors up -d
90110```
91111
92112### Python Package
93113
94114``` bash
95115pip install fourdpocket
96- # or with uv:
97- uv pip install fourdpocket
98116
99117# Run the server
100118uvicorn fourdpocket.main:app --port 4040
0 commit comments