https://github.com/simonsobs/nextline-web
The front-end web app of Nextline
https://github.com/simonsobs/nextline-web
nextline
Last synced: 8 months ago
JSON representation
The front-end web app of Nextline
- Host: GitHub
- URL: https://github.com/simonsobs/nextline-web
- Owner: simonsobs
- License: mit
- Created: 2020-11-11T16:26:22.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-04T17:52:06.000Z (about 1 year ago)
- Last Synced: 2025-04-04T18:35:31.703Z (about 1 year ago)
- Topics: nextline
- Language: TypeScript
- Homepage:
- Size: 3.73 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# nextline-web
[](https://www.npmjs.com/package/nextline-web)
[](https://github.com/simonsobs/nextline-web/actions/workflows/unit-test.yml)
[](https://github.com/simonsobs/nextline-web/actions/workflows/type-check.yml)
The front-end web app of Nextline.
_Nextline_ is a DAQ sequencer of the [Observatory Control System
(OCS)](https://github.com/simonsobs/ocs/). Nextline allows line-by-line
execution of concurrent Python scripts, which control telescopes, by multiple
users simultaneously from web browsers.
## Citation
Nextline consists of multiple packages. Please use the following DOI for [the
core package](https://github.com/simonsobs/nextline) to cite Nextline in general
unless you need to refer to a specific package.
[](https://doi.org/10.5281/zenodo.11451619)
## Screenshot

## How to run the Nextline front-end web app
The section shows how to run the Nextline front-end web app. To start, you need
to know the URL of the [back-end API
server](https://github.com/simonsobs/nextline-graphql).
### As a Docker container
Docker images of the Nextline front-end web app are created as
[ghcr.io/simonsobs/nextline-web](https://github.com/simonsobs/nextline-web/pkgs/container/nextline-web).
#### Environment variables in the container
You can configure the web app in the container with these variables.
| Environment variable | Default value | Description |
| -------------------- | ----------------------- | ------------------------------------------ |
| `PUBLIC_PATH` | `/` | Path in the URL of the web app |
| `API_HTTP` | `http://localhost:8000` | URL of the GraphQL API server |
| `API_NAME` | `localhost` | Text to be shown as part of the title |
| `SEED_COLOR` | `#607D8B` | The source color (hex) of dynamic colors\* |
\*Accessible colors in light and dark modes are dynamically generated by
[Dynamic Color in Material Design](https://m3.material.io/styles/color/).
For example, if you are to run the web app at the port `8080` with the path
`/nextline/` and use the GraphQL API server at `http://localhost:5000/graphql` as the name `API 1`, you can do so with the following command.
```bash
docker run -p 8080:80 -e PUBLIC_PATH=/nextline/ -e API_HTTP=http://localhost:5000/graphql -e API_NAME="API 1" ghcr.io/simonsobs/nextline-web
```
If you are on the `localhost`, the web app is running at .