mirror of
https://github.com/nexu-io/open-design.git
synced 2026-07-06 22:31:53 +08:00
* fix(docker): add opt-in API auth disable flag Generated-By: looper 0.9.10 (runner=worker, agent=opencode) * docs(docker): add .env setup to beginner guide Generated-By: looper 0.9.10 (runner=fixer, agent=opencode)
2.9 KiB
2.9 KiB
Docker and Docker Compose
This is the easiest self-hosting path for beginners.
Before You Start
- Docker Desktop installed and running
- Internet connection (first run downloads the image)
Step 1: Open the Deploy Folder
git clone https://github.com/nexu-io/open-design.git
cd open-design/deploy
What this does:
- Downloads the project
- Moves into the folder that contains
docker-compose.yml
Step 2: Create .env and choose an API auth mode
Create deploy/.env from the tracked template:
cp .env.example .env
Generate a token if you want the default protected mode:
openssl rand -hex 32
Then edit .env and configure one of these before first start:
- recommended default: paste the generated token into
OD_API_TOKEN= - trusted authenticated reverse proxy only: leave
OD_API_TOKEN=empty and setOPEN_DESIGN_DISABLE_API_AUTH=1
If you expose Open Design through a reverse proxy, also set:
OPEN_DESIGN_ALLOWED_ORIGINS=https://yourdomain.com
Step 3: Start Open Design
docker-compose up -d
What to expect:
- First run can take 1-2 minutes while Docker pulls the image
- You should see container creation and startup messages
Step 4: Confirm Container Health
docker-compose ps
Success looks like:
open-designcontainer is listedSTATUSshowsUpand eventuallyhealthy- Port mapping includes
127.0.0.1:7456->7456/tcp
Step 5: Verify HTTP Response
curl -i http://127.0.0.1:7456/
Success looks like:
- HTTP status
200 OK
Step 6: Open Open Design in Your Browser
Open:
http://localhost:7456/
You should see the Open Design interface.
Common Issues
failed to connect to the docker API: Docker Desktop is not running yetaddress already in use: Port7456is occupied by another processcurl: (7) Failed to connect: container is still starting; wait 10-20 seconds and retry- reverse proxy +
OD_API_TOKEN: either injectAuthorization: Bearer <OD_API_TOKEN>at the proxy, or setOPEN_DESIGN_DISABLE_API_AUTH=1only when that proxy already authenticates every request and the daemon is not directly exposed. Authorization: Bearer <OD_API_TOKEN> requiredon macOS: Docker Desktop bridge networking makes the daemon see requests as non-loopback. See Docker Desktop on macOS for the host networking workaround.




