---
title: "Deploy Doory"
description: "Doory, an open-source Canva alternative, with templates and fonts loaded"
category: "Other"
url: https://railway.com/deploy/doory
---

# Deploy Doory

Doory, an open-source Canva alternative, with templates and fonts loaded

**[Deploy Doory on Railway](https://railway.com/template/doory)**

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

- **Creator:** Dektion
- **Category:** Other
- **Total deploys:** 1

## Template content

### Postgres https://devicons.railway.com/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:17

### Doory https://raw.githubusercontent.com/shaongitbd/doory/d4baf4e03cc0485c73a13c2f2ffee645b03fc54f/frontend/public/icons/icon-192.png

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

## Documentation

# Deploy and Host Doory on Railway

[Doory](https://github.com/shaongitbd/doory) is an open-source alternative to Canva: a design editor in the browser for posters, social posts, flyers, presentations, business cards and resumes, with starter templates, an element library, fonts, brand kits and real-time co-editing. This template runs Doory (commit d4baf4e from October 2026) on Postgres with the content library already loaded and an admin account set at deploy.

## About Hosting Doory

Upstream runs Doory as separate containers (web, API, real-time server) that share one media volume. Railway attaches a volume to a single service, so this template builds them into one container. nginx serves the web app and the media files from the volume, and uvicorn serves both the API and the co-editing WebSockets from one process.

A fresh Doory is empty: no icons, illustrations, fonts or templates until you run its sync commands. Here the first start loads them. In my test that was 29 element packs with 27,108 icons, emoji, illustrations and shapes, 105 fonts, 112 music loops and sound effects, and the ten starter templates. It all lives on the volume, about 150 MB. The admin account comes from `DOORY_ADMIN_EMAIL` and the generated `DOORY_ADMIN_PASSWORD`; it can sign in to the editor and to Doory's admin site at `/admin/`.

Before publishing I tested it on Railway. The API health check and the web app answered, and the admin signed in through the API with a session and a CSRF token, the way the web app does. The loaded templates, element packs and fonts were all listed, and a media file served straight from the volume. I created a design from the "Night Bloom concert poster" template and opened its co-editing WebSocket. After restarting Doory and Postgres, sign-in worked and the design and the whole library were still there.

Idle, it used 0.08 GB for Doory and 0.05 GB for Postgres, a few dollars a month on Railway's usage pricing; the first start peaks at about 0.4 GB while it loads the library.

Two parts are left out to fit 1 GB: server-side PDF and image export, which runs a headless Chromium, and Doory's MCP server for AI assistants. Anyone who opens the site can create an account; Doory's per-account limits (`MAX_DESIGNS_PER_USER`, `USER_STORAGE_QUOTA_BYTES`) cap what each one can store.

## Common Use Cases

- Social posts, flyers and posters for a small business, from templates you keep on your own server
- A shared design space for a team or a class, with live co-editing and brand kits
- Resumes, business cards and presentations without a design-app subscription

## Dependencies for Doory Hosting

Nothing beyond the template. Optional: free API keys from Unsplash, Pexels or Pixabay for stock photo search (`UNSPLASH_ACCESS_KEY`, `PEXELS_API_KEY`, `PIXABAY_API_KEY`).

### Deployment Dependencies

- Doory: https://github.com/shaongitbd/doory
- The wrapper this template builds: https://github.com/dektionstudio/railway-template-images/tree/main/doory

### Implementation Details

```
DOORY_URL                                # the editor; the admin site is at /admin/
DOORY_ADMIN_EMAIL / DOORY_ADMIN_PASSWORD # the admin account, created on the first start
/app/media                               # the volume: uploads, elements, fonts, audio, templates
```

Doory is released under the Attribution Assurance License: you may use and change it, and the app keeps showing "Doory by Siam, creator and maintainer of Doory" with a link to the project, as the license requires. Emails (password resets, verification) go to the service log unless you set `EMAIL_URL`, and Railway blocks outbound SMTP below the Pro plan.

## Why Deploy Doory on Railway?

The editor, its database and its whole content library come up together on HTTPS, with your admin account ready. You keep your designs and assets on your own server, and Railway bills only the RAM and CPU it uses.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

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