If you're new to Bullet Train, start with the Bullet Train Developer Documentation and the Getting Started guide. You should also join the community Discord server!
If you're building a new application with Bullet Train, you don't want to "Fork" the template repository on GitHub. Instead, you should:
-
Clone the template repository:
git clone [email protected]:bullet-train-co/bullet_train.git your_new_project_name
-
Enter the project directory:
cd your_new_project_name
-
Run the configuration and setup scripts:
bin/configure bin/setup
-
Boot your application:
bin/dev
-
Visit
http://localhost:3000
.
Clicking this button will set up a new Bullet Train project for development on Gitpod.
Open-source development sponsored by:
You can use this public repository to provision a new application and then push your private application code there later.
Clicking this button will take you to the first step of a process that, when completed, will provision production-grade infrastructure for your Bullet Train application which will cost about $30/month.
After you have confirmed the settings, it might be that you run into an error with the yarn version on the Render server, in which case you'd need to match your local yarn version to Render's version on their servers:
// package.json
{
// ... more configs...
"packageManager": "[email protected]"
}
When you're done deploying to Render, you need to go into "Dashboard" > "web", copy the server URL, and then go into "Environment Groups" > "settings" of your project and paste the URL into the value for BASE_URL
. If you configured a custom domain already than add that URL.
If you would like to get acquinted with Render and Bullet Train first, you can start with free settings like this:
# render.yaml
databases:
- name: database
databaseName: database
user: bullet_train
plan: free # Change this to "free".
services:
- type: redis
name: redis
ipAllowList: []
plan: free # Change this to "free".
maxmemoryPolicy: noeviction
- type: web
name: web
plan: free # Change this to "free".
# ...
- type: worker
name: worker
plan: free # Change this to "free". This will shut off the background worker.
The gotchas here are that the background workers will be shut off (e.g., you won't receive any email from the app) and a limited amount of hosting hours is granted with the servers sleeping in after some time of inactivity. This should be enough for you to get acquinted with Bullet Train and host your app from day one in the world wide web. Turning on the worker will incur extra cost (
Clicking this button will take you to the first step of a process that, when completed, will provision production-grade infrastructure and services for your Bullet Train application which will cost about $140/month.
Once that process has completed, be sure to complete the other steps from the Deploying to Heroku documentation.
If you're looking contribute to Bullet Train, you should "Fork" this template repository on GitHub, like so:
-
Click "Fork" in the top-right corner.
-
Select the account where you want to fork the repository.
-
Click the "Code" button on the new repository and copy the SSH path.
-
Clone your forked repository using the SSH path you copied, like so:
git clone [email protected]:your-account/bullet_train.git cd bullet_train
-
Run the setup script:
bin/setup
-
Start the application:
bin/dev
[!NOTE] Optional: If you have ngrok installed, uncomment
ngrok: ngrok http 3000
fromProcfile.dev
and runbin/set-ngrok-url
to setBASE_URL
to a publically accessible domain. Runbin/set-ngrok-url
after restartingngrok
to updateBASE_URL
to the current public url. -
Visit http://localhost:3000.
This README.md
file will be replaced with README.example.md
after running bin/configure
.