New CasaOS app for AI-powered geographic image location analysis. Features: - Three-tier architecture (PostgreSQL, Backend API, Frontend) - Claude AI integration for image analysis - All environment variables configurable - Only frontend port exposed externally - Container registry authentication required Note: Icon file (icon.png) still needs to be added. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
GeoGuesser AI - CasaOS App
Icon Required
This app needs an icon file (icon.png) to be added to this directory.
The icon should be:
- PNG format
- Square dimensions (recommended: 256x256 or 512x512)
- Represents geographic/location analysis theme
Authentication Setup
This app requires authentication to pull container images from git.hinrichs.dev.
On the CasaOS host system, configure Docker/Podman authentication:
docker login git.hinrichs.dev
Or create/update ~/.docker/config.json with credentials.
Environment Variables
All environment variables from the original .env file are configurable during installation:
Required
CLAUDE_API_KEY: Anthropic Claude API key (get from https://console.anthropic.com/)
Database (defaults provided)
DB_USER: PostgreSQL username (default: geolocator)DB_PASSWORD: PostgreSQL password (default: geolocator_password)DB_NAME: PostgreSQL database name (default: geolocator_db)DB_SSLMODE: SSL mode for database (default: disable)
Application Settings
ENV: Application environment (default: production)PORT: Backend API port (default: 3000)CLAUDE_MODEL: Claude model to use (default: claude-sonnet-4-5)CLAUDE_API_URL: Claude API endpoint (default: https://api.anthropic.com/v1/messages)USE_MOCK_AI: Use mock AI for testing (default: false)
File Upload
MAX_IMAGE_SIZE_MB: Maximum image upload size (default: 10)ALLOWED_IMAGE_TYPES: Allowed MIME types (default: image/jpeg,image/png,image/webp)
External APIs
OVERPASS_API_URL: OpenStreetMap Overpass API (default: https://overpass-api.de/api/interpreter)ELEVATION_API_URL: Elevation API (default: https://api.open-elevation.com/api/v1/lookup)
CORS & Logging
ALLOWED_ORIGINS: CORS allowed origins (default: http://localhost:8080)LOG_LEVEL: Log level (default: info)LOG_FORMAT: Log format (default: json)
Ports
- 8080: Web UI (exposed externally)
- 3000: Backend API (internal only)
- 5432: PostgreSQL (internal only)
Volumes
/DATA/AppData/$AppID/postgres_data: PostgreSQL database storage/DATA/AppData/$AppID/uploads: Uploaded images storage