Tilda

Provides access to bicycle infrastructure data from OpenStreetMap for administrative staff.
https://github.com/fixmyberlin/tilda-geo

Category: Consumption
Sub Category: Mobility and Transportation

Keywords

openstreetmap osm radinfrastruktur radverkehr verkehrswende

Last synced: about 20 hours ago
JSON representation

Repository metadata

TILDA provides access to bicycle and parking infrastructure data from OpenStreetMap (OSM) for administrative staff.

.github/README.md

Environment variables and secrets

Deployment model

When checks run

  • CI: .github/workflows/ci.yml — manifest verification and related checks on every PR.
  • Deploy: setup-env.yml — same verification plus generated .env for the target environment.
  • Local (app/): bun run env-check after changing the manifest, .env.example, or compose / workflow env wiring (app/package.json env-check:*).

Consistency / drift

  • Manifest defines deploy variables (name, source, required/default, description).
  • CI fails if manifest keys are missing from .env.example or docker-compose.yml, or if unmanaged keys appear in compose or setup-env mappings.
  • The generated table in this file must match the manifest (regenerate with bun .github/scripts/generate-github-readme.ts when needed).
  • Deploy generation fails if a required GitHub var/secret is missing for the selected environment.
  • Some .env.example entries are local-only (e.g. DATABASE_URL_* for app/scripts/db-pull); they stay out of the manifest and setup-env mappings.

Security

  • Generated deploy env is not committed; production values live in GitHub Environments / Secrets.
  • /srv/.env: restrict on the host as needed (not world-readable); see deployment model and Operations (SSH).
  • Prefer runtime env over Docker build args for secrets.
  • Prefer AWS OIDC over long-lived access keys where applicable.

Operations (SSH)

  • cd /srv && docker compose logs app -f — needs readable /srv/.env (above permissions).
  • docker logs -f app — container logs only; does not read /srv/.env.

Source mapping (generated)

Name Source Required Description
ENVIRONMENT inputs.ENVIRONMENT yes Deployment target environment (staging|production).
DATABASE_HOST vars.DATABASE_HOST yes Database host used by app/processing and PG client variables.
DATABASE_USER secrets.DATABASE_USER yes Database username. Sensitive.
DATABASE_PASSWORD secrets.DATABASE_PASSWORD yes Database password. Sensitive.
DATABASE_NAME secrets.DATABASE_NAME yes Database name.
PROCESS_GEOFABRIK_DOWNLOAD_URL vars.PROCESS_GEOFABRIK_DOWNLOAD_URL yes PBF download URL (internal/public Geofabrik extract).
PROCESS_GEOFABRIK_OAUTH_OSM_USERNAME secrets.PROCESS_GEOFABRIK_OAUTH_OSM_USERNAME no Optional Geofabrik OAuth username. Sensitive.
PROCESS_GEOFABRIK_OAUTH_OSM_PASSWORD secrets.PROCESS_GEOFABRIK_OAUTH_OSM_PASSWORD no Optional Geofabrik OAuth password. Sensitive.
TILES_URL vars.TILES_URL yes Public tile endpoint hostname.
CACHELESS_URL vars.CACHELESS_URL yes Cacheless tile endpoint hostname.
VITE_APP_ORIGIN vars.VITE_APP_ORIGIN yes Public app origin.
VITE_APP_ENV vars.VITE_APP_ENV yes App environment for client/server behavior.
APP_URL vars.APP_URL yes Main app hostname used by Traefik labels.
SESSION_SECRET_KEY secrets.SESSION_SECRET_KEY yes Session signing secret. Sensitive.
OSM_CLIENT_ID secrets.OSM_CLIENT_ID yes OSM OAuth client ID. Sensitive.
OSM_CLIENT_SECRET secrets.OSM_CLIENT_SECRET yes OSM OAuth client secret. Sensitive.
S3_KEY secrets.S3_KEY yes S3 access key. Sensitive.
S3_SECRET secrets.S3_SECRET yes S3 secret key. Sensitive.
S3_REGION secrets.S3_REGION yes S3 region.
S3_BUCKET secrets.S3_BUCKET yes S3 bucket used by app/scripts.
ATLAS_API_KEY secrets.ATLAS_API_KEY yes Internal atlas API key. Sensitive.
MAPROULETTE_API_KEY secrets.MAPROULETTE_API_KEY yes MapRoulette API key. Sensitive.
MAILJET_APIKEY_PUBLIC secrets.MAILJET_APIKEY_PUBLIC no Optional Mailjet public key. Sensitive.
MAILJET_APIKEY_PRIVATE secrets.MAILJET_APIKEY_PRIVATE no Optional Mailjet private key. Sensitive.
SKIP_DOWNLOAD vars.SKIP_DOWNLOAD no Processing flag (default 1). Default: 1.
SKIP_UNCHANGED vars.SKIP_UNCHANGED no Processing flag (default 0). Default: 0.
PROCESSING_DIFFING_MODE vars.PROCESSING_DIFFING_MODE yes Diffing mode for processing.
PROCESSING_DIFFING_BBOX vars.PROCESSING_DIFFING_BBOX yes Diffing bbox for processing.
ECR_REGISTRY vars.ECR_REGISTRY yes Private ECR registry URL used by docker-compose to pull images.

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 4 days ago

