- JavaScript 81.7%
- PHP 12.6%
- CSS 4%
- Shell 1.1%
- Python 0.4%
- Other 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Every pushed ref built and pushed images, with the tag derived from the ref name. A branch named "latest" or a git tag named "main" therefore overwrote the production image, and ref names were interpolated into shell scripts unquoted (script injection). - images are only pushed for pushes to refs/heads/main - other refs are built and tested with a ci-<sha> tag, never pushed - registry login happens only when publishing, after the compose test - main additionally pushes an immutable sha-<sha> tag for pinning - expression values are passed to scripts via env The registry credentials still need to be restricted to main on the Forgejo side, since a pushed branch can modify this workflow. |
||
| .forgejo/workflows | ||
| data_handler | ||
| data_handler_python | ||
| home/sunders | ||
| web | ||
| .gitignore | ||
| docker-compose.yml | ||
| LICENSE | ||
| LICENSEINFO.md | ||
| README.md | ||
| renovate.json | ||
Surveillance under Surveillance
Surveillance under Surveillance shows you cameras and guards — watching you — almost everywhere. You can see where they are located and, if the information is available, what type they are, the area they observe, or other interesting facts.
Different icons and colors give you a quick overview about the indexed surveillance entries. Click on those icons on the map to get the available information.
A running instance of this project can be visited at https://sunders.uber.space/.
Prerequisites
Installation
To run Surveillance using docker, decide between development/testing or production deployments:
Development/testing
-
Clone this repository
-
Run
docker compose upand wait for services to start up -
Visit
http://localhost:8080/in a browser; you should see an interactive OpenStreetMap
tbd.: Populate camera data
Production
-
Close this repository
-
Hardern security by opening
docker-compose.ymland modifyingMYSQL_PASSWORDandMYSQL_ROOT_PASSWORD -
Run
docker compose upand wait for services to start up -
Visit
http://localhost:8080/in a browser to open the web interface
tbd.: Populate camera data
Surveillance nodes
Surveillance under Surveillance uses data from Openstreetmap contributors that is not visualized on the regular Openstreetmap site. If you like to add new cameras or guards or if you like to revise existing entries use your existing OSM account or create a new one.
These are the most common key/value combinations to describe a surveillance node at Openstreetmap:
Mandatory to display an icon on the map
| Icon | Key | Value |
|---|---|---|
man_made |
surveillance |
|
![]() |
surveillance |
public |
![]() |
surveillance |
outdoor |
![]() |
surveillance |
indoor |
![]() |
surveillance:type |
camera |
![]() |
surveillance:typecamera:type |
camerafixed |
![]() |
surveillance:typecamera:type |
camerapanning |
![]() |
surveillance:typecamera:type |
cameradome |
![]() |
surveillance:type |
guard |
![]() |
surveillance:type |
ALPR |
Mandatory to draw camera's field of view
| Key | Value |
|---|---|
surveillance:type |
camera |
camera:type |
fixed |
camera:direction |
0 - 360 (in degrees) orN / NE / E / SE / S / SW / W / NW |
camera:angle |
15 - 90 (in degrees)from an almost horizontal view to a ground-pointed camera default: 15° |
height |
3 - 12 (in meters)default: 5m |
| Example 1 | Example 2 | Example 3 |
|---|---|---|
![]() |
![]() |
![]() |
| direction = 90° angle = 15° height = 5m |
direction = 90° angle = 15° height = 10m |
direction = 90° angle = 60° height = 10m |
Optional
| Key | Value |
|---|---|
surveillance:zone |
bank / building / parking / shop / town / traffic |
camera:mount |
ceilling / pole / wall |
operator |
organization or person operating the camera |
name |
name of the camera |
ref |
reference number of the camera |
image |
link to an externally hosted image that depicts the surveillance object |
Credits
- Surveillance under Surveillance is based on the phantastic osmcamera [CC-BY-SA / MIT / GPLv3 / WTFPL] project of khris78.
- Furthermore it uses the v1.3.1 code of Leaflet/Leaflet [BSD-2-Clause].
- The map itself is the work of millions of OpenStreetMap [ODbL / CC BY-SA] contributors.
- The results of the web services OpenStreetMap Nominatim [ODbL] and GeoNames [CC BY 3.0] are used for location searching and for surveillance node statistics.
- Most of the icons are from Font Awesome [SIL OFL 1.1 / MIT / CC BY 3.0].
- The font Grabstein Grotesk [OLF] is used for the titles.























