---
title: "Deploy NiubiGEO"
description: "Open-source AI brand visibility (GEO) reports, password-protected"
category: "Analytics"
url: https://railway.com/deploy/niubigeo
---

# Deploy NiubiGEO

Open-source AI brand visibility (GEO) reports, password-protected

**[Deploy NiubiGEO on Railway](https://railway.com/template/niubigeo)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/niubigeo/manifest.json

- **Creator:** Dektion Studio
- **Category:** Analytics
- **Total deploys:** 1

## Template content

### niubigeo https://raw.githubusercontent.com/Albert-Weasker/niubigeo/e2d60f213a40f5bde6e36f8ae00f4af8f9d02ab4/assets/brand/niubigeo-emblem.svg

- **Source:** dektionstudio/railway-template-images
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# Deploy and Host NiubiGEO on Railway

[NiubiGEO](https://github.com/Albert-Weasker/niubigeo) is an open-source (Apache-2.0) tool for GEO, generative engine optimization: it asks AI models about your brand and your competitors and keeps the raw answers and sources as evidence. You pick the models through OpenRouter and pay for the calls with your own key.

Its docs say not to put the workbench on the public internet without separate authentication and TLS, and scheduled measurements need a second process that shares the workbench's data folder. On Railway a volume attaches to one service, so this template runs both processes in one container, behind a login. Railway provides the HTTPS.

## About Hosting NiubiGEO

The deploy form asks for an OpenRouter API key. When the deploy finishes, open `NIUBIGEO_URL` from the Variables tab and log in as `admin` with `NIUBIGEO_PASSWORD`. Create a project for your domain, pick the models to ask, and run a measurement.

Before publishing I checked that `/health` answers without a password (for Railway's healthcheck) while the workbench and its API return 401 without one. With the password I created a project through the API and loaded OpenRouter's list of 458 models in 0.8 seconds. After a restart the project was still there. I didn't run a paid measurement in the test. The service used 55 MB of RAM at idle.

## Common Use Cases

- Check how AI models describe your brand next to competitors, with the answers saved as evidence
- Track the same questions on a schedule to see whether your visibility in AI answers changes

## Dependencies for NiubiGEO Hosting

An OpenRouter API key. Every measurement calls the models you choose, and some can also search the web, so costs depend on how many questions and models you run.

### Deployment Dependencies

- NiubiGEO: https://github.com/Albert-Weasker/niubigeo
- Image: `ghcr.io/albert-weasker/niubigeo:v0.2.0`
- The wrapper this template builds: https://github.com/dektionstudio/railway-template-images/tree/main/niubigeo

### Implementation Details

The login is HTTP basic auth in front of the workbench; the username is `NIUBIGEO_USER` (`admin` by default). Projects, runs and evidence are files under `/app/data`, which is the volume, so there's no database to manage.

Scheduled measurements run in the same container. They call models and cost credits when a schedule is due, so set `NIUBIGEO_SCHEDULER` to `false` if you only run measurements by hand. If either the workbench or the scheduler stops, the container exits and Railway restarts both.

The workbench shows an advisor card that links to NiubiGEO's own paid services. Set `NIUBIGEO_VIDEO_ADVISOR_ENABLED` to `false` to hide it.

This template runs NiubiGEO v0.2.0. Back up the volume before moving to a newer image, as upstream's upgrade notes recommend.

## Why Deploy NiubiGEO on Railway?

You get the workbench on your own HTTPS address with a login, and scheduled measurements keep running without a computer left on. At idle it costs about 50 cents a month in RAM; the model calls are the real cost.


## Similar templates

- [Typesense vs Meilisearch](https://railway.com/deploy/typesense-vs-meilisearch) — self-hosted Typesense vs Meilisearch
- [Betterlytics](https://railway.com/deploy/betterlytics) — Betterlytics is a cookieless analytics platform GDPR-compliant.
- [Finance Tracker](https://railway.com/deploy/finance-tracker-1) — Private multi-user household finance ledger with budgets and CSV import.

Open this page in a browser: https://railway.com/deploy/niubigeo