Total Commits: 6,141
Total Committers: 9
Avg Commits per committer: 682.333
Development Distribution Score (DDS): 0.346

Commits in past year: 1,509
Committers in past year: 4
Avg Commits per committer in past year: 377.25
Development Distribution Score (DDS) in past year: 0.228

Name Email Commits
Tobias t****s@f****e 4015
Laurenz Rasche l****z@f****e 1435
Sven König s****n@d****m 367
Henri h****i@f****e 306
Carolin B 3****o 9
SupaplexOSM 6****M 5
JohannaPeanut 7****t 2
gislars l****s@l****u 1
Annika 5****a 1

Committer domains:


Issue and Pull Request metadata

Last synced: 6 days ago

Total issues: 7
Total pull requests: 141
Average time to close issues: about 2 months
Average time to close pull requests: 6 days
Total issue authors: 2
Total pull request authors: 3
Average comments per issue: 1.14
Average comments per pull request: 0.18
Merged pull request: 112
Bot issues: 0
Bot pull requests: 0

Past year issues: 6
Past year pull requests: 87
Past year average time to close issues: N/A
Past year average time to close pull requests: 6 days
Past year issue authors: 2
Past year pull request authors: 3
Past year average comments per issue: 0.33
Past year average comments per pull request: 0.09
Past year merged pull request: 66
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/fixmyberlin/tilda-geo

Top Issue Authors

  • tordans (6)
  • danieldegroot2 (1)

Top Pull Request Authors

  • tordans (117)
  • rush42 (16)
  • ohrie (8)

Top Issue Labels

Top Pull Request Labels


Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • bahmutov/npm-install HEAD composite
.github/workflows/deploy-app.yml actions
  • actions/checkout v3 composite
  • appleboy/scp-action v0.1.4 composite
  • appleboy/ssh-action master composite
  • aws-actions/configure-aws-credentials v2 composite
  • docker/build-push-action v3 composite
  • docker/setup-buildx-action v2 composite
docker-compose.yml docker
  • postgres latest
.github/workflows/deploy-force.yml actions
.github/workflows/deploy.production.yml actions
.github/workflows/setup-env.yml actions
  • actions/checkout v4 composite
  • appleboy/scp-action master composite
  • appleboy/ssh-action master composite
.github/workflows/diff-last-run.yml actions
  • actions/checkout v4 composite
processing/package.json npm
  • @types/bun ^1.2.18 development
  • prettier ^3.6.2 development
  • prettier-plugin-organize-imports ^4.1.0 development
  • @date-fns/tz ^1.4.1
  • @turf/turf ^7.2.0
  • chalk ^5.4.1
  • date-fns ^4.1.0
  • geojson ^0.5.0
  • zod ^3.25.76
.github/workflows/deploy.staging.yml actions
.github/workflows/generate-tiles.production.yml actions
.github/workflows/generate-tiles.staging.yml actions
.github/workflows/deploy-processing.yml actions
  • actions/checkout v4 composite
  • appleboy/ssh-action master composite
  • aws-actions/configure-aws-credentials v4 composite
  • docker/build-push-action v5 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/generate-tiles.yml actions
  • appleboy/ssh-action master composite
docker-compose.network.yml docker
  • nginx alpine
  • traefik v3.6
app/package-lock.json npm
  • 1957 dependencies
app/package.json npm
  • @aws-sdk/client-s3 3.848.0 development
  • @heroicons/react ^2.2.0 development
  • @next/bundle-analyzer 14.2.30 development
  • @next/env 14.2.30 development
  • @placemarkio/check-geojson 0.1.14 development
  • @tailwindcss/forms ^0.5.10 development
  • @tailwindcss/typography ^0.5.16 development
  • @testing-library/jest-dom 6.6.3 development
  • @testing-library/react 16.3.0 development
  • @testing-library/react-hooks 8.0.1 development
  • @total-typescript/ts-reset 0.6.1 development
  • @types/bun 1.2.18 development
  • @types/dompurify ^3.2.0 development
  • @types/js-cookie 3.0.6 development
  • @types/jsurl2 ^2.1.4 development
  • @types/lodash 4.17.20 development
  • @types/mapbox__mapbox-gl-draw ^1.4.9 development
  • @types/node 22.19.0 development
  • @types/preview-email 3.1.0 development
  • @types/react 18.3.23 development
  • @types/react-dom ^18.3.7 development
  • @types/spritesmith 3.4.5 development
  • @types/web 0.0.172 development
  • @typescript-eslint/eslint-plugin 8.37.0 development
  • @vitejs/plugin-react 4.7.0 development
  • @vitest/ui 2.1.9 development
  • autoprefixer ^10.4.21 development
  • chalk ^5.4.1 development
  • eslint 8.57.1 development
  • eslint-config-next 14.2.30 development
  • eslint-config-prettier ^10.1.5 development
  • eslint-plugin-react-compiler 19.0.0-beta-ebf51a3-20250411 development
  • husky 9.1.7 development
  • jsdom 25.0.1 development
  • minimatch 9.0.5 development
  • papaparse 5.5.3 development
  • parse-gitignore 2.0.0 development
  • patch-package 8.0.0 development
  • postcss ^8.5.6 development
  • prettier 3.6.2 development
  • prettier-plugin-organize-imports 4.1.0 development
  • prettier-plugin-prisma 5.0.0 development
  • prettier-plugin-tailwindcss 0.6.14 development
  • preview-email 3.1.0 development
  • react-email 3.0.7 development
  • spritesmith 3.5.1 development
  • tailwindcss ^3.4.17 development
  • typescript 5.9.3 development
  • use-changed-props 0.1.0 development
  • vitest 2.1.9 development
  • @blitzjs/auth 2.2.4
  • @blitzjs/next 2.2.4
  • @blitzjs/rpc 2.2.4
  • @date-fns/tz 1.4.1
  • @date-fns/utc 2.1.1
  • @headlessui/react 2.2.4
  • @hookform/error-message 2.0.1
  • @hookform/resolvers 3.10.0
  • @json2csv/plainjs 7.0.6
  • @mapbox/mapbox-gl-draw ^1.5.0
  • @maptiler/geocoding-control 2.1.7
  • @prisma/client 5.22.0
  • @react-email/components 1.0.1
  • @tanstack/react-query 5.83.0
  • @turf/turf ^7.2.0
  • adler-32 1.3.1
  • ajv 8.17.1
  • betterknown 1.0.5
  • blitz 2.2.4
  • date-fns 4.1.0
  • dompurify ^3.2.6
  • geojson 0.5.0
  • immer 10.1.1
  • js-cookie 3.0.5
  • jsts 2.12.1
  • jsurl2 2.2.0
  • lodash 4.17.21
  • maplibre-gl 4.7.1
  • next 14.2.35
  • next-auth 4.24.11
  • node-mailjet 6.0.11
  • nuqs 1.20.0
  • pluralize 8.0.0
  • pmtiles 3.2.1
  • prisma 5.22.0
  • react 18.3.1
  • react-dom 18.3.1
  • react-hook-form 7.60.0
  • react-intl ^6.8.9
  • react-map-gl 7.1.9
  • react-remark ^2.1.0
  • secure-password 4.0.0
  • server-only 0.0.1
  • sharp 0.33.5
  • slugify 1.6.6
  • tailwind-merge 3.3.1
  • tiny-invariant ^1.3.3
  • use-resize-observer 9.1.0
  • zod 3.25.76
  • zustand ^5.0.6
processing/bun.lock npm
  • 159 dependencies
.github/workflows/restart-services.yml actions
  • appleboy/ssh-action master composite
docker-compose.override.yml docker
  • app latest
  • processing latest
.github/workflows/generate-maproulette-tasks.production.yml actions

Score: 5.564520407322694