Deploy Obsidian Arc
Self-hosted multi-user AI chat and OpenAI-compatible API gateway
obsidian-arc
Just deployed
/data
Deploy and Host self hosted Obsidian Arc (AI Chat Gateway) on Railway
Obsidian Arc is an open-source, self-hosted multi-user AI chat service and API gateway.
About Hosting Obsidian Arc open-source software on Railway (self hosted Obsidian Arc template)
Obsidian Arc is an MIT-licensed, self-hosted multi-user AI chat service and OpenAI/Anthropic-compatible API gateway. It is unrelated to the Obsidian note-taking app.
Why Deploy Obsidian Arc, the self-hosted AI chat and API gateway on Railway (Railway Free Trial)
Obsidian Arc on Railway gives a small team a shared chat UI and OpenAI-compatible API gateway without managing a server, and you keep control of your provider keys.
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 Obsidian Arc 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.
Railway vs Other Hosting Providers and VPS for Obsidian Arc self hosting
Obsidian Arc runs as one Go binary with SQLite on a volume; the choice is how much host you manage.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | A template with a /data volume, generated admin and secret values, and a domain; no server to patch. | A Droplet you configure yourself, including OS, reverse proxy, TLS and backups. |
| AWS | One deploy with the volume and domain wired up, and no IAM or VPC to set first. | Wide networking and storage control, with more services to configure first. |
| Hetzner | A managed deploy that handles the container, volume and public URL without manual Docker setup. | Low-cost servers where you install Docker, set up HTTPS and upgrade yourself. |
Choose based on how much server administration you want.
Common Use Cases for hosted Obsidian Arc
- A multi-user ChatGPT-style web chat for a team: Each person signs in with their own account; conversations, projects and image generation stay on your instance.
- An OpenAI and Anthropic compatible /v1 gateway for developers: Engineers create API keys and point chat completions or Messages clients at your instance, never handling provider keys.
- User groups with model access lists and quotas: Set which group sees which models and per-group usage limits.
- Model routing and aliases across providers: Map one friendly model name to any provider and model ID, so vendors can change without renaming what users call.
- Invite-only access for a team: Set registration to invite-only in the admin console and hand out invite codes.
Dependencies for Obsidian Arc Docker hosted on Railway
The template runs one service from ghcr.io/onepush-dev/obsidian-arc:0.12.1, an independent community packaging of the official v0.12.1 binary, on port 8080 with a volume at /data.
Deployment Dependencies for Managed Obsidian Arc Service (one Go binary with embedded web UI, SQLite on a /data volume; no Redis or queue)
Obsidian Arc is a single Go binary with an embedded web UI, storing data in SQLite on /data.
Implementation Details for Obsidian Arc (ghcr.io/onepush-dev/obsidian-arc:0.12.1 copies the unmodified official v0.12.1 binary onto alpine:3.22 with tini and a start script, because the Railway volume is root-owned and the upstream distroless nonroot image has no shell; baked OBSIDIAN_TRUST_PROXY=true, OBSIDIAN_TRUSTED_PROXIES=100.64.0.0/10,127.0.0.1/32, OBSIDIAN_COOKIE_SECURE=true, OBSIDIAN_ADMIN_USER=admin)
| Variable | Purpose |
|---|---|
| OBSIDIAN_ADMIN_PASSWORD | Password for the super-admin account created on first boot |
| OBSIDIAN_SECRET_KEY | Key that encrypts stored provider credentials; keep it safe |
| OBSIDIAN_PUBLIC_URL | Public HTTPS address used for mail links, OAuth callbacks and the OIDC issuer |
How does Obsidian Arc compare against other tools
Obsidian Arc vs LibreChat (Self-Hosted Chat Alternative)
- Deployment shape: Obsidian Arc ships as one Go binary with an embedded web UI and SQLite on a single volume, with no Redis or queue. LibreChat is generally a multi-service stack.
- Gateway surface: Obsidian Arc serves OpenAI-style and Anthropic-style endpoints from the same instance as the chat UI.
- Where LibreChat may win: a larger plugin ecosystem and longer track record.
Obsidian Arc vs Open WebUI (Self-Hosted Chat Alternative)
- Access control: Obsidian Arc has user groups with model access lists and shared quotas, which suits a team sharing provider keys.
- Provider keys: Stored credentials are encrypted, and the generated secret key must be kept, since losing it makes them unreadable.
- Where Open WebUI may win: a large community and local-model focus.
Obsidian Arc vs LiteLLM (Self-Hosted LLM Proxy Alternative)
- Scope: LiteLLM is mainly a proxy and routing layer. Obsidian Arc combines routing with a multi-user chat interface.
- Model routing: Obsidian Arc maps models across providers and exposes aliases, enough for a small team.
- Where LiteLLM may win: a high-throughput gateway with no chat UI.
Obsidian Arc with Docker vs Railway (Hosting Comparison)
- Setup: Docker on your own host means handling the volume, HTTPS proxy, and secret key yourself. The Railway template pre-creates the admin account and closes public sign-up on first boot.
- Persistence: On Railway, SQLite lives on a volume at
/data. Keep one replica for this local state and back up that volume. - Where Docker may win: full host, network or Postgres control.
How to use Obsidian Arc on Railway?
- Open your Railway domain and sign in as
adminwith theOBSIDIAN_ADMIN_PASSWORDvalue from the Variables tab. This super_admin account is created on first boot. - In the admin console, add providers such as Anthropic, OpenAI, DeepSeek, OpenRouter, Ollama or vLLM with your own keys, then add the models to expose.
- Create user groups, assign model access lists, and set request, token or credit quotas.
- Registration is closed on first boot. Reopen it as open or invite-only in the admin console only when you want sign-ups.
- Developers create an API key and call
/v1/chat/completionsor/v1/messageswith the configured models.
To confirm the service is up, check the health endpoint:
curl https://your-domain/api/health
How to self host Obsidian Arc on other VPS Services (Obsidian Arc self hosting guide)
Any Linux VPS with Docker and a domain works.
Clone the Repository
Clone the upstream project at the v0.12.1 tag for source or docs.
git clone --branch v0.12.1 https://github.com/OnyxAxisOwO/ObsidianArc.git
cd ObsidianArc
Install Dependencies
Docker is the only host requirement; the release image bundles the binary and web UI.
docker --version
Configure Environment Variables
Set the admin account and a stable secret key before the first start, or the first registered user becomes admin.
export OBSIDIAN_ADMIN_USER=admin
export OBSIDIAN_ADMIN_PASSWORD="$(openssl rand -base64 24)"
export OBSIDIAN_SECRET_KEY="$(openssl rand -hex 32)"
export OBSIDIAN_PUBLIC_URL=https://your-domain
Put a reverse proxy in front that terminates HTTPS, then set OBSIDIAN_TRUST_PROXY=true and list the proxy in OBSIDIAN_TRUSTED_PROXIES.
Start the Obsidian Arc Application
Run the pinned image with a named volume for /data, publishing port 8080 to your proxy.
docker run -d --name obsidian-arc --restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v arc-data:/data \
-e OBSIDIAN_ADMIN_USER -e OBSIDIAN_ADMIN_PASSWORD \
-e OBSIDIAN_SECRET_KEY -e OBSIDIAN_PUBLIC_URL \
-e OBSIDIAN_TRUST_PROXY=true \
-e OBSIDIAN_TRUSTED_PROXIES=your-proxy-address \
-e OBSIDIAN_COOKIE_SECURE=true \
ghcr.io/onyxaxisowo/obsidianarc:v0.12.1
curl http://localhost:8080/api/health
On your own VPS you manage HTTPS, the volume and restarts; Railway handles those.
Official Pricing of Obsidian Arc (Obsidian Arc pricing)
Obsidian Arc is MIT open-source software with no upstream hosted plan, so self-hosting the software is free. Providers you connect bill model usage.
Obsidian Arc hosted vs self hosted comparison (Pricing, features, costs, and more)
Obsidian Arc is free MIT software with no upstream hosted plan; connected providers bill model usage.
Monthly cost of self hosting Obsidian Arc on Railway
Railway bills on usage: RAM and CPU used, the /data volume size and any other services you add.
System Requirements for Hosting Obsidian Arc on a VPS
Obsidian Arc is a single Go binary with an embedded web UI and SQLite on a volume; no Redis or queue.
Frequently Asked Questions (FAQs)
How do I sign in to my Obsidian Arc instance?
Open your Railway domain and sign in as admin with the password in the OBSIDIAN_ADMIN_PASSWORD variable on the Variables tab.
Can strangers sign up on my instance?
No. The template closes public registration on first boot, so only the admin account exists until you reopen registration as open or invite-only in the admin console.
What happens if I change OBSIDIAN_SECRET_KEY?
Saved provider credentials are encrypted with this key, so changing it makes them unreadable and you would need to re-enter them. Keep the generated value safe.
Is Obsidian Arc related to the Obsidian note-taking app?
No. Obsidian Arc is a separate project with no connection to the Obsidian note-taking app.
Which AI providers can I connect?
You can add Anthropic Messages and OpenAI-compatible providers such as OpenAI, DeepSeek, xAI, OpenRouter, Groq, Ollama, and vLLM from the admin console, using your own keys.
What should I back up?
Back up the /data volume, which holds the SQLite database and attachments.
Template Content
obsidian-arc
ghcr.io/onepush-dev/obsidian-arc:0.12.1
