{"schemaVersion":"1.0","type":"TechArticle","types":["Article","TechArticle"],"slug":"doory-a-free-open-source-canva-alternative-you-can-host-yourself-6ah6s","url":"https://zyvop.com/doory-a-free-open-source-canva-alternative-you-can-host-yourself-6ah6s","title":"Doory: A Free, Open-Source Canva Alternative You Can Host Yourself","subtitle":"A free design editor that runs in your browser, exports video and PDF, supports live co-editing, and can run on your own server. Here is what you get and where it still falls short.","tldr":"Doory is an open-source Canva alternative: every feature is free, you don't need an account to start, and one docker compose command runs it on your own server. I went through the repo to see what you get, how to self-host it, and what to watch out for.","keywords":["self-hosting","canva alternative","Docker","design tools","open-source","Developer Tools"],"entities":["Ankit Singh","Software Engineer","self-hosting","canva alternative","Docker","design tools","open-source","Developer Tools","ZyVOP"],"keyTakeaways":["Even Doory's own README says so.","But if you've used any online design tool for a while, you know the pattern.","The free plan gets you started, the good features sit behind a paid plan, and your files live on someone else's servers."],"headings":["What is Doory?","Why people might pick it","What's inside the editor","Background removal that runs in your browser","Animation and video","Print-ready PDFs","Working together","Templates: the honest part","Doory vs Canva","How it's built","Self-hosting it","A new site starts empty","Settings worth knowing","Running it for development","Where do your designs live?","The license: read this part","Things to watch","Who should try it?","Final thoughts"],"outboundLinks":["https://doory.art/","https://github.com/shaongitbd/doory"],"contentText":"Canva is a great tool. Even Doory's own README says so. But if you've used any online design tool for a while, you know the pattern. The free plan gets you started, the good features sit behind a paid plan, and your files live on someone else's servers. Doory takes a different route. It's a full design editor that runs in your browser. Every feature is free. And you can run the whole thing on your own machine. I spent some time going through the repo and its README. This post covers what Doory is, what's inside, how to set it up, and where I'd be careful. 💡 Quick take: Doory is a young project with a lot packed into it. If you want a free, self-hostable design editor, it's worth a look. If you need a huge template library today, read the \"Things to watch\" section first. What is Doory? Doory is an open-source design editor made by a developer called Siam (GitHub: shaongitbd). You can make posters, social posts, stories, slides, invitations, resumes, thumbnails and business cards. You can start from a template or a blank page. Then you can export to PNG, JPG, SVG, PDF, MP4 or GIF. Here are the basics at a glance: What it is A browser-based design editor, like Canva Price Free, every feature Account needed? No, you can start designing right away Self-hosting Yes, with Docker Compose Frontend React 19, TypeScript, Vite Backend Django 5, PostgreSQL License Attribution Assurance License Website doory.art Repo github.com/shaongitbd/doory Why people might pick it The README gives four reasons. I think they hold up as a good way to explain the project. 1. Free, for real. There is no Pro plan, no locked templates, no watermarks and no ads. Tools like background removal and video export are open to everyone. 2. Start in one click. You open the editor and design. If you're a guest, your work is saved in the browser. When you decide to make an account, your designs move over in one step. 3. Yours to host. One docker compose up runs the app, the API, the database and live collaboration on your own server. Your designs and uploads stay with you. 4. A real editor. This isn't a toy canvas. More on that next. What's inside the editor Here is the feature list from the README, grouped so it's easier to read. Area What you get Text Headings, curved text, text effects, font pairings, bulleted and numbered lists, an open-licensed font catalogue, and your own uploaded fonts Elements Shapes, lines and arrows, about 25,000 icons, emoji and illustrations, stickers, QR codes Photos Upload, crop, masks and filters, one-click background removal, stock photo search Layout Layers with lock and hide, groups, alignment guides, snapping, rulers, multi-page designs, magic resize Motion Enter, exit and emphasis animations and page transitions on a timeline Sound Music loops, sound effects, uploads, voiceover recording, trims and fades Present Present mode with speaker notes, timing, auto-advance, a laser pointer and a second presenter window Together Share links, comments, version history, real-time co-editing Brand Brand kits with your colours, fonts and logos Export PNG, JPG, SVG, PDF, MP4, WebM and animated GIF A few of these deserve a closer look. Background removal that runs in your browser The background removal model runs in the browser, not on a remote service. That matters if you care about where your photos go. On a self-hosted setup you install the model with one command: sync_models. Animation and video Doory has 27 enter and exit animations, 12 emphasis effects and 16 page transitions. There is also a built-in audio library with 24 music loops and 88 sound effects, all CC0. You can present a design, or export it as MP4, WebM or an animated GIF. The README says these exports are made in your browser. Print-ready PDFs If you're designing something to print, you can get a PDF with bleed and crop marks. That's a detail you only find in tools that were built with real use in mind. Working together You can share a design with a link that lets people view, comment or edit. Links can be password protected. There are pinned comments, version history, and real-time co-editing with live cursors. Templates: the honest part Doory ships with ten starter templates: Gig poster Wedding invitation Event story Sale post Café flyer Quote card Resume YouTube thumbnail Pitch deck Business card Each one has its own palette, uses open-licensed fonts, and is fully editable. You can add your own templates in the admin area and browse them by category, size and orientation. Ten is a small number. Canva has a very large library, and Doory's README says so itself. If you live on templates, this is the biggest gap. Doory vs Canva The README has its own comparison table. Keep in mind that it comes from the Doory author, so it shows their point of view. Doory Canva Price Free, every feature Free plan, paid Pro and Teams plans Open source Yes No Run it on your own server Yes No Design without an account Yes No Files stay on infrastructure you control Yes No Real-time co-editing and comments Yes Yes Animation, video and GIF export Yes Yes Background removal Yes, in your browser Yes Template library 10 starter templates, plus any you add A very large library The pattern is clear. Doory wins on openness and control. Canva wins on content. How it's built Here is the stack, straight from the README: In the browser: React 19, TypeScript, Vite, Fabric.js, Yjs and Zustand On the server: Django 5, Django REST Framework, Channels and PostgreSQL Around it: Docker Compose with nginx, optional Redis and S3-compatible storage The README explains the request flow in one line. The web container serves the app and forwards /api and /ws to the backend, so the browser only talks to one address. Here is how that looks: flowchart LR B[\"Browser (React app)\"] --&gt;|\"port 8080\"| W[\"web container (nginx)\"] W --&gt;|\"/api\"| A[\"Backend (Django)\"] W --&gt;|\"/ws\"| A A --&gt; P[(\"PostgreSQL\")] A -.-&gt;|\"optional\"| R[(\"Redis\")] A -.-&gt;|\"optional\"| S[(\"S3-compatible storage\")]My guess is that Yjs handles the shared document state for co-editing, and Channels carries it over WebSockets. I haven't dug into the code to confirm that, so treat it as a guess. Self-hosting it This is where the project shines. The README promises three commands, and that is what it shows. cp .env.example .env # set DJANGO_SECRET_KEY and POSTGRES_PASSWORD docker compose up -d --build docker compose exec api python manage.py createsuperuserThen open http://localhost:8080 and start designing. ⚠️ Before you run it: the .env file needs a DJANGO_SECRET_KEY and a POSTGRES_PASSWORD. The README suggests openssl rand -base64 48 for the secret key. A new site starts empty This surprised me a little. A fresh install has no templates, icons, fonts or audio. You add them yourself with a few commands: docker compose exec api python manage.py seed_gallery # template categories docker compose exec api python manage.py sync_fonts --popular 100 docker compose exec api python manage.py seed_templates # the starter templates docker compose exec api python manage.py seed_elements # shapes and graphics docker compose exec api python manage.py sync_element_packs # icons, emoji and illustrations docker compose exec api python manage.py sync_models # background removal model docker compose exec api python manage.py sync_audio # music and sound effectsIt's a small extra step, but it's good to know about before you wonder where all the content went. Settings worth knowing These live in your .env file: Setting What it does SITE_URL The public address of the site, like https://doory.example.com, with no trailing slash DJANGO_ALLOWED_HOSTS The host names the site answers to, comma separated SECURE_SSL_REDIRECT, SECURE_COOKIES Set to true behind HTTPS, false for plain http:// EMAIL_URL, DEFAULT_FROM_EMAIL SMTP settings. Without them, emails are printed to the API log WEB_PORT, WEB_BIND Where the site is published (default 0.0.0.0:8080) INSTALL_CHROMIUM Set to false to skip the headless browser that server-side PDF export needs GOOGLE_CLIENT_ID Turns on \"Sign in with Google\" UNSPLASH_ACCESS_KEY, PEXELS_API_KEY Turn on stock photo search USE_S3 and AWS_* Store uploads in S3-compatible storage instead of a local volume Running it for development If you want to hack on it instead: make setup # virtualenv, dependencies, local database make dev-api # API on http://localhost:8000 make dev-web # app on http://localhost:5173 (second terminal)Run make help to see the other targets, like tests and lint. Where do your designs live? This is a fair question for any design tool, and the README answers it clearly: Guest designs and their images stay in the browser, on that device. Signed-in designs are stored on the server that runs Doory. If you self-host, that's your server. Uploads can go to a local volume or to S3-compatible storage. One thing follows from this. If you design as a guest and then clear your browser data, that work is tied to the browser. If you care about keeping a design, make an account. The license: read this part Doory uses the Attribution Assurance License. You can use it, change it and redistribute it, including for commercial work. But there's a condition. You must credit the author. That means keeping the license and NOTICE files with the code, and showing a credit line in the running app. The credit names Siam and links to the repo. 📌 Worth knowing: if you plan to host Doory for your own users or your business, the credit has to be visible in the app. Read the LICENSE and NOTICE files yourself before you commit. I'm not a lawyer, and this is a summary of what the README says. Third-party software, fonts and content keep their own licenses. Those are listed in THIRD_PARTY.md. Things to watch I like the ambition here. But a few facts are worth knowing before you build on it. It's early. When I looked, the repo had 6 commits, 3 stars, 0 forks and 16 pull requests. That's a young project with a small community. Expect rough edges, and don't assume a big team is behind it. The template library is small. Ten starters is a good base. It's not a Canva replacement for someone who wants thousands of ready-made layouts. Setup takes more than three commands. The three commands get the app running. Getting templates, fonts, icons and audio in place takes the extra seed steps above. You become the admin. Self-hosting is the whole point, but it also means you handle updates, backups and email setup. That's real work. The comparison table is the author's view. I didn't verify Canva's current features, so check them if the details matter to you. Who should try it? Doory looks like a good fit if you: want a free design tool with no paywalled features care about keeping files on your own infrastructure run a small team, community or school and want one shared editor like reading and contributing to open-source projects It's probably not the right fit if you need a huge template library today, or you don't want to look after a server. Final thoughts What I like most about Doory is how complete the feature list is for an open-source project. Layers, animation, video export, print-ready PDFs and live co-editing are not small things to build. It's young, and the template library is small. But the direction is clear, and the three-command setup makes it easy to try. If you're curious, start here: Website: doory.art Source code: github.com/shaongitbd/doory And if the project is useful to you, the README asks for a ⭐ on GitHub. It helps other people find it.","contentHash":"sha256:cff3450f14620914b800283a67a09d04a6bc913cc3b86896a752473880dc0b8f","authorName":"Ankit Singh","authorUrl":"https://zyvop.com/author/ankit","authorSameAs":[],"category":"Developer Tools","tags":["self-hosting","canva alternative","Docker","design tools","open-source"],"audience":"Software engineers and developers building applications with Developer Tools","tone":"Professional, software engineer perspective","readingTimeMinutes":9,"wordCount":1928,"faqs":null,"primaryTopic":"Developer Tools","publishedAt":"2026-10-12T10:07:35.543Z","updatedAt":"2026-10-12T10:07:35.543Z","canonicalUrl":"https://zyvop.com/doory-a-free-open-source-canva-alternative-you-can-host-yourself-6ah6s"}