You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ef33dca
Browse filesBrowse the repository at this point in the historyBrowse files
Native installation is recommended for the best experience, especially if you frequently plug/unplug your SD card.
138
140
139
141
```bash
140
142
# Clone the repository
@@ -148,7 +150,93 @@ npm install
148
150
npm run dev
149
151
```
150
152
151
-
The app will open at `http://localhost:5173` with the backend API running on port 3001.
153
+
The app will open at `http://localhost:5173` with the backend API running on port 3001. Your SD card will be detected automatically and you can eject/re-insert it freely while the app runs.
154
+
155
+
### Docker Installation
156
+
157
+
A3D Manager can also run in Docker, though with some limitations around SD card handling:
158
+
159
+
```bash
160
+
# Using Docker Compose (recommended)
161
+
docker compose up -d
162
+
163
+
# Or build and run manually
164
+
docker build -t a3d-manager .
165
+
docker run -d \
166
+
--name a3d-manager \
167
+
-p 3001:3001 \
168
+
-v a3d-data:/app/.local \
169
+
a3d-manager
170
+
```
171
+
172
+
The app will be available at `http://localhost:3001`.
173
+
174
+
#### SD Card Access
175
+
176
+
The Docker container mounts your Analogue 3D SD card directly. By default, it expects the standard mount path `/Volumes/ANALOGUE 3D`.
177
+
178
+
> **Important:** Your SD card must be connected and mounted **before** running `docker compose up -d`. If the SD card isn't mounted, Docker will fail with a "permission denied" error.
179
+
180
+
**Connecting your SD Card:**
181
+
182
+
You can either use an external SD card reader, or connect directly to your Analogue 3D via USB-C:
183
+
184
+
1. Fully power off your Analogue 3D and disconnect all controllers and cables
185
+
2. Leave the SD card inserted in the Analogue 3D
186
+
3. Connect the Analogue 3D's power port to your computer using USB-C and wait 5 seconds
187
+
4. Press and hold the reset button, then while holding reset, press and hold the power switch
188
+
5. Hold both buttons until the Power LED turns green, then release
189
+
6. Your SD card should now appear as `ANALOGUE 3D` on your computer
190
+
191
+
See [Analogue's guide](https://www.analogue.co/support/3d/guide/getting-started#updating-3dos) for more details.
192
+
193
+
**Initial Setup (macOS):**
194
+
195
+
1. Connect your SD card (see above)
196
+
2. Run `docker compose up -d`
197
+
198
+
**Initial Setup (Linux):**
199
+
200
+
1. Create a `.env` file with your SD card path:
201
+
```bash
202
+
cp .env.example .env
203
+
# Edit SD_VOLUMES_PATH, e.g.:
204
+
SD_VOLUMES_PATH=/media/$USER/ANALOGUE 3D
205
+
```
206
+
2. Run `docker compose up -d`
207
+
208
+
**If your SD card has a different name**, create a `.env` file:
209
+
```bash
210
+
SD_VOLUMES_PATH=/Volumes/YOUR_SD_CARD_NAME
211
+
```
212
+
213
+
#### Ejecting the SD Card (Important)
214
+
215
+
Due to how Docker Desktop works on macOS, you must **quit Docker Desktop entirely** before ejecting your SD card. The Docker VM keeps file shares active even when containers are stopped.
216
+
217
+
**Workflow for ejecting:**
218
+
219
+
1. Stop the container: `docker compose down`
220
+
2. Quit Docker Desktop (click Docker icon in menu bar → Quit Docker Desktop)
221
+
3. Eject your SD card normally
222
+
223
+
**When ready to use again:**
224
+
225
+
1. Connect your SD card first (it must be mounted before starting Docker)
226
+
2. Start Docker Desktop
227
+
3. Run `docker compose up -d`
228
+
229
+
> **Note:** If you frequently need to eject your SD card, consider using the [native installation](#installation-recommended) instead, which has no restrictions on SD card ejection.
230
+
231
+
#### Docker Configuration
232
+
233
+
| Variable | Default | Description |
234
+
|----------|---------|-------------|
235
+
|`PORT`|`3001`| Server port |
236
+
|`SD_VOLUMES_PATH`|`/Volumes/ANALOGUE 3D`| Path to your Analogue 3D SD card |
237
+
|`TRANSFER_CHUNK_SIZE`|`2097152`| File transfer chunk size (bytes) |
238
+
|`TRANSFER_FSYNC_PER_CHUNK`|`true`| Sync after each chunk for accurate progress |
239
+
|`READ_LABELS_FROM_SD`|`false`| Read labels directly from SD card (slower) |
0 commit comments