Deploy 86d
The Modern Framework for Commerce
Production
Just deployed
/var/lib/postgresql/data
86d
Just deployed
Bucket
Bucket
Just deployed
Deploy and Host 86d.store on Railway
86d.store is the MIT-licensed, single-tenant Store Runtime. Each deployment includes a Next.js storefront, store admin, modular commerce features and integrations, and its own PostgreSQL database. The source is available to fork, and commerce data stays in the database and bucket created in your Railway project. A standalone deployment requires no 86d Account or 86d.app service. Learn more in the 86d architecture guide.
In development: All current capabilities are Experimental. Use sandbox data and providers only. Do not accept live orders or rely on this release for live checkout, payments, tax, shipping, inventory, or webhooks. Review versioning and maturity before enabling a capability on a store that matters.
About Hosting 86d.store
This Railway template creates the 86d.store service, PostgreSQL, and a private S3-compatible storage bucket in one project. On startup, the container waits for PostgreSQL, applies its database bootstrap, runs Drizzle migrations, optionally seeds demo data with AUTO_SEED=true, and starts the Next.js server on PORT (default 3000). Railway checks /api/health; test an upload separately because degraded storage does not fail readiness.
Railway supplies the database and bucket connection values. Configure a unique STORE_ID, a high-entropy BETTER_AUTH_SECRET of at least 32 characters, and the RESEND_API_KEY requested by the template. To use the included bucket for durable uploads, set STORAGE_CLIENT=s3, STORAGE_PUBLIC_URL_MODE=proxy, and S3_VIRTUAL_HOSTED_STYLE=true. AUTO_SEED is off by default; if enabled, replace the demo store-admin credentials.
See the complete Railway deployment guide, environment-variable reference, and storage guide.
Why Deploy 86d.store on Railway?
Railway keeps the Store Runtime, PostgreSQL, and object storage in one project while supplying service connections, a public domain, TLS, and container health monitoring. The template reduces infrastructure setup while preserving a separate runtime, database, and bucket for each store.
This remains a standalone deployment that you operate. Compare it with an 86d.app-managed deployment in the architecture guide.
Common Use Cases
- Evaluate the storefront and store admin with demo or sandbox data
- Customize a versioned Template and select Modules
- Rehearse imports, migrations, and sandbox payment integrations
- Prepare an isolated store for later production validation
Dependencies for Hosting 86d.store
- PostgreSQL and private S3-compatible storage, provisioned by this Railway template
- A production-strength
BETTER_AUTH_SECRET - A Resend API key for transactional email
- Bun, Drizzle ORM, and Next.js inside the application image
Implementation Details (optional)
Entrypoint: wait for PostgreSQL → apply the pgcrypto/nanoid() bootstrap → drizzle-kit migrate → optional idempotent seed from packages/db/src/seed.ts → bun run apps/store/server.js.
Template Content
86d
86d-app/86dRESEND_API_KEY
BETTER_AUTH_SECRET
A secret value used for encryption and hashing. It must be at least 32 characters and generated with high entropy.
Bucket
Bucket
