2.9 KiB
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
- Docker tab -> Compose -> Add New Stack, name it
thingport. - Open the stack's compose file and paste in
docker-compose.ymlfrom this folder (or point the plugin's "Import from URL" at the raw GitHub URL for that file, if it supports it). - Copy
.env.exampleinto the stack's environment variables (Compose Manager exposes an.enveditor per stack) and fill in:AUTH_SECRET-- any random string, e.g.openssl rand -hex 32from a terminalPOSTGRES_PASSWORD-- any password
- 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://<your-unraid-ip>:<WEB_PORT>
(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.
Notes
- Do not rename the
backendservice/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 credentials) works the same as any other install
-- see
docs/PROVIDER_SETUP.mdin the main repo. - To pin a specific build instead of
:latest, see the tagging note indocker-compose.deploy.ymland setBACKEND_IMAGE/FRONTEND_IMAGEaccordingly (add those two env vars to the stack and swap theimage:lines to${BACKEND_IMAGE:-...}/${FRONTEND_IMAGE:-...}if you want that flexibility).