2.4 KiB
2.4 KiB
Docker Deployment Guide
Quick Start
Using Docker Compose (Recommended)
- Build and start the container:
docker-compose up -d --build
Note: The --build flag ensures the image is rebuilt with the latest code changes.
- Access the web interface:
- Main interface: http://localhost:5000
- Map viewer: http://localhost:5000/map
- Stop the container:
docker-compose down
Using Docker Directly
- Build the image:
docker build -t villages-import .
- Run the container:
docker run -d \
-p 5000:5000 \
-v "$(pwd)/data:/data" \
--name villages-import \
villages-import
- View logs:
docker logs -f villages-import
- Stop the container:
docker stop villages-import
docker rm villages-import
Features
Main Dashboard (/)
- Run data processing scripts for Lake and Sumter counties
- View real-time script output
- Access to:
- Diff Roads
- Diff Addresses
- Diff Multi-Use Paths
- Download OSM Data
Map Viewer (/map)
- Interactive map viewer for GeoJSON files
- Upload and compare OSM, Diff, and County data
- Filter by removed/added features
- Hide highway=service roads
- Drag-and-drop layer reordering
- Click on features to view properties
- Accept/reject diff features
Volume Mounts
The Docker container mounts a single data directory:
./data→/data- All data files, organized by date
Inside /data, the structure is:
/data/latest/- Symlink to the most recent data directory/data/YYMMDD/lake/- Lake County data for that date/data/YYMMDD/sumter/- Sumter County data for that date
All changes are persisted on the host in the local ./data folder.
API Endpoints
GET /- Main dashboardGET /map- Map viewerPOST /api/run-script- Execute a processing scriptGET /api/job-status/<job_id>- Get script status and logsGET /api/list-files- List available GeoJSON filesGET /data/<path>- Serve GeoJSON files
Troubleshooting
Port already in use
If port 5000 is already in use, edit docker-compose.yml:
ports:
- "8080:5000" # Change 8080 to any available port
Permission issues
Ensure the data directory has proper permissions:
mkdir -p data
chmod -R 755 data
View container logs
docker-compose logs -f
Rebuild after code changes
docker-compose down
docker-compose build --no-cache
docker-compose up -d