You don’t need to understand code to follow this guide. Every step is written for someone who has never set up a developer project before. If a step says “⚠️ This could cost money”, read it carefully and confirm before continuing.
A container — think of it as a self-contained copy of the app running on your computer — that you can open in your browser like any normal website. It shows a photorealistic, interactive 3D globe with live aircraft, ships, satellites, earthquakes, traffic, public cameras, and more.
This repository is forked from bilawalsidhu/gods-eye-view All kudos to them. This is a containerized version of the original work, no additional features. The original README for this project can be read at README_gods-eye-view
You don’t need Git or any developer tools to get the files. Just use your browser.
Click this link to download everything as a ZIP file: ⬇️ Download gods-eye-view.zip
unzip gods-eye-view-main.zipYou’ll now have a folder called gods-eye-view-main. Open it — all the files are inside.
gods-eye-view folder”, it means this extracted folder.You need Podman (the program that runs the container). It’s free.
brew install podman && podman machine init && podman machine start
sudo apt install podman (Ubuntu/Debian) or sudo dnf install podman (Fedora/RHEL)⚠️ This step involves a service that charges money — but Google gives you 1,000 free sessions per month, which is very hard for a single person to use up during normal exploring. A “session” lasts up to 3 hours of globe rendering.
You will set up a spending cap in Steps 1d and 1e below before any charges could ever reach you. Do not skip those sub-steps.
The Google Maps key is the only required key. Without it the 3D photorealistic globe will not load. Everything else in this guide is optional and free.
gods-eye-view and click Create.The Map Tiles API is the specific Google service that provides the 3D photorealistic imagery.
Map Tiles API and click the result.This is your safety net. It sends you an email warning before you get anywhere near a real charge.
gods-eye-view-budget5 (this means $5 USD — you’ll be notified before spending this much)✅ You’ll now get an email warning if you ever approach $5 in charges. Normal single-person use of this app should cost $0 most months.
A budget alert tells you about spending. A quota cap stops it.
50 (that’s 50 sessions per day — more than enough for personal use, and it prevents any runaway spending).✅ You now have a hard daily ceiling. Even if something went wrong, you could never spend more than a few cents per day.
AIzaSy... (a long string of letters and numbers).An unrestricted API key could be used by anyone who finds it. Restricting it means it only works for this specific app.
http://localhost:4173/*http://127.0.0.1:4173/*✅ The key is now locked to only work when used from your local machine on port 4173.
gods-eye-view folder, find the file called .env.example..env (no .example at the end).
cp .env.example .env.env.env in any text editor (Notepad, TextEdit, VS Code — anything works).GOOGLE_MAPS_API_KEY=your_google_maps_api_key_hereyour_google_maps_api_key_here with the key you copied in step 1f.All of these are completely free. Each one unlocks an additional layer in the app. You can skip any or all of them and come back later.
Cesium Ion provides alternative satellite imagery (Bing Maps). The app works without it — you just won’t have those map style options.
gods-eye-view..env file, find the line: CESIUM_ION_TOKEN== sign.AISStream provides real-time ship positions from AIS transponders worldwide. Free forever for open-source use.
.env file, find: AISSTREAM_API_KEY== sign.Without this key the app shows a simulated traffic layer (clearly labelled as such). TomTom’s free tier gives you 50,000 tile requests per day — more than enough for personal use.
.env file, find: TOMTOM_API_KEY=
#) — remove the # first, then add your key.NASA’s FIRMS (Fire Information for Resource Management System) provides near real-time fire detections from satellites. Completely free.
.env file, find the line that says: # FIRMS_MAP_KEY=# at the start of the line and paste your key after the =.Without credentials, aircraft data still works (anonymous access) but with a stricter rate limit. If you’d like more frequent updates, create a free account.
client_id and client_secret values..env file, find and fill in:
OPENSKY_AUTH_MODE=oauth
OPENSKY_CLIENT_ID=<your client_id here>
OPENSKY_CLIENT_SECRET=<your client_secret here>
⚠️ OpenAI charges per minute of voice conversation. The app has a built-in $5 per-session cap. Visit https://platform.openai.com → Settings → Limits to set a monthly usage limit before enabling this.
Ask before continuing if you are unsure about the cost.
$5..env file, find: OPENAI_API_KEY== sign.Open a terminal in the gods-eye-view folder and run:
./run.sh
What happens next:
| What you want to do | Command |
|---|---|
| Start the app | ./run.sh |
| Stop the app | Press Ctrl+C in the terminal, or run ./run.sh --stop in another terminal |
| Rebuild after a code update | ./run.sh --rebuild |
| Check if the container is running | podman ps |
| See the app’s log output | podman logs gods-eye-view-dev |
“No .env file found”
Run cp .env.example .env in the gods-eye-view folder, then edit .env to add your Google Maps key.
The globe loads but is grey / no 3D buildings
Your Google Maps key is likely missing or incorrect. Double-check step 1h. Make sure there are no spaces around the = sign in .env.
“GOOGLE_MAPS_API_KEY is not set”
Open .env and make sure the line reads exactly:
GOOGLE_MAPS_API_KEY=AIzaSy... (your real key, no quotes, no spaces).
The page won’t load at all
The container may still be starting. Wait 30–60 seconds and try refreshing. If it still doesn’t load, run podman logs gods-eye-view-dev to see any error messages.
Port 4173 is already in use
Another program is using that port. Set a different port in your .env file:
PORT=4174
Then restart with ./run.sh. Open http://localhost:4174 instead.
| Layer | Cost | Notes |
|---|---|---|
| 3D photorealistic globe | 🔴 Metered | ~1,000 free sessions/month — hard to exhaust solo |
| Voice control + AI HUD | 🔴 Metered | Charged per minute of voice; built-in $5 session cap |
| Live aircraft (OpenSky) | 🟡 Free | Anonymous or authenticated — both free |
| Live ships (AISStream) | 🟡 Free | Free API |
| Satellites, earthquakes, fires | 🟡 Free | Public data sources |
| Public cameras (CCTV) | 🟡 Free | City open-data feeds |
| Traffic (TomTom) | 🟡 Free tier | 50k tile requests/day free |
| Alternative map styles (Cesium) | 🟡 Free tier | Public assets token |
| Rocket launches, radio stations | 🟡 Free | Public APIs |
For typical solo exploring on your own machine: expect $0 per month unless you use voice control heavily.
See also: SECURITY.md for how your API keys are protected, and DATA_SOURCES.md for details on every live data feed.