Update deployment

pull/138/head
Irwan Fathurrahman 2025-05-23 08:04:31 +07:00
rodzic b1f60c3c1c
commit 4d24a2354e
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: D4CA0A2970099C20
8 zmienionych plików z 120 dodań i 6 usunięć

Wyświetl plik

@ -18,6 +18,13 @@ build:
@echo "------------------------------------------------------------------"
@docker-compose build
release-multiarch:
@echo
@echo "------------------------------------------------------------------"
@echo "Building images for production mode with release tag"
@echo "------------------------------------------------------------------"
docker buildx bake -f docker-compose.release.yml --set *.platform=linux/amd64,linux/arm64 --no-cache --push
redeploy:
@echo
@echo "------------------------------------------------------------------"

Wyświetl plik

@ -0,0 +1,13 @@
version: '3.4'
services:
imposm:
build: docker-imposm
image: meomancer/docker-osm:imposm-1.0.0
osmupdate:
build: docker-osmupdate
image: meomancer/docker-osm:osmupdate-1.0.0
osmenrich:
build: docker-osmenrich
image: meomancer/docker-osm:osmenrich-1.0.0

Wyświetl plik

@ -74,9 +74,6 @@ services:
osmenrich:
image: kartoza/docker-osm:osmenrich-latest
build:
context: ./docker-osmenrich
dockerfile: Dockerfile
volumes:
- settings-data:/home/settings
- import_done:/home/import_done

Wyświetl plik

@ -1,4 +1,4 @@
FROM golang:1.19
FROM golang:1.21
MAINTAINER Etienne Trimaille <etienne.trimaille@gmail.com>
RUN apt-get update && \
@ -9,7 +9,7 @@ RUN go install github.com/omniscale/imposm3/cmd/imposm@latest
WORKDIR /home
ADD requirements.txt .
RUN pip3 install -r requirements.txt
RUN pip install --break-system-packages -r requirements.txt
ADD importer.py .

Wyświetl plik

@ -0,0 +1,32 @@
# Docker ImpOSM3
> Version 1.0.0
This image will take care of doing the initial load for the selected region
(e.g. planet, or a country such as Malawi) into your database. It will then
apply, at a regular interval (default is 2 minutes), any diff that arrives
in the /home/import_queue folder to the postgis OSM database. The diffs
are fetched by a separate container (see osm_update container).
The container will look for an OSM file (*.pbf) and its state file
(*.state.txt) in BASE_PBF.
With -e, you can add some settings :
```bash
- TIME = 120, seconds between 2 executions of the script
- POSTGRES_USER = docker, default user
- POSTGRES_PASS = docker, default password
- POSTGRES_HOST = db
- POSTGRES_PORT = 5432
- SETTINGS = settings, folder for settings (with *.json and *.sql)
- CACHE = cache, folder for caching
- BASE_PBF = base_pbf, folder the OSM file
- IMPORT_DONE = import_done, folder for diff which has been imported
- IMPORT_QUEUE = import_queue, folder for diff which hasn't been imported yet
- SRID = 4326, it can be 3857
- OPTIMIZE = false, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#optimize]
- DBSCHEMA_PRODUCTION = public, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
- DBSCHEMA_IMPORT = import, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
- DBSCHEMA_BACKUP = backup, check (Imposm)[http://imposm.org/docs/imposm3/latest/tutorial.html#deploy-production-tables]
```

Wyświetl plik

@ -1,4 +1,7 @@
# Docker-osmenrich
# Docker OSMENRICH
> Version 1.0.0
Docker osm-enrich is the extension for docker osm to get the changeset of the osm data.
It will get the data from osm API and also get the update data from files that generated from docker-osmupdate

Wyświetl plik

@ -0,0 +1,48 @@
# Docker OSM Update
> Version 1.0.0
This docker image, when run will regularly fetch any new diff file for all the
changes that have happened in the world over the update interval.
You can also specify a custom url for fetching the diff if you wish to retrieve
regional diffs rather than the global one.
You can specify a polygonal area for the diff so that it will only apply features
from the diff that fall within that area. For example providing a polygon of the
borders of Malawi will result in only Malawi features being extracted from the diff.
**Note:** the diff retrieved and options specified here are not related to the
initial base map used - so for example if your initial base map is for Malawi and
you specify a diff area in Botswana, updated features in Botswana will be applied
to your base map which only includes features from Malawi. For this reason, take
care to ensure that your diff area coincides with the region covered by your
original base map.
Once the diff has been downloaded, it is placed into /home/import_queue where
it will be picked up by the long running imposm3 container, which will apply
the diff to the database.
You should have 3 folders : osm_pbf, import_queue, import_done
Put a state file in base-pbf like this one :
http://download.openstreetmap.fr/extracts/africa/south_africa.state.txt
```bash
docker build -t osmupdate .
docker run -v $('pwd')import-queue/:/home/import-queue -v $('pwd')base-pbf/:/home/base-pbf -v $('pwd')import-done/:/home/import-done -d osmupdate
```
With -e, you can add some settings :
```bash
- MAX_DAYS = 100, the maximum time range to assemble a cumulated changefile.
- DIFF = sporadic, osmupdate uses a combination of minutely, hourly and daily changefiles. This value can be minute, hour, day or sporadic.
- MAX_MERGE = 7, argument to determine the maximum number of parallely processed changefiles.
- COMPRESSION_LEVEL = 1, define level for gzip compression. values between 1 (low compression but fast) and 9 (high compression but slow)
- BASE_URL = http://planet.openstreetmap.org/replication/, change the URL to use a custom URL to fetch regional file updates.
- IMPORT_QUEUE = import_queue
- IMPORT_DONE = import_done
- OSM_PBF = osm_pbf
- TIME = 120, seconds between two executions of the script
```

Wyświetl plik

@ -300,6 +300,20 @@ With -e, you can add some settings :
You can adjust these preferences in the ```docker-compose.yml``` file provided
in this repository.
### Docker OSM Enrich
Docker osm-enrich is the extension for docker osm to get the changeset of the osm data.
It will get the data from osm API and also get the update data from files that generated from docker-osmupdate
- data is new (changeset is null) : get from docker osm
- data is exist but need to check the recent changeset : get data from file generated from osmupdate, update into database
osmenrich will create new fields which are:
- changeset_id
- changeset_timestamp
- changeset_version
- changeset_user
# PostGIS
For environment variables associated with `docker-postgis` refer to [docker postgis repository](https://github.com/kartoza/docker-postgis)