142 lines
3.5 KiB
Markdown
142 lines
3.5 KiB
Markdown
# Surveilled
|
|
|
|
A map of cameras in the world using OpenStreetMap overpass data.
|
|
|
|
<img src="https://git.quad4.io/Quad4-Software/Surveilled/raw/commit/70503fcb56994c4c1bb019dfbcc3b589ebd94039/showcase/surveilled.png" alt="showcase image" width="900">
|
|
|
|
Check out the live website at [surveilled.quad4.io](https://surveilled.quad4.io)
|
|
|
|
## Disclaimer
|
|
|
|
Data is fetched from OSM Overpass and may not be accurate or up to date as this data is community-sourced.
|
|
|
|
## Features
|
|
|
|
- Draw a box to get cameras for that area
|
|
- Measure distance between two points/cameras
|
|
- Export or copy GeoJSON of cameras in an area
|
|
- Customize Nominatim, Overpass, and Tile endpoints
|
|
- No reliance on external CDNs or Google fonts
|
|
- PWA installable
|
|
- Mobile-friendly
|
|
|
|
## Quick Start
|
|
|
|
### Using Docker
|
|
|
|
```sh
|
|
docker run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest
|
|
```
|
|
|
|
Then open your browser at `http://localhost:3000`
|
|
|
|
### Using Podman
|
|
|
|
```sh
|
|
podman run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest
|
|
```
|
|
|
|
Then open your browser at `http://localhost:3000`
|
|
|
|
### Using PNPM
|
|
|
|
```sh
|
|
pnpm config set @quad4:registry=https://git.quad4.io/api/packages/Quad4-Software/npm/
|
|
pnpm install -g @quad4/surveilled
|
|
surveilled
|
|
```
|
|
|
|
Or with custom port and host:
|
|
|
|
```sh
|
|
PORT=8080 HOST=0.0.0.0 surveilled
|
|
```
|
|
|
|
## Development
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js `>=18.0.0`
|
|
- pnpm `>=10.25.0`
|
|
|
|
### Setup
|
|
|
|
```sh
|
|
git clone https://git.quad4.io/Quad4-Software/Surveilled
|
|
cd Surveilled
|
|
pnpm install
|
|
```
|
|
|
|
### Task
|
|
|
|
The project uses [Task](https://taskfile.dev/) for all development tasks.
|
|
|
|
```
|
|
| Task | Description |
|
|
|---------------|---------------------------------------|
|
|
| default | Show available tasks |
|
|
| dev | Run development server |
|
|
| build | Build the application |
|
|
| package | Package the application |
|
|
| publish | Publish to npm registry |
|
|
| preview | Preview production build |
|
|
| check | Run type checking |
|
|
| lint | Run linter |
|
|
| format | Format code |
|
|
| clean | Clean build artifacts |
|
|
| docker-build | Build Docker image |
|
|
| docker-run | Run Docker container |
|
|
| docker | Build and run Docker container |
|
|
| podman-build | Build Podman image |
|
|
| podman-run | Run Podman container |
|
|
| podman | Build and run Podman container |
|
|
| scan | Scan container image with trivy |
|
|
| sbom | Generate SBOM with trivy |
|
|
| version:minor | Bump version minor |
|
|
| version:major | Bump version major |
|
|
| setup | Setup development environment |
|
|
| install | Install dependencies |
|
|
| install:ci | Install dependencies for CI |
|
|
|
|
example: task dev
|
|
you might nee to set alias alias task=`go-task`
|
|
```
|
|
|
|
## Building Container Image
|
|
|
|
Uses Chainguard Images which are rootless and very minimal images.
|
|
|
|
### Using Docker
|
|
|
|
```sh
|
|
task docker-build
|
|
task docker-run
|
|
```
|
|
|
|
Or use the combined task:
|
|
|
|
```sh
|
|
task docker
|
|
```
|
|
|
|
### Using Podman
|
|
|
|
```sh
|
|
task podman-build
|
|
task podman-run
|
|
```
|
|
|
|
Or use the combined task:
|
|
|
|
```sh
|
|
task podman
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Send email to [team@quad4.io](mailto:team@quad4.io) with your feedback or any issues you may have.
|
|
|
|
## License
|
|
|
|
[BSD 3-Clause](LICENSE)
|