A modern full-stack starter application with Rails backend and React frontend using Inertia.js based on the Laravel Starter Kit.
- Inertia Rails & Vite Rails setup
- React frontend with TypeScript & shadcn/ui component library
- User authentication system (based on Authentication Zero)
- solid_queue for background job processing
- solid_cache for caching layer
- solid_cable for websocket communication
- Stripe for payments
- Kamal for deployment
- Optional SSR support
-
Clone this repository
-
Setup dependencies & run the server:
bin/setup
To enable stripe payments, you need to set up a stripe account, and set up a STRIPE_SECRET_KEY
environment variable (either through rails credentials
or ENV
).
This starter kit comes with optional SSR support. To enable it, follow these steps:
-
Open
app/frontend/entrypoints/inertia.ts
and uncomment part of thesetup
function:// Uncomment the following to enable SSR hydration: // if (el.hasChildNodes()) { // hydrateRoot(el, createElement(App, props)) // return // }
-
Open
config/deploy.yml
and uncomment several lines:servers: # Uncomment to enable SSR: # vite_ssr: # hosts: # - 192.168.0.1 # cmd: bundle exec vite ssr # options: # network-alias: vite_ssr # ... env: clear: # Uncomment to enable SSR: # INERTIA_SSR_ENABLED: true # INERTIA_SSR_URL: "http://vite_ssr:13714" # ... builder: # Uncomment to enable SSR: # dockerfile: Dockerfile-ssr
That's it! Now you can deploy your app with SSR support.
The project is available as open source under the terms of the MIT License.