Deploy Tanstack Shopify App Template
TanStack Start Shopify app with React 19, Drizzle ORM, and PostgreSQL.
Just deployed
/var/lib/postgresql/data
Just deployed
Deploy and Host TanStack Shopify App Template on Railway
A production-ready Shopify app boilerplate built with TanStack Start, React 19, TypeScript, Drizzle ORM, and PostgreSQL. It includes Shopify OAuth, session storage, App Bridge integration, direct HMAC-verified webhooks, and generated types for the Shopify Admin API 2026-07.
About Hosting This Template
The Railway template deploys two services: the Shopify app and PostgreSQL 18. Railway automatically connects the database, creates a public app domain, builds the app with Railpack, pushes the Drizzle schema before deployment, and starts the Nitro server.
Redis and BullMQ are not required. Webhooks are authenticated and processed directly by the app.
Common Use Cases
- Build embedded Shopify admin apps with TanStack Start
- Create product, order, inventory, and merchant workflow tools
- Start a public or custom Shopify app with typed Admin GraphQL operations
Dependencies for TanStack Shopify App Template Hosting
- PostgreSQL 18 for sessions and application data
- A Shopify app created in the Shopify Dev Dashboard
Deployment Dependencies
Deployment Configuration
The template configures these values automatically:
DATABASE_URL=${{Postgres.DATABASE_URL}}
SHOPIFY_APP_URL=https://${{RAILWAY_PUBLIC_DOMAIN}}
Provide these Shopify app values when deploying:
VITE_SHOPIFY_API_KEY=your_client_id
SHOPIFY_API_SECRET=your_client_secret
SHOPIFY_APP_SCOPES=read_products
SHOPIFY_APP_SCOPES must match the scopes configured for your app. After deployment, use the generated Railway domain in your Shopify app configuration.
Build and Start Commands
pnpm app:build
pnpm db:push
pnpm app:start
Resources
Why Deploy on Railway?
Railway provisions the application, PostgreSQL database, private service networking, persistent database storage, and public app domain from one template. You only need to provide the Shopify credentials and mirror the generated domain in your Shopify app settings.
Template Content
SHOPIFY_API_SECRET
Client secret from the Shopify Dev Dashboard
VITE_SHOPIFY_API_KEY
Client ID from the Shopify Dev Dashboard or shopify.app.toml
