Thingport
# Running Thingport on Unraid Thingport is a 4-container stack (Postgres, FlareSolverr, backend, frontend) that talk to each other by container name -- the frontend's nginx config, for example, proxies `/api/*` straight to `http://backend:8000`. Unraid's Community Applications store only installs one container per template with no built-in way to wire multiple templates together on a shared network, so Thingport is **not searchable in the CA app store**. Instead, install it as a Docker Compose stack. Unraid has no Compose support of its own, so this needs a plugin. ## 1. Install the Compose Manager plugin Apps tab -> search **Compose Manager** -> install **Compose Manager** (or **Compose Manager Plus**). It adds a **Compose** section to the Docker tab. ## 2. Create the stack 1. Docker tab -> **Compose** -> **Add New Stack**, name it `thingport`. 2. Open the stack's compose file and paste in [`docker-compose.yml`](docker-compose.yml) from this folder (or point the plugin's "Import from URL" at the raw GitHub URL for that file, if it supports it). 3. Copy [`.env.example`](.env.example) into the stack's environment variables (Compose Manager exposes an `.env` editor per stack) and fill in: - `AUTH_SECRET` -- any random string, e.g. `openssl rand -hex 32` from a terminal - `POSTGRES_PASSWORD` -- any password 4. **Compose Up**. Thingport creates two appdata folders on first start: `/mnt/user/appdata/thingport/postgres` (database) and `/mnt/user/appdata/thingport/storage` (your imported models). Back these up like any other appdata share. ## 3. Open it Once all 4 containers show healthy/running, open `http://:` (default port 80). The frontend and backend containers also get a WebUI button and the Thingport icon in the Docker tab, via the `net.unraid.docker.*` labels already set in the compose file. The first account you register becomes the admin account. Then open **Administration → Overview → System Health** and click **Run full test**. Everything marked Required or Recommended should be green; anything that isn't means part of Thingport won't work until it's fixed. See [System Health](../../guides/system-health.md). ## Notes - **Do not rename the `backend` service/container.** The frontend's nginx config resolves it by that exact name over the compose network; renaming it breaks `/api/*` requests. - Provider setup (MakerWorld / Thingiverse / MyMiniFactory credentials) works the same as any other install -- see [`docs/PROVIDER_SETUP.md`](../../PROVIDER_SETUP.md) in the main repo. - To pin a specific build instead of `:latest`, see the tagging note in [`docker-compose.deploy.yml`](../../../docker-compose.deploy.yml) and set `BACKEND_IMAGE`/ `FRONTEND_IMAGE` accordingly (add those two env vars to the stack and swap the `image:` lines to `${BACKEND_IMAGE:-...}` / `${FRONTEND_IMAGE:-...}` if you want that flexibility).