Skip to content

Commit 911eb34

Browse files
committed
fixed docker md
1 parent a539b9d commit 911eb34

File tree

1 file changed

+36
-23
lines changed

1 file changed

+36
-23
lines changed

docs/DOCKER.md

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,47 +22,49 @@ Docker works in **layers** — the base system, Python packages, AI models, and
2222

2323
### 1. Install Docker
2424

25-
- **Mac/Windows**: Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)
25+
- **Windows/Mac**: Install [Docker Desktop](https://www.docker.com/products/docker-desktop/)
2626
- **Linux**: Install [Docker Engine](https://docs.docker.com/engine/install/)
2727

28-
### 2. Create a directory for Sapphire
28+
### 2. Create a directory and download the compose file
29+
30+
#### Linux / Mac (Terminal)
2931

3032
```bash
3133
mkdir ~/sapphire && cd ~/sapphire
34+
curl -fsSL https://raw.githubusercontent.com/ddxfish/sapphire/main/docker-compose.yml -o docker-compose.yml
35+
mkdir -p sapphire-data sapphire-backups sapphire-config
3236
```
3337

34-
### 3. Download the compose file
38+
#### Windows (PowerShell)
3539

36-
```bash
37-
curl -fsSL https://raw.githubusercontent.com/ddxfish/sapphire/main/docker-compose.yml -o docker-compose.yml
40+
```powershell
41+
mkdir $HOME\sapphire; cd $HOME\sapphire
42+
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ddxfish/sapphire/main/docker-compose.yml" -OutFile "docker-compose.yml"
43+
mkdir sapphire-data, sapphire-backups, sapphire-config
3844
```
3945

40-
### 4. Edit your settings (optional)
46+
> **Windows note**: Use PowerShell (not cmd.exe). Right-click Start → "Windows PowerShell" or search for "PowerShell."
47+
48+
### 3. Edit your settings (optional)
4149

4250
Open `docker-compose.yml` in any text editor and set:
4351
- **Timezone** — Change `America/New_York` to yours ([timezone list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones))
4452
- **API keys** — Uncomment and fill in whichever LLM provider you use (Claude, OpenAI, etc.)
4553

46-
### 5. Create data directories
47-
48-
If you don't make these, root owns them, but no big deal just ```chown -R youruser:youruser ~/sapphire``` to change to your user name.
49-
50-
```bash
51-
mkdir -p sapphire-data sapphire-backups sapphire-config
52-
```
53-
54-
### 6. Start Sapphire
54+
### 4. Start Sapphire
5555

5656
```bash
5757
docker compose up -d
5858
```
5959

60-
### 7. Open the web UI
60+
### 5. Open the web UI
6161

6262
Go to **https://localhost:8073** in your browser and complete the setup wizard.
6363

6464
> **Note**: You'll see a browser security warning about the self-signed certificate. This is normal — click "Advanced" → "Proceed" to continue.
6565
66+
> **Permissions note (Linux only)**: If you skipped step 2's `mkdir` commands, Docker creates the data directories as root. Fix with: `sudo chown -R $USER:$USER ~/sapphire`
67+
6668
---
6769

6870
## GPU Support (NVIDIA only)
@@ -148,26 +150,37 @@ Your data stays in `sapphire-data/`, `sapphire-backups/`, and `sapphire-config/`
148150
```bash
149151
docker compose down
150152
docker rmi ghcr.io/ddxfish/sapphire:latest
153+
```
154+
155+
Then delete the data directories:
156+
157+
**Linux / Mac:**
158+
```bash
151159
rm -rf sapphire-data sapphire-backups sapphire-config
152160
```
153161

162+
**Windows (PowerShell):**
163+
```powershell
164+
Remove-Item -Recurse -Force sapphire-data, sapphire-backups, sapphire-config
165+
```
166+
154167
---
155168

156169
## Where is my data?
157170

158171
Everything is stored in plain folders next to your `docker-compose.yml`:
159172

160173
```
161-
~/sapphire/
162-
├── docker-compose.yml ← Configuration
163-
├── sapphire-data/ ← Chats, memories, settings, plugins
174+
sapphire/ ← ~/sapphire (Linux/Mac) or %USERPROFILE%\sapphire (Windows)
175+
├── docker-compose.yml ← Configuration
176+
├── sapphire-data/ ← Chats, memories, settings, plugins
164177
│ ├── settings.json
165178
│ ├── history/
166179
│ ├── memory.db
167180
│ ├── knowledge.db
168181
│ └── ...
169-
├── sapphire-backups/ ← Automatic backups
170-
└── sapphire-config/ ← Credentials and secrets
182+
├── sapphire-backups/ ← Automatic backups
183+
└── sapphire-config/ ← Credentials and secrets
171184
```
172185

173186
These are normal folders on your machine. You can browse them, back them up, or move them to another computer.
@@ -194,11 +207,11 @@ Make sure LM Studio's server is running and set to allow network connections.
194207
195208
## Troubleshooting
196209
197-
**"Permission denied" on data directories**
210+
**"Permission denied" on data directories (Linux)**
198211
```bash
199212
mkdir -p sapphire-data sapphire-backups sapphire-config
200213
```
201-
Create the directories before first run so they're owned by your user, not root.
214+
Create the directories before first run so they're owned by your user, not root. If they already exist as root: `sudo chown -R $USER:$USER sapphire-data sapphire-backups sapphire-config`. This doesn't apply to Windows/Mac — Docker Desktop handles permissions automatically.
202215

203216
**Browser shows "connection refused"**
204217
Sapphire takes 30-60 seconds to start on first run (loading AI models). Check progress with `docker compose logs -f`.

0 commit comments

Comments
 (0)