Geo2Tz

Run your own REST API to find timezones from geo-coordinates. A simple, stable, and private solution for handling location data without third-party services.

Geo2Tz provides a straightforward, self-hostable service for converting geographical coordinates into their corresponding IANA timezone. The primary motivation is data privacy, allowing you to process location information without sending sensitive coordinates to third-party services. This mature and stable project offers a reliable solution for any application that needs timezone lookups.

The service is designed for simplicity and control, offering several key features:

  • Simple REST API: Retrieve a timezone with a single GET request to the /tz/{latitude}/{longitude} endpoint.
  • Self-Hosted and Private: Keep full control over your data by running the service on your own infrastructure.
  • Optional Authorization: Secure your API endpoint using a simple token-based authorization mechanism.
  • Container-Ready: Deploy easily using provided configurations for Docker, Docker Compose, and Kubernetes.
  • Data Versioning: An endpoint is available to check the current version of the timezone boundary database being used.

Directory Structure

geo2tz
.env
docker-compose.yml

docker-compose.yml

services:
  geo2tz:
    image: ghcr.io/noandrea/geo2tz:latest
    container_name: geo2tz
    ports:
      - "8080:8080"
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/"]
      interval: 30s
      timeout: 5s
      retries: 3

.env

# geo2tz is a stateless API and does not require any sensitive environment variables or credentials by default.
# If you place this behind a reverse proxy (like Traefik or Nginx Proxy Manager), you can define proxy-related secrets here.
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Geo2Tz

Favicon

 

  
  
Favicon

 

  
  
Favicon