Vol. 0 · Early preview (v0.1)
Built in public · Rust + SQLite · AGPLv3 | Commercial
Documentation & Quickstart · v0.1

Up and running in one binary.

Daypress keeps its state in the directory it runs from: SQLite in data/neopress.sqlite, media in uploads/, backup snapshots in backups/, and imported theme files in static/themes/.
Plate IV - Compiler
Plate IV
Compiler
Daypress art collection, 2026
1. Install and run

Three ways to start the server

By default Daypress listens on port 8090 and stores its SQLite database in data/neopress.sqlite. Override them anytime with --port / PORT and --db / DATABASE_PATH.
Option A · Linux, Windows, macOS

Prebuilt binary

Download the archive for your platform and SHA256SUMS from GitHub Releases. Verify the checksum and start the binary (on macOS, clear quarantine first with xattr -d com.apple.quarantine neopress):
sha256sum --check --ignore-missing SHA256SUMS
tar -xzf neopress-<version>-x86_64-unknown-linux-gnu.tar.gz
./neopress-<version>-x86_64-unknown-linux-gnu/neopress
Option B · Single volume

Docker Compose

There is no published Docker Hub image yet, so Compose builds it from source in a few minutes. The database, uploads, and backups live in the neopress_neopress-data volume:
git clone https://github.com/Trooper-lab/daypress.git
cd neopress
docker compose up -d --build
docker compose logs neopress
Option C · Rust 1.80+ toolchain

From source with Cargo

Compile and run the release binary directly with Cargo. Once started, visit :8090/ for the public site, :8090/n-admin/ for admin, and :8090/n-admin/builder for Daystudio:
git clone https://github.com/Trooper-lab/daypress.git
cd neopress
cargo run --release -p neopress-server --bin neopress
2. First login & password reset

No default passwords

On first start Daypress creates an admin account and prints a generated password once to stderr (or uses NEOPRESS_ADMIN_PASSWORD if set). Log in at /login and change it under Users → Profile. Repeated failed logins are throttled (5 attempts per 15 minutes).
Lost the password? Use Lost your password? on the login page to email a 1-hour single-use link, or reset it directly on the server:
neopress reset-password admin --db data/neopress.sqlite --sign-out-everyone
3. Transactional Email (SMTP)

Environment configuration

Form notifications and password resets are sent over SMTP. Set these environment variables, restart, and click Settings → General → Send test email:
VariableMeaning
NEOPRESS_SMTP_HOSTSMTP server hostname (required to send; otherwise logs not_sent)
NEOPRESS_SMTP_PORTPort (default 587; 465 for tls, 25 for none)
NEOPRESS_SMTP_SECURITYstarttls (default), tls, or none
NEOPRESS_SMTP_USER / _PASSWORDSMTP credentials if required by your server
NEOPRESS_SMTP_FROM / _FROM_NAMESender address & name (defaults to admin email and site title)
4. WordPress Migration & AI Assistant (MCP)

Bring your site, connect your AI

Import an existing WordPress site in four steps, or connect Claude Desktop, Claude Code, and Cursor directly to Daypress via the Model Context Protocol.
Experimental 1-Click & WXR Importer

Migrating a WordPress site

  1. In Daypress, go to Tools → Import and download neopress-migrator.zip.
  2. In WordPress, go to Plugins → Add New → Upload Plugin, upload the zip, and activate it.
  3. In WordPress, open Tools → Daypress Migrator and click Export Full JSON Bundle.
  4. Back in Daypress, upload the .json file under Tools → Import (or upload a standard WordPress WXR .xml export up to 500 MB).
Daypress Tools -> Import screen
Model Context Protocol (Stdio & HTTP JSON-RPC 2.0)

Connecting an AI assistant (MCP)

Run Daypress in stdio mode (--mcp-stdio) or call POST /mcp over HTTP using an administrator Application Password created under Users → Profile:
curl -X POST https://daypress.dev/mcp \
  -u "admin:<application-password>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
MCP ToolWhat it does
neopress_list_posts / _get_postList or fetch posts and pages by ID, slug, status, or keyword
neopress_create_post / _update_postCreate or update posts, pages, excerpts, status, and SEO fields
neopress_get_post_layout / _update_post_layoutRead or validate & persist a page's Daystudio AST layout JSON
neopress_get_settings / _update_optionInspect or update site options, titles, theme CSS, and front page
neopress_import_wp_bundleAtomically import a full WordPress JSON migration bundle

Explore the internal crate design and REST API reference.