Doory publishes a free, self-hostable design editor as a Canva alternative

Doory publishes a free, self-hostable design editor as a Canva alternative

Doory is a design editor that runs in the browser, published on GitHub by its creator and maintainer, Siam. The README describes it as a full editor for posters, social posts, stories, slides, invitations, resumes, thumbnails and business cards. A user starts from a template or a blank page, edits everything, and exports to PNG, JPG, SVG, PDF, MP4 or GIF. The README states that every feature is free, that nobody needs an account to start, and that the whole thing can be run on one's own server.

The project positions itself directly against Canva. The README says Canva is a great product, and that Doory is for people who want the same kind of tool, but free, open and in their own hands. The FAQ adds that there are no plans, no paywalls and no ads, and that every feature is available to everyone.

Ten starter templates ship with Doory, each with its own palette, set in open-licensed fonts and fully editable: a gig poster, a wedding invitation, an event story, a sale post, a café flyer, a quote card, a resume, a YouTube thumbnail, a pitch deck and a business card. Users can add their own in the admin and browse templates by category, size and orientation.

Setup is done with Docker Compose. You copy .env.example to .env and set DJANGO_SECRET_KEY and POSTGRES_PASSWORD, run docker compose up -d --build, create a superuser with Django's createsuperuser command, and open http://localhost:8080. The web container serves the app and forwards /api and /ws to the backend, so the browser talks to a single address. A new site starts empty; starter content is added with separate commands once it is running: seed_gallery for template categories, sync_fonts --popular 100 for fonts, seed_templates for the starter templates (with --update to refresh them), seed_elements for shapes and graphics, sync_element_packs for icons, emoji and illustrations, sync_models for a background removal model, and sync_audio for music and sound effects. For local development, make setup prepares a virtualenv, dependencies and a local database, make dev-api serves the API on port 8000 and make dev-web serves the app on port 5173.

The stack is React 19, TypeScript, Vite, Fabric.js, Yjs and Zustand in the browser; Django 5, Django REST Framework, Channels and PostgreSQL on the server; and Docker Compose with nginx, optional Redis and S3-compatible storage.

On accounts and storage, guests can design straight away and their work is saved in the browser on that device. An account keeps designs in the cloud, lets users share them and use brand kits, and signing up moves guest designs over in one step. Signed-in designs are stored on the server that runs Doory, which is the user's own server if they self-host. Uploads can go to a local volume or to S3-compatible storage.

Doory is released under the Attribution Assurance License. Users may use, change and redistribute it, including commercially, but must credit the author: keep the licence and NOTICE with it, and display the credit prominently in the running app. Third-party software, fonts and content keep their own licences, listed in THIRD_PARTY.md. The README welcomes bug reports, ideas and pull requests, and asks that security problems be reported privately through the repository's Security tab.

Key facts

  • Doory is a browser-based design editor for posters, social posts, slides, resumes, thumbnails and business cards, with export to PNG, JPG, SVG, PDF, MP4 or GIF.
  • The README says every feature is free, with no plans, paywalls or ads, and no account needed to start; the app can be self-hosted with Docker Compose and opened on port 8080.
  • Ten starter templates ship with it, and a new site starts empty until content is added with separate seed and sync commands.
  • It is released under the Attribution Assurance License: commercial use is allowed, but the author's credit must be displayed prominently in the running app.
  • The stack is React 19, TypeScript, Vite, Fabric.js, Yjs and Zustand on the front end, and Django 5, Django REST Framework, Channels and PostgreSQL on the back end.

Why it matters

Canva-style design editors are normally hosted services with accounts and plans. Doory offers the same kind of tool as something you can run yourself, with the README promising no plans, no paywalls and no ads. Its own framing is modest: Canva is called a great product, and Doory is for people who want a free, open version in their own hands.

Who it affects

People who make posters, social posts, slides, invitations, resumes or thumbnails and would rather host the editor than rent one. Teams or businesses that want to run a design tool for their own users are covered too: the FAQ says business use and hosting for users are allowed as long as the author is credited. Developers can also read the stack and send pull requests, which the README welcomes.

How to use it

Copy .env.example to .env, set DJANGO_SECRET_KEY and POSTGRES_PASSWORD, run docker compose up -d --build, create a superuser with createsuperuser, and open http://localhost:8080. The site starts empty, so add templates, fonts, icons and audio with the seed and sync commands listed in the README. Guests can design without an account; an account adds cloud storage, sharing and brand kits. Use is free, but the licence requires keeping the licence and NOTICE and showing the credit to Siam prominently in the running app.

How solid is it

The material is the project's own README, so the claims about features and licence are the author's own statements. The README says the recording on the page is real and unedited. No release date, version number or project age is given, no user counts, GitHub star counts or adoption figures are given, and no feature-by-feature comparison with Canva is given. No hosted demo URL is given; the page describes only self-hosting via Docker Compose. No performance, scalability or hardware requirements are stated.

Risks and caveats

The Attribution Assurance License makes the credit to the author a condition of use, and it must appear prominently in the running app, which matters to anyone planning to white-label. The source describes the licence as allowing free use and redistribution but does not call it open source in so many words. Third-party software, fonts and content keep their own licences, so check THIRD_PARTY.md before commercial use. Setup involves a multi-service stack with PostgreSQL and optional Redis and S3-compatible storage, and the starter content has to be added by hand. No claim of feature parity with Canva is made.

“Canva is a great product. Doory is for people who want the same kind of tool, but free, open and in their own hands.”

— Doory project README