putting a self hosted geocoder together. a key pre-requiste for any mapping stuff we do.

This commit is contained in:
2025-07-20 13:44:50 -05:00
parent 5b0d005cb5
commit 5503b22efc
4 changed files with 496 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
services:
gisgraphy:
image: gisgraphy/gisgraphyofficial:latest
container_name: KNELDevStack-CDS-gisgraphy-server
hostname: gisgraphy.local
ports:
- "${GISGRAPHY_WEB_PORT:-12001}:8080" # Web interface
- "${GISGRAPHY_API_PORT:-12002}:8081" # Additional Gisgraphy port if needed
environment:
- PGPASSWORD=${POSTGRES_PASSWORD:-gisgraphy123}
- JAVA_OPTS=-Xmx2g -Xms1g
volumes:
# Persist PostgreSQL data
- /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/data:/var/lib/postgresql/data
# Persist Gisgraphy application data
- /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/app:/usr/local/gisgraphy
# Persist logs
- /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/logs:/var/log/gisgraphy
# Optional: Mount custom configuration
- /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/config:/usr/local/gisgraphy/config:ro
# Optional: Mount data dumps for import
- /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/dumps:/opt/dumps:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# Optional: Separate PostgreSQL service if you want to manage DB separately
# Uncomment the section below if you prefer a separate database container
#
# postgres:
# image: postgis/postgis:13-3.1
# container_name: gisgraphy-postgres
# environment:
# - POSTGRES_DB=gisgraphy
# - POSTGRES_USER=gisgraphy
# - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-gisgraphy123}
# - POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=en_US.UTF-8"
# volumes:
# - /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/postgres:/var/lib/postgresql/data
# - /home/localuser/KNELDevStack-CDS/docker-data/GIS/gisgraphy/init-scripts:/docker-entrypoint-initdb.d:ro
# ports:
# - "5432:5432"
# restart: unless-stopped
networks:
default:
name: gisgraphy-network