Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions 01.getting-started/01.installation/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ The dev server watches for changes — edit `content/01.home/default.md` and you

**Using a different port** — pass `--port`: `deno task dev --port 4000`. Useful if `3000` is already taken by another project; the server prints the URL it actually bound once it starts, so check that if you're not sure what port ended up in use.

## Create your first admin

You can read and edit content as files without an account, but the admin panel at `/admin` needs a user. Dune does not create a default one, so create it yourself (in a second terminal while the dev server runs, or before starting it):

```bash
dune users:create you@example.com --role admin --password-prompt
```

You're asked for a password twice, with no echo (at least 12 characters). Then log in at `http://localhost:3000/admin/login` with the username (by default the part of the email before the `@`; set it with `--username`). The account is stored in `data/users/`; commit it with the rest of the site. If `dune` isn't installed globally, run it through the CLI your site already uses: `deno run -A jsr:@dune/core/cli users:create …`.

See [Administration](administration) for scripted and environment-based setup, and for resetting a forgotten password with `dune users:passwd`.

## What just happened?

1. Dune scanned the `content/` directory and built a **content index** — a lightweight map of every page, its route, and its frontmatter
Expand Down
2 changes: 2 additions & 0 deletions 01.getting-started/02.quickstart/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ deno task dev

The server starts at `http://localhost:3000` with hot-reload — every content or theme change is picked up automatically.

Want to edit in the browser instead of in files? Create your first admin with `dune users:create you@example.com --role admin --password-prompt`, then log in at `/admin`. See [Installation](getting-started/installation#create-your-first-admin).

## Create a blog section

Create a folder for your blog and add a listing page:
Expand Down
2 changes: 1 addition & 1 deletion 01.getting-started/04.migration/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ WordPress content is HTML. Dune's markdown renderer passes raw HTML through unch
### Not imported

- Comments (Dune has its own comment system — migrate manually if needed)
- Users (create admin users via `dune new` or the admin panel)
- Users (create your first admin with `dune users:create <email> --role admin --password-prompt`; see [Administration](administration#creating-the-first-admin))
- Attachments / media (download your `wp-content/uploads/` separately and place files in the relevant `content/` page folders or a shared `static/` directory)
- Custom post types beyond `post` and `page`
- Plugin data (ACF fields, WooCommerce products, etc.)
Expand Down
2 changes: 2 additions & 0 deletions 05.deployment/02.traditional-server/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ The production defaults are already sensible: `debug: false`, and the filesystem

### 3. Build and serve

User accounts live in `data/users/` and are normally committed with the site, so an admin you created locally arrives with the clone. If the site has no enabled admin yet (a fresh repo, or you keep `data/users/` out of git), create one on the server with `dune users:create <email> --role admin --password-prompt`, or set `DUNE_ADMIN_EMAIL` and `DUNE_ADMIN_PASSWORD` for the first boot. See [Creating the first admin](administration#creating-the-first-admin) for the rules, and remove the password variable afterwards.

```bash
# Build the content index
DUNE_ENV=production dune build
Expand Down
Loading