Files
Surveilled/README.md
Sudo-Ivan 1e694fcbf0
All checks were successful
OSV-Scanner Scheduled Scan / scan-scheduled (push) Successful in 10s
CI / check (push) Successful in 9m26s
CI / build (push) Successful in 9m36s
Update README.md
2025-12-29 20:13:27 -06:00

3.5 KiB

Surveilled

A map of cameras in the world using OpenStreetMap overpass data.

showcase image

Check out the live website at 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

docker run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest

Then open your browser at http://localhost:3000

Using Podman

podman run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest

Then open your browser at http://localhost:3000

Using PNPM

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:

PORT=8080 HOST=0.0.0.0 surveilled

Development

Prerequisites

  • Node.js >=18.0.0
  • pnpm >=10.25.0

Setup

git clone https://git.quad4.io/Quad4-Software/Surveilled
cd Surveilled
pnpm install

Task

The project uses Task 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

task docker-build
task docker-run

Or use the combined task:

task docker

Using Podman

task podman-build
task podman-run

Or use the combined task:

task podman

Contributing

Send email to team@quad4.io with your feedback or any issues you may have.

License

BSD 3-Clause