Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Before you start

1. Check access and tools

You need an invited d2o account, an Organization, permission to create and deploy apps, and permission to manage databases and object storage in your tutorial Project. See Access Control. Creating resources consumes your plan’s quota.

Install Git and your chosen language runtime. Install the paas CLI if following the CLI path. A POSIX shell (bash/zsh, or WSL on Windows) is used below. Docker Compose is only needed for optional local service tests. The AWS CLI is only needed if you follow the optional local S3 tests; hosted uploads use paas buckets put.

2. Check that your installation has the tutorial features

Use CLI 0.9.0 or later for app-scoped attachment commands. Check paas --version and update with the installation instructions if necessary. The dashboard path uses Process type on Create Resource to select web and worker processes.

All six tutorial frameworks are available on hosted d2o. Check the framework requirements and runtime catalog for the language version you use. On a self-hosted installation, your operator can confirm whether its builders and storage services are enabled.

Object storage availability can vary by Environment type; these examples use Development Environments.

3. Create one Project

Dashboard: open your Organization → Create Project, name it Examples, and use the slug examples. You will create a separate Development Environment for each language, so the example resource names never collide.

CLI: replace your-org below with your Organization slug, then run:

TUTORIAL_ORG=your-org
paas login --host https://dashboard.d2o.io
paas projects create examples -o "$TUTORIAL_ORG" --name Examples
paas keys add

For a self-hosted installation, substitute your dashboard origin in paas login; see API addresses.

If examples already exists and is suitable for disposable tutorial data, reuse it. Keep TUTORIAL_ORG set in each terminal running CLI commands. Each chapter spells out Project and Environment flags; it does not change your saved defaults.

4. Prepare Git authentication

Dashboard: Account Settings → SSH Keys → Add Key; paste your public key. The Environment’s Git remote panel supplies the actual remote URL and push commands.

CLI: paas keys add uploads your existing public key. If you do not have an SSH key, follow Deploying with Git Push first. The tutorial uses the Environment’s shared repository from its first commit so the web and worker can share one build later. There is no external GitHub repository to configure.

5. Use the source checkpoints

Each language provides two ZIPs: hello and notes. The downloads include source, lockfiles, and a local compose.yaml; they exclude installed dependencies and credentials. The hello chapter shows the small app’s files. The notes ZIP is the complete next checkpoint: copy it over hello, then enable its database, queue, and storage integrations one chapter at a time. The source appendix explains the application code; no code generator is required.

Each app listens on 0.0.0.0:$PORT, with port 3000 configured on PaaS, and exposes GET /health. Health intentionally checks the HTTP process only, allowing you to open a console and initialize the database schema before the notes routes are usable.