Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions src/content/docs/docs/contributing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ Open an issue first if a change needs a dependency or a build step.

## Run locally

Run the working tree with Docker Compose 2.23 or later:

```sh
docker build -t stackyard:local .
docker run -d -p 8700:80 -v ./data:/data -v ./icons:/icons stackyard:local
docker compose -f docker-compose.dev.yml watch
```

It serves `http://127.0.0.1:8701`. A saved file reaches the container within a few seconds. A change under `api/src` or `ui/widgets` restarts it. A change to the Dockerfile, nginx or supervisord config rebuilds the image. Data is kept in `.dev/`.

Without Docker, start the API with `npm start` in `api/`, setting `CONFIG_PATH`, `ICONS_PATH` and `WIDGETS_PATH=../ui/widgets`. Serve `ui/` with any server that proxies `/api/` and `/health` to `127.0.0.1:3000`, as `nginx/dashboard.conf` does.

## Tests
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/docs/create-a-widget/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,6 @@ The return value is served at `/api/widget-data/<id>`. Report every failure thro

## 5. Try it

Restart Stackyard, then in Settings, **Dashboard**, press <span class="sy-btn sy-btn--primary">Add</span> and pick **My Widget**. If it is missing, the container log says why.
Start the [dev instance](/docs/contributing/#run-locally) if it is not running. A new folder in `ui/widgets/` restarts it. Then in Settings, **Dashboard**, press <span class="sy-btn sy-btn--primary">Add</span> and pick **My Widget**. If it is missing, the container log says why.

Before a pull request, go through the [checklist](/docs/create-a-widget/checklist/).
Loading