Skip to content

pablopunk/doce.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

810 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doce.dev - Self-Hosted AI Website Builder

doce.dev logo
doce.dev showcase. not a real workflow, made in Remotion doce.dev showcase. not a real workflow, made in Remotion Homepage Project view with preview, chat, and terminal logs

Doce stands for:

  • Delicious Open Code Environments
  • Deploy On Containers Easily
  • Deploy Orchestrated ContainErs
  • Deploy Once Crash Everywhere
  • Don't Over Complicate Environments
  • ...

Features

  • 🤖 Self-hosted AI website builder powered by OpenCode
  • 🧰 Live project workspace: chat, preview, files, assets, and terminal logs
  • 🐳 Isolated Docker previews with one-click production deployments
  • 🔐 Provider auth, model selection, skills, and MCPs managed from the UI
  • 🌐 Automatic private HTTPS domains via Tailscale (https://...ts.net)

docker-compose.yml

Deploy doce.dev on your own infrastructure using Docker Compose:

# docker-compose.yml
services:
  doce:
    image: ghcr.io/pablopunk/doce.dev:latest
    container_name: doce
    restart: unless-stopped
    ports:
      - "4321:4321"
    volumes:
      - ./data:/app/data # DB and project files
      - ./opencode:/root/.local/share/opencode # opencode auth data
      - /var/run/docker.sock:/var/run/docker.sock # Required to run projects

That's still the whole deployment story. Internally, doce now runs:

  • the Astro app
  • one central opencode server
  • the queue worker

Project previews still run in isolated Docker Compose stacks, but OpenCode itself is now global and shared.

Automatic HTTPS with Tailscale

Connect Tailscale once in settings and doce gives the app, previews, and deployments stable private https://...ts.net URLs. No DNS, reverse proxy, or TLS setup required.

Screenshots

One button to automatically fix issues on your apps

Fixing a website with doce.dev

Dark/Light mode, detached transparent chat, and server logs

Transparent chat in light mode

File browser

Project file browser

Skills and MCPs

OpenCode skills settings

Automatic tailscale config

Tailscale settings

Your apps run wherever you are

Macbook and iphone preview

Doce works on your phone too. Create on the go

Create on your phone

How it works

  • Provider auth lives in the central OpenCode runtime, not per project
  • Project files live under data/projects/<project-id>/preview
  • Preview containers bind-mount those project folders directly
  • The UI proxies project-scoped requests to the single OpenCode server
  • API-key and subscription-style auth methods are surfaced from upstream OpenCode

Notes

  • ./data contains the SQLite database, OpenCode state, and all project files
  • If you delete ./data, doce.dev starts from scratch with a clean database and no projects/providers
  • The bundled OpenCode runtime currently uses a permissive permission config intended for trusted self-hosted usage

License

Copyright (C) 2025 Pablo P Varela

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See LICENSE for the full text.