Add new frontend - fix 9

This commit is contained in:
Urtzi Alfaro
2025-07-22 17:01:12 +02:00
parent 5959eb6e15
commit 06cbe3f4e8
16 changed files with 2048 additions and 166 deletions

View File

@@ -27,6 +27,9 @@ volumes:
grafana_data:
model_storage:
log_storage:
nominatim_db_data:
nominatim_data:
# ================================================================
# SERVICES - USING ONLY .env FILE
@@ -215,6 +218,72 @@ services:
timeout: 5s
retries: 5
# ================================================================
# LOCATION SERVICES (NEW SECTION)
# ================================================================
nominatim-db:
image: postgis/postgis:15-3.3 # Use PostGIS enabled PostgreSQL image
container_name: bakery-nominatim-db
restart: unless-stopped
environment:
- POSTGRES_DB=${NOMINATIM_DB_NAME}
- POSTGRES_USER=${NOMINATIM_DB_USER}
- POSTGRES_PASSWORD=${NOMINATIM_DB_PASSWORD}
- PGDATA=/var/lib/postgresql/data/pgdata
- POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256" # Recommended for PostGIS
volumes:
- nominatim_db_data:/var/lib/postgresql/data
profiles:
- development
networks:
bakery-network:
ipv4_address: 172.20.0.30 # Assign a static IP for Nominatim to find it
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${NOMINATIM_DB_USER} -d ${NOMINATIM_DB_NAME}"]
interval: 10s
timeout: 5s
retries: 5
nominatim:
image: mediagis/nominatim:4.2 # A pre-built Nominatim image
container_name: bakery-nominatim
restart: unless-stopped
env_file: .env # Load environment variables from .env file
environment:
# Database connection details for Nominatim
- POSTGRES_HOST=nominatim-db
- POSTGRES_PORT=5432
- POSTGRES_USER=${NOMINATIM_DB_USER}
- POSTGRES_PASSWORD=${NOMINATIM_DB_PASSWORD}
- POSTGRES_DB=${NOMINATIM_DB_NAME}
- PBF_URL=${NOMINATIM_PBF_URL} # URL to your OpenStreetMap PBF data (e.g., Spain)
ports:
- "${NOMINATIM_PORT}:8080" # Expose Nominatim web interface
volumes:
- nominatim_data:/var/lib/nominatim # Persistent storage for Nominatim data and configuration
networks:
bakery-network:
ipv4_address: 172.20.0.120 # Assign a static IP for Nominatim service
depends_on:
nominatim-db:
condition: service_healthy # Ensure database is ready before Nominatim starts
# By default, mediagis/nominatim image will try to import data on first run
# if PBF_URL is set and the database is empty.
profiles:
- development
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/nominatim/status.php"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
memory: ${NOMINATIM_MEMORY_LIMIT:-8G} # Nominatim is memory-intensive for import
cpus: '${NOMINATIM_CPU_LIMIT:-4}' # Adjust based on your system and data
# ================================================================
# MICROSERVICES - CLEAN APPROACH
# ================================================================