---
title: "Deploy CodeOtter"
description: "Self-hosted AI code review: PR scores, merge gates, local or BYOK models"
category: "AI/ML"
url: https://railway.com/deploy/codeotter
---

# Deploy CodeOtter

Self-hosted AI code review: PR scores, merge gates, local or BYOK models

**[Deploy CodeOtter on Railway](https://railway.com/template/codeotter)**

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

- **Creator:** Dharmesh's Projects
- **Category:** AI/ML

## Template content

### codeotter https://codeotter.io/assets/codeotter-icon.svg

- **Image:** ghcr.io/dharmeshgurnani/codeotter:latest
- **Health check:** /healthz
- **Public domain:** Yes

## Documentation

# Deploy and Host CodeOtter on Railway

CodeOtter is a self-hosted AI pull request reviewer. Every PR gets six calibrated 0–100 scores, nine yes/no merge gates, a written review with severity-ranked findings and committable inline fixes. It works with GitHub, Bitbucket, Azure DevOps, Forgejo and Gitea, using your own model keys or local open-weight models.

## About Hosting CodeOtter

This template runs the official `ghcr.io/dharmeshgurnani/codeotter` image: the Node server and its bundled PocketBase database in one service. A volume on `/app/pb_data` keeps reviews, accounts and settings across redeploys, and the database admin password is generated for you. After deploy, open the public URL and sign in: the first account becomes the owner. Onboarding then connects your git provider (it can create a GitHub App for you), picks the review model and onboards repositories. No variables need to be filled in before deploying.

## Common Use Cases

- Automatic AI review and scoring of every pull request, posted back to the PR
- Merge gates for security, tests, docs, scope and your team's AGENTS.md / CLAUDE.md conventions
- A private, per-team alternative to per-seat hosted AI code review

## Dependencies for CodeOtter Hosting

- A git provider account (GitHub, Bitbucket, Azure DevOps, Forgejo or Gitea)
- An API key for a language model provider (Anthropic, OpenAI, MiniMax, OpenRouter or any OpenAI-compatible endpoint)

### Deployment Dependencies

- Source and docs: https://github.com/dharmeshgurnani/CodeOtter
- Documentation: https://docs.codeotter.io

### Implementation Details

Railway runs on CPU, so hosted model APIs are the practical choice here; local GGUF models work but are slow without a GPU. Webhooks arrive at `/webhooks/` on the public domain, and `/healthz` is the health check.

## Why Deploy CodeOtter on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying CodeOtter on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

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