Skip to content
/ dobi Public

Dobi.io, an easy-to-use, database-everywhere, fully hosted, scalable, data-on-the-wire, pure-CoffeeScript web framework designed with realtime apps in mind. http://www.dobi.io

License

Notifications You must be signed in to change notification settings

lessthan3/dobi

Repository files navigation

Dobi will be available for use in the near future. If you'd like to play around before then, contact us at dobi@lessthan3.com.

Dobi.io

Dobi is an ultra-simple environment for building scalable, real-time web applications.

With Dobi you write apps...

  • in Coffee-Script (or javascript, but please don't)
  • with client-side rendering (only send data over the wire)
  • with real-time functionality by simply referencing variables
  • build schemas with simple json objects (no more complicated ORMs)
  • that scale to 100k+ users without hosting your own servers
  • on Linux, Mac, or Windows
  • in any editing environment you prefer

Documentation is available at http://www.dobi.io

Configuration

Dobi 7.0+ uses explicit environment variables for configuration instead of relying on NODE_ENV.

Environment Variables

Variable Default Description
DOBI_PKG_DIR dist Package directory to serve from. Set to pkg to serve source files directly (slower).
DOBI_ENABLE_DEV_ROUTES true Enable development routes like /connect and /partial. Set to false in production.
DOBI_STRIP_SENSITIVE_CONFIG false Strip sensitive information (author, changelog, contact) from config. Set to true in production.
DOBI_VERBOSE_ERRORS true Show file paths in error messages. Set to false in production for security.
DOBI_USE_COMPRESSION false Compress JavaScript and CSS output. Set to true in production.
DOBI_DEBUG undefined Enable debug logging.

Production Configuration Example

DOBI_PKG_DIR=dist \
DOBI_ENABLE_DEV_ROUTES=false \
DOBI_STRIP_SENSITIVE_CONFIG=true \
DOBI_VERBOSE_ERRORS=false \
DOBI_USE_COMPRESSION=true \
npm start

Development Configuration (Default)

Development works out of the box with sensible defaults:

npm run dev  # Uses default settings

Build System

Dobi 7.0 uses the same code path for both development and production:

  1. Build packages once:

    dobi build app/pkg app/dist
  2. Server reads from dist/ by default:

    • Pre-built files are served instantly
    • Falls back to build-on-demand if file missing
    • Dev and prod use identical logic
  3. Watch mode rebuilds changed packages:

    • Enabled by default in development
    • Auto-rebuilds when source files change

Migrating from 6.x to 7.0

Version 7.0 includes breaking changes to improve dev/prod parity and configuration clarity.

Key Changes

  1. NODE_ENV no longer controls application behavior

    • Use DOBI_* environment variables instead
    • NODE_ENV is now free for Node.js runtime optimizations
  2. Default package directory changed from pkg to dist

    • Build your packages: dobi build app/pkg app/dist
    • Or set DOBI_PKG_DIR=pkg to use source files
  3. Dev and prod now use the same code path

    • Both read from dist/ by default
    • Both fall back to build-on-demand if file missing
    • Eliminates "works in dev but not prod" issues

Migration Steps

  1. Update your build process:

    # Add to your CI/deployment scripts
    dobi build app/pkg app/dist
  2. Update production environment variables:

    # Replace NODE_ENV=production with:
    DOBI_ENABLE_DEV_ROUTES=false
    DOBI_STRIP_SENSITIVE_CONFIG=true
    DOBI_VERBOSE_ERRORS=false
    DOBI_USE_COMPRESSION=true
  3. Test locally with production settings:

    # Build and test
    dobi build app/pkg app/dist
    DOBI_ENABLE_DEV_ROUTES=false npm start
  4. If using dobi-server.js config:

    • The file can now use ES6 modules: export const data = {...}
    • Older formats still work

Quick Start

Prerequisites:

Install Dobi:

npm install -g dobi

Setup a dobi workspace

cd ~ ; mkdir workspace ; cd workspace
dobi init

Login:

dobi login

Create a new app:

dobi create my-app@1.0.0

Create a website using your app:

dobi install my-app@1.0.0 site-slug

Deploy it to the world:

dobi deploy my-app

View your site, running your new app:

dobi open site-slug

Examples

About

Dobi.io, an easy-to-use, database-everywhere, fully hosted, scalable, data-on-the-wire, pure-CoffeeScript web framework designed with realtime apps in mind. http://www.dobi.io

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7