Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Running Website

docker run --rm -ti -v $(pwd):/work --workdir /work/website -u 1000 -p 8080:8080 node:lts-alpine3.23 sh
npm i
# dev
npm run serve
# prod
npm run build

Requirements

  • Docker (for running tools like tippecanoe, tilemaker, and osmium)
  • Conda (for installing snakemake and orchestrating tools on host)
  • rclone.conf
# rclone.conf
[r2]
type = s3
provider = Cloudflare
access_key_id = abc123
secret_access_key = xyz456
endpoint = https://<accountid>.r2.cloudflarestorage.com
acl = private
  • website.sqlite DDL
  • .env
ZONE_ID=
CLOUDFLARE_API_TOKEN=
HEALTHCHECKS_URL=

Generate OpenStreetMap for Saudi Arabia

  • Setup snakemake
# Build the images with the current host user's UID/GID.
USER_UID=$(id -u) USER_GID=$(id -g) docker compose build
mkdir data
conda create -c conda-forge -c bioconda -c nodefaults -n snakemake snakemake-minimal
conda activate snakemake

# run all
snakemake -p --cores 1 --snakefile pipelines/make-osm.smk --rerun-incomplete

# run specific job and downstream
snakemake -p --cores 1 --snakefile pipelines/make-osm.smk --forcerun make_mbtiles

# run only specific job
snakemake -p --cores 1 --snakefile pipelines/make-osm.smk --force make_mbtiles

# print commands without run
snakemake -pn --cores 1 --snakefile pipelines/make-osm.smk --forceall

Generate World Overviews (water, continents, countries, capitals ..etc)

# run
snakemake -p --cores 1 --snakefile pipelines/make-world-overview.smk clean --forceall

# run only specific job
snakemake -p --cores 1 --snakefile pipelines/make-world-overview.smk --force make_mbtiles

# print commands without run
snakemake -pn --cores 1 --snakefile pipelines/make-world-overview.smk clean --forceall

# test
docker run --rm \
  -p 8080:8080 \
  -v "$PWD:/work" \
  maptiler/tileserver-gl \
  -c /work/config.json \
  --verbose

# get shp layer names
docker run --rm -ti -v $(pwd):/work --workdir /work -u 1000 ghcr.io/osgeo/gdal:latest bash
ogrinfo -so your_layer.shp your_layer

Setup Systemd Timer

sudo cp pipelines/make-osm.service /etc/systemd/system/
sudo cp pipelines/make-osm.timer /etc/systemd/system/

# enable
sudo systemctl daemon-reload
sudo systemctl enable --now make-osm.timer

# test
sudo systemctl start make-osm.service
journalctl -u make-osm.service -f

# check timer
systemctl list-timers make-osm.timer

OpenMapTiles tiles helper tools

# gzip styles and push styles to r2
bash pipelines/push-styles.sh

# push sprites
bash pipelines/push-sprites.sh

# push fonts
bash pipelines/push-fonts.sh

Build assets

References

About

الخريطة السعودية مفتوحة المصدر

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages