---
title: "Deploy DeepTutor - personalized AI tutoring"
description: "Deploy DeepTutor for personalized, source-grounded AI tutoring."
category: "AI/ML"
url: https://railway.com/deploy/deeptutor-personalized-ai-tutoring
---

# Deploy DeepTutor - personalized AI tutoring

Deploy DeepTutor for personalized, source-grounded AI tutoring.

**[Deploy DeepTutor - personalized AI tutoring on Railway](https://railway.com/template/deeptutor-personalized-ai-tutoring)**

- **Creator:** Just Deploy It
- **Category:** AI/ML

## Template content

### DeepTutor

- **Image:** ghcr.io/hkuds/deeptutor:latest
- **Start command:** `/bin/sh -c "printf %s IyBhdXRob3I6IEp1c3QgRGVwbG95IEl0CiMgY29udGV4dDogRGVlcFR1dG9yIGRpcmVjdC1pbWFnZSBvZmZsaW5lIHByZWZsaWdodAojIHB1cnBvc2U6IENvbmZpZ3VyZSB0aGUgb2ZmaWNpYWwgcm9sbGluZyBpbWFnZSBiZWZvcmUgaXRzIGJ1bmRsZWQgZW50cnlwb2ludAojIHVzZWRfYnk6IFJhaWx3YXkgRGVlcFR1dG9yIHNlcnZpY2Ugc3RhcnQgY29tbWFuZAojIHN0YXR1czogYWN0aXZlCiMgdmVyaWZpZWQ6IDIwMjYtMDgtMzEgYWdhaW5zdCBsaW51eC9hbWQ2NCBtYW5pZmVzdCBzaGEyNTY6ODlkMDkyZWRlYzViYTRiZWU1NTI3NGEzMDQzNDRhNGVjMTkzN2E4YmU5Yjg5MzEzY2RiMGUwYjMzYTQ0YzNjMwoKaW1wb3J0IG9zCmZyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAoKcGFzc3dvcmQgPSBvcy5lbnZpcm9uLmdldCgiREVFUFRVVE9SX0FETUlOX1BBU1NXT1JEIiwgIiIpCmlmIGxlbihwYXNzd29yZCkgPCAxMjoKICAgIHJhaXNlIFN5c3RlbUV4aXQoIkRFRVBUVVRPUl9BRE1JTl9QQVNTV09SRCBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgMTIgY2hhcmFjdGVycyIpCgpkb21haW4gPSBvcy5lbnZpcm9uLmdldCgiUkFJTFdBWV9QVUJMSUNfRE9NQUlOIiwgIiIpLnN0cmlwKCkubG93ZXIoKQppZiBub3QgZG9tYWluIG9yIGFueShjaGFyLmlzc3BhY2UoKSBmb3IgY2hhciBpbiBkb21haW4pIG9yIGFueShjaGFyIGluIGRvbWFpbiBmb3IgY2hhciBpbiAiLzoiKToKICAgIHJhaXNlIFN5c3RlbUV4aXQoIlJBSUxXQVlfUFVCTElDX0RPTUFJTiBtdXN0IGJlIGEgaG9zdG5hbWUiKQpvcmlnaW4gPSBmImh0dHBzOi8ve2RvbWFpbn0iCgpwb3J0ID0gaW50KG9zLmVudmlyb24uZ2V0KCJQT1JUIiwgIjM3ODIiKSkKaWYgcG9ydCAhPSAzNzgyOgogICAgcmFpc2UgU3lzdGVtRXhpdCgiUE9SVCBtdXN0IGJlIDM3ODIiKQoKYXBpX2tleSA9IG9zLmVudmlyb24uZ2V0KCJPUEVOQUlfQVBJX0tFWSIsICIiKQptb2RlbF9uYW1lID0gb3MuZW52aXJvbi5nZXQoIk9QRU5BSV9NT0RFTCIsICIiKS5zdHJpcCgpCmlmIGJvb2woYXBpX2tleSkgIT0gYm9vbChtb2RlbF9uYW1lKToKICAgIHJhaXNlIFN5c3RlbUV4aXQoIk9QRU5BSV9BUElfS0VZIGFuZCBPUEVOQUlfTU9ERUwgbXVzdCBiZSBzZXQgdG9nZXRoZXIiKQoKc3VwZXJ2aXNvcl9jb25maWcgPSBQYXRoKCIvZXRjL3N1cGVydmlzb3Ivc3VwZXJ2aXNvcmQuY29uZiIpCnN1cGVydmlzb3JfdGV4dCA9IHN1cGVydmlzb3JfY29uZmlnLnJlYWRfdGV4dCgpCmlmICJbc3VwZXJ2aXNvcmRdXG51c2VyPXJvb3RcbiIgbm90IGluIHN1cGVydmlzb3JfdGV4dDoKICAgIGlmICJbc3VwZXJ2aXNvcmRdXG4iIG5vdCBpbiBzdXBlcnZpc29yX3RleHQ6CiAgICAgICAgcmFpc2UgU3lzdGVtRXhpdCgidW5leHBlY3RlZCBzdXBlcnZpc29yZCBjb25maWd1cmF0aW9uIikKICAgIHN1cGVydmlzb3JfY29uZmlnLndyaXRlX3RleHQoc3VwZXJ2aXNvcl90ZXh0LnJlcGxhY2UoIltzdXBlcnZpc29yZF1cbiIsICJbc3VwZXJ2aXNvcmRdXG51c2VyPXJvb3RcbiIsIDEpKQoKZnJvbSBkZWVwdHV0b3Iuc2VydmljZXMuYXV0aCBpbXBvcnQgaGFzaF9wYXNzd29yZCwgdmVyaWZ5X3Bhc3N3b3JkCmZyb20gZGVlcHR1dG9yLnNlcnZpY2VzLmNvbmZpZyBpbXBvcnQgZ2V0X21vZGVsX2NhdGFsb2dfc2VydmljZSwgZ2V0X3J1bnRpbWVfc2V0dGluZ3Nfc2VydmljZQoKcnVudGltZSA9IGdldF9ydW50aW1lX3NldHRpbmdzX3NlcnZpY2UoKQphdXRoID0gcnVudGltZS5sb2FkX2F1dGgoaW5jbHVkZV9wcm9jZXNzX292ZXJyaWRlcz1GYWxzZSkKY3VycmVudF9oYXNoID0gc3RyKGF1dGguZ2V0KCJwYXNzd29yZF9oYXNoIikgb3IgIiIpCmlmIG5vdCBjdXJyZW50X2hhc2ggb3Igbm90IHZlcmlmeV9wYXNzd29yZChwYXNzd29yZCwgY3VycmVudF9oYXNoKToKICAgIGN1cnJlbnRfaGFzaCA9IGhhc2hfcGFzc3dvcmQocGFzc3dvcmQpCnJ1bnRpbWUuc2F2ZV9hdXRoKAogICAgewogICAgICAgICoqYXV0aCwKICAgICAgICAiZW5hYmxlZCI6IFRydWUsCiAgICAgICAgInVzZXJuYW1lIjogImFkbWluIiwKICAgICAgICAicGFzc3dvcmRfaGFzaCI6IGN1cnJlbnRfaGFzaCwKICAgICAgICAiY29va2llX3NlY3VyZSI6IFRydWUsCiAgICB9CikKCnN5c3RlbSA9IHJ1bnRpbWUubG9hZF9zeXN0ZW0oaW5jbHVkZV9wcm9jZXNzX292ZXJyaWRlcz1GYWxzZSkKcnVudGltZS5zYXZlX3N5c3RlbSgKICAgIHsKICAgICAgICAqKnN5c3RlbSwKICAgICAgICAiYmFja2VuZF9wb3J0IjogODAwMSwKICAgICAgICAiZnJvbnRlbmRfcG9ydCI6IHBvcnQsCiAgICAgICAgIm5leHRfcHVibGljX2FwaV9iYXNlX2V4dGVybmFsIjogIiIsCiAgICAgICAgIm5leHRfcHVibGljX2FwaV9iYXNlIjogIiIsCiAgICAgICAgImNvcnNfb3JpZ2luIjogIiIsCiAgICAgICAgImNvcnNfb3JpZ2lucyI6IFtvcmlnaW5dLAogICAgICAgICJzYW5kYm94X2FsbG93X3N1YnByb2Nlc3MiOiBGYWxzZSwKICAgIH0KKQoKaWYgYXBpX2tleToKICAgIHByb2ZpbGVfaWQgPSAibGxtLXByb2ZpbGUtcmFpbHdheS1vcGVuYWkiCiAgICBtb2RlbF9pZCA9ICJsbG0tbW9kZWwtcmFpbHdheS1vcGVuYWkiCiAgICBjYXRhbG9nX3NlcnZpY2UgPSBnZXRfbW9kZWxfY2F0YWxvZ19zZXJ2aWNlKCkKICAgIGNhdGFsb2cgPSBjYXRhbG9nX3NlcnZpY2UubG9hZCgpCiAgICBsbG0gPSBjYXRhbG9nWyJzZXJ2aWNlcyJdWyJsbG0iXQogICAgcHJvZmlsZXMgPSBsbG0uc2V0ZGVmYXVsdCgicHJvZmlsZXMiLCBbXSkKICAgIHByb2ZpbGUgPSBuZXh0KChpdGVtIGZvciBpdGVtIGluIHByb2ZpbGVzIGlmIGl0ZW0uZ2V0KCJpZCIpID09IHByb2ZpbGVfaWQpLCBOb25lKQogICAgaWYgcHJvZmlsZSBpcyBOb25lOgogICAgICAgIHByb2ZpbGUgPSB7ImlkIjogcHJvZmlsZV9pZH0KICAgICAgICBwcm9maWxlcy5hcHBlbmQocHJvZmlsZSkKICAgIHByb2ZpbGUudXBkYXRlKAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiUmFpbHdheSBPcGVuQUkiLAogICAgICAgICAgICAiYmluZGluZyI6ICJvcGVuYWkiLAogICAgICAgICAgICAiYmFzZV91cmwiOiAiaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MSIsCiAgICAgICAgICAgICJhcGlfa2V5IjogYXBpX2tleSwKICAgICAgICAgICAgImFwaV92ZXJzaW9uIjogIiIsCiAgICAgICAgICAgICJleHRyYV9oZWFkZXJzIjoge30sCiAgICAgICAgICAgICJtb2RlbHMiOiBbeyJpZCI6IG1vZGVsX2lkLCAibmFtZSI6IG1vZGVsX25hbWUsICJtb2RlbCI6IG1vZGVsX25hbWV9XSwKICAgICAgICB9CiAgICApCiAgICBsbG1bImFjdGl2ZV9wcm9maWxlX2lkIl0gPSBwcm9maWxlX2lkCiAgICBsbG1bImFjdGl2ZV9tb2RlbF9pZCJdID0gbW9kZWxfaWQKICAgIGNhdGFsb2dfc2VydmljZS5zYXZlKGNhdGFsb2cpCg== | base64 -d | python && export BACKEND_HOST=127.0.0.1 && exec /app/entrypoint.sh"`
- **Health check:** /login
- **Public domain:** Yes

## Documentation

# Deploy and Host DeepTutor on Railway

DeepTutor is an open-source, lifelong personalized tutoring system. Deploy the official DeepTutor container on Railway with persistent storage, protected administrator access, and an OpenAI model configuration.

## About Hosting DeepTutor

This template runs the official `ghcr.io/hkuds/deeptutor:latest` image as one Railway service. A volume mounted at `/app/data` preserves DeepTutor settings and tutoring data across restarts. The service enables secure administrator authentication and exposes the web application through Railway's generated public domain.

## Why Deploy DeepTutor on Railway

Railway provides managed deployment, networking, logs, restarts, and persistent volumes in one place. The template supplies the tested service configuration while keeping your OpenAI credential and administrator password as required deployment inputs rather than embedded values.

## Common Use Cases

- Run a private personalized AI tutor
- Explore source-grounded learning and tutoring workflows
- Host DeepTutor for a class, research group, or personal study

## Dependencies for DeepTutor Hosting

- An OpenAI API key and enabled chat model
- A strong administrator password
- Railway persistent storage mounted at `/app/data`

### Deployment Dependencies

Set `DEEPTUTOR_ADMIN_PASSWORD`, `OPENAI_API_KEY`, and `OPENAI_MODEL` during deployment. After deployment, open the generated Railway domain and sign in with the administrator account. Project information: https://deeptutor.info/ and https://github.com/HKUDS/DeepTutor


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/deeptutor-personalized-ai-tutoring
