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>
This commit is contained in:
60
Apps/geoguesser-ai/README.md
Normal file
60
Apps/geoguesser-ai/README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# 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:
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user