Files
CasaOS-alexanders-AppStore/Apps/geoguesser-ai
Alexander Hinrichs d9c6d2f8ce Add GeoGuesser AI app to store
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>
2025-11-26 22:52:18 +01:00
..
2025-11-26 22:52:18 +01:00

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

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

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