3b28280333
fix: Escapes generated SQL and validates sequence number
...
create_camera_update_statements.php wrote OSM tag keys and values unescaped
into /migrations/*.sql. Values are now escaped and node ids cast to int.
The sequence number argument must be numeric and is bound as a parameter
instead of being concatenated into SQL and the output path.
2026-11-15 11:36:49 +01:00
189105075c
fix: Publishes images only from main
...
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.
2026-11-15 11:36:49 +01:00
344232fb75
fix: Hardens web container
...
- document root is owned by root and not writable by www-data
(the base image ships /var/www/html as www-data with mode 1777)
- uses php.ini-production, so errors are not shown to clients
- disables directory listings, expose_php and the detailed server signature
2026-11-15 11:36:49 +01:00
6a64083175
fix: Escapes location search results
...
Nominatim results were inserted via innerHTML and loaded as a JSONP script
with an unencoded query. Results are now fetched as JSON, the query is URL
encoded, text is escaped and coordinates must be numeric.
2026-11-15 11:36:49 +01:00
100762ea2e
fix: Escapes OSM tag data in camera popups
...
camera.php built its JSON by hand with htmlentities(), which leaves
backslashes intact, and the client parsed it with eval() and inserted tag
values into the popup as HTML. A tag value such as <img ...> therefore
became live markup (stored XSS for anyone able to edit OSM data), and a lone
backslash broke parsing of the whole response.
- camera.php now builds the response with json_encode() and returns raw values
- tags named lat, lon, id, count, multi or poly no longer override the
fields set by the server
- error responses no longer include database error messages
- the client uses JSON.parse() and escapes all keys and values; only
http(s) URLs are rendered as links/images
2026-11-15 11:36:49 +01:00
954b534b10
fix: Handles pushed to all branches
Build (and tag) Images / build (push) Failing after 1m2s
2026-03-10 20:55:27 +01:00
17c6946361
fix: Resolves syntax error
images.yml / fix: Resolves syntax error (push) Failing after 0s
2026-03-10 20:54:46 +01:00
8775e3fc17
fix: Changes to docker pool
images.yml / fix: Changes to `docker` pool (push) Failing after 0s
2026-03-10 20:53:02 +01:00
9138d57429
Excludes tag= from replacement
Build (and tag) Images / build (pull_request) Successful in 46s
Build (and tag) Images / build (push) Successful in 48s
2025-10-25 17:53:03 +02:00
9cf8cffee4
fix: Replace invalid docker tag characters with underscore
2025-10-25 17:53:03 +02:00
afc3828575
Merge pull request 'renamed db-user to CAMERA_SELECT_USER' ( #22 ) from sunders-18 into main
...
Build (and tag) Images / build (push) Successful in 47s
Reviewed-on: #22
Reviewed-by: Vincent Mahnke <vimaster@noreply.git.hamburg.ccc.de>
2025-10-25 17:52:29 +02:00
3b92dbade7
renamed db-user to CAMERA_SELECT_USER
Build (and tag) Images / build (push) Successful in 47s
Build (and tag) Images / build (pull_request) Successful in 47s
2025-10-25 17:46:37 +02:00
b3a38df17a
Merge pull request 'added impressum as a var' ( #20 ) from impressum-as-var into main
...
Build (and tag) Images / build (push) Successful in 47s
Reviewed-on: #20
Reviewed-by: Vincent Mahnke <vimaster@noreply.git.hamburg.ccc.de>
2025-10-25 17:37:10 +02:00
7ab17a1af5
added impressum as a var
Build (and tag) Images / build (push) Successful in 49s
Build (and tag) Images / build (pull_request) Successful in 47s
2025-10-25 17:33:24 +02:00
c1c11dbabd
Merge pull request 'Minor updates to compose file' ( #19 ) from docker-compose into main
...
Build (and tag) Images / build (push) Successful in 47s
Reviewed-on: #19
2025-10-25 17:29:16 +02:00
1d38aea2ca
chore: Removes unused SELinux flag due to volume usage
Build (and tag) Images / build (push) Successful in 48s
Build (and tag) Images / build (pull_request) Successful in 47s
2025-10-25 17:28:11 +02:00
67ebf21a09
chore: Removes unused build steps and exposed ports
2025-10-25 17:28:11 +02:00
9a141276ed
Merge pull request 'added impressum' ( #16 ) from container into main
...
Build (and tag) Images / build (push) Successful in 48s
Reviewed-on: #16
2025-10-25 17:18:04 +02:00
288b76d30e
Merge branch 'main' into container
Build (and tag) Images / build (push) Successful in 48s
Build (and tag) Images / build (pull_request) Successful in 47s
2025-10-25 17:16:51 +02:00
969614a000
Merge pull request 'Removes unused files' ( #15 ) from unused-file into main
...
Build (and tag) Images / build (push) Successful in 48s
Reviewed-on: #15
2025-10-25 17:09:22 +02:00
c5cc45aa23
added impressum
Build (and tag) Images / build (push) Successful in 1m9s
Build (and tag) Images / build (pull_request) Successful in 1m1s
2025-10-25 16:56:26 +02:00
fb7db68946
Removes unused files
Build (and tag) Images / build (push) Successful in 46s
Build (and tag) Images / build (pull_request) Successful in 49s
2025-10-25 16:52:46 +02:00
78cf0ea078
Merge pull request 'Containerizes application' ( #12 ) from container into main
...
Build (and tag) Images / build (push) Successful in 50s
Reviewed-on: #12
2025-10-25 16:40:44 +02:00
5ee9d6a288
Merge branch 'main' into container
Build (and tag) Images / build (push) Successful in 47s
Build (and tag) Images / build (pull_request) Successful in 47s
2025-10-25 16:38:17 +02:00
641cb641ac
Merge pull request 'Resolve path issues in docs, removes dependency, moves database to volume' ( #11 ) from docs into container
...
Build (and tag) Images / build (push) Successful in 59s
Build (and tag) Images / build (pull_request) Successful in 47s
Reviewed-on: #11
2025-10-25 16:29:27 +02:00
6289ed9f7e
fix: Replaces external project reference
Build (and tag) Images / build (push) Successful in 49s
Build (and tag) Images / build (pull_request) Successful in 50s
2025-10-25 16:13:54 +02:00
d812b46516
chore: Removes need for container host directory by moving database to volume
2025-10-25 16:13:46 +02:00
55cc21f83d
docs: Uses new relative paths
Build (and tag) Images / build (push) Successful in 1m19s
Build (and tag) Images / build (pull_request) Successful in 1m4s
2025-10-25 15:32:07 +02:00
108c40bcf5
added new db-dump
Build (and tag) Images / build (push) Successful in 2m17s
2025-10-24 17:53:36 +02:00
aso
4c28ff9b0a
moved persistence
Build (and tag) Images / build (push) Successful in 37s
2025-10-19 18:44:52 +02:00
aso
c768645960
added changes to improve performance of sync
Build (and tag) Images / build (push) Successful in 1m4s
2025-10-19 17:19:44 +02:00
3f62a9e5d6
fix: enable forkProcessing to make Renovate work for this repo
...
Since Renovate is running in autodiscover mode and this repo is a fork,
enable forkProcessing to have Renovate work for this repo.
https://docs.renovatebot.com/configuration-options/#forkprocessing
2025-10-17 16:01:08 +02:00
aso
8612798373
improved performance
Build (and tag) Images / build (push) Successful in 38s
2025-10-14 21:37:29 +02:00
aso
6c8f5cce81
increased speed to create_sql
Build (and tag) Images / build (push) Successful in 47s
2025-10-14 18:32:33 +02:00
1d0841a650
edited gitignore
Build (and tag) Images / build (push) Successful in 47s
2025-10-14 17:34:13 +02:00
bf874b83b1
added create_sql scripts
2025-10-14 17:34:13 +02:00
8d5b74a773
Merge pull request 'Branch-specific image tagging' ( #8 ) from pwd into container
...
Build (and tag) Images / build (push) Successful in 34s
Reviewed-on: #8
2025-10-13 20:15:48 +02:00
ea4063917b
fix: Enables CI/CD for any branch push
Build (and tag) Images / build (push) Successful in 35s
Build (and tag) Images / build (pull_request) Successful in 36s
2025-10-13 19:26:57 +02:00
1e6f858426
fix: Enables image pushing for any git branch push
Build (and tag) Images / build (push) Successful in 35s
2025-10-13 19:23:50 +02:00
3aeb91101d
refactor: Limits docker image pushing to git pushes to main branch
Build (and tag) Images / build (push) Successful in 35s
2025-10-13 19:19:39 +02:00
f40692b483
feat: Tags built images branch-specific, to prevent production overrides from branches
Build Hello World Image / build (push) Successful in 46s
2025-10-13 19:04:45 +02:00
6c923de5ac
fix: Removes deprecated version parameter
Build Hello World Image / build (push) Successful in 35s
2025-10-13 18:57:19 +02:00
5eec2d3188
fix: Adds working directory to build steps
Build Hello World Image / build (push) Successful in 35s
2025-10-13 18:54:49 +02:00
8a5cf8c1ee
changed file names in build job
Build Hello World Image / build (push) Failing after 8s
2025-10-13 16:30:29 +02:00
10fcf55b10
moved files into subdirs
2025-10-13 16:28:20 +02:00
bf6ccf5094
removed helper file
Build Hello World Image / build (push) Successful in 37s
2025-10-12 18:10:11 +02:00
522c609ef1
added data_handeler container
Build Hello World Image / build (push) Successful in 1m4s
2025-10-12 17:35:28 +02:00
2b97fe8b10
Merge pull request 'Basic CI/CD integration' ( #4 ) from workflows into container
...
Build Hello World Image / build (push) Successful in 32s
Reviewed-on: #4
2025-10-12 17:07:01 +02:00
99a42e3b7a
Delete Containerfile.data_init
Build Hello World Image / build (push) Successful in 23s
Build Hello World Image / build (pull_request) Successful in 22s
2025-10-12 17:06:30 +02:00
1ac9d096ff
fix: Removes redundant volume
Build Hello World Image / build (push) Successful in 33s
Build Hello World Image / build (pull_request) Successful in 21s
2025-10-12 14:08:36 +02:00