This Template is a starting point for creating a Node.js project on the shuttle.rs. It is a simple discord bot template that can be used to create a discord bot using the discord.js library, or any other Node.js project.
Example of a bot running on shuttle.rs:
- rust installed
- cargo-shuttle CLI installed
- Node.js installed (obv)
-
Create a new project using the template
cargo shuttle init --from arnav-kr/node-shuttle
-
rename
shuttle/Secrets.example.toml
toshuttle/Secrets.toml
and put your environment variables there. Those will be deployed to the shuttle.rs server. -
restart the project
npm run shuttle:restart
-
deploy the project
npm run shuttle:deploy
Note
First Deploy might take some time to finish (maybe a lot) but subsequent deploys will be faster.
Note
package.json
contains the shuttle:
scripts to interact with the shuttle.rs server. You can use them to login, deploy, start, restart, and stop the server.
Cosidering the deploy limit per day, the deploy workflow is opt-in by default i.e. you need to manually trigger it by putting [deploy]
anywhere in your commit message.
Important
To deploy using Github Actions, you need to specify the SHUTTLE_TOKEN
in the repository secrets along with any other environment variable you are going to use in your project.
You can add or remove variables in .github/workflows/deploy.yml
file.
This template requires the following environment variables to be set in the repository secrets:\
SHUTTLE_TOKEN
: The token to authenticate with the shuttle.rs server.\DISCORD_TOKEN
: The discord bot token.
Not specifying them in the repository secrets will result in a failed deployment.
Tip
To save your build hours, you may run the first deploy manually and then use the GitHub Actions to deploy the later changes.
use general node workflow for development.
This project is licensed under the AGPL 3.0 License - see the LICENSE file for details