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 haven't already, install Homebrew. We'll use it later to automatically install other dependencies, including:
- rbenv and ruby-build for Ruby version management
- nvm and Yarn for Node version and package management
- PostgreSQL as a relational database
- Redis for Action Cable WebSockets and background job queues
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 https://github.com/bullet-train-co/bullet_train.git your_new_project_name -
Enter the project directory:
cd your_new_project_name -
If you're on macOS, you can use Homebrew to install all dependencies:
brew bundleUnfortunately when you install dependencies this way, Homebrew suppresses the additional set up instructions, so we've included those below.
If Homebrew is installing nvm for the first time, there are some additional steps you need to take:
mkdir ~/.nvm touch ~/.zshrc open ~/.zshrcWhen the editor opens, paste the following into
~/.zshrcand save:export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"If Homebrew is installing rbenv for the first time, there are some additional steps you need to take:
rbenv init rbenv install `cat .ruby-version`⚠️ You'll need to open a new shell before continuing. The easiest way to do this on macOS is hitting⌘+Tto open a new tab in the same working directory.If Homebrew is installing PostgreSQL for the first time, there are some additional steps you need to take:
brew services start postgresql@14If Homebrew is installing Redis for the first time, there are some additional steps you need to take:
brew services start redis -
Make sure Node.js is properly configured:
source ~/.zshrc nvm install corepack enable⚠️ You'll need to open a new shell before continuing. The easiest way to do this on macOS is hitting⌘+Tto open a new tab in the same working directory. -
Run the configuration and setup scripts:
bundle install bin/configure bin/setup -
Boot your application:
bin/dev -
Visit
http://localhost:3000.
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.
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 git@github.com: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 3000fromProcfile.devand runbin/set-ngrok-urlto setBASE_URLto a publically accessible domain. Runbin/set-ngrok-urlafter restartingngrokto updateBASE_URLto the current public url. -
Visit http://localhost:3000.
This README.md file will be replaced with README.example.md after running bin/configure.