# 🚢 Deployment
For general deployment advice, see the Deployment page in Resources. This page specifically documents options available to Launch Pad projects.
# General
# Domains
The ubclaunchpad.com
domain is managed through the GSuite Admin Console (along with Drive and email) by the co-presidents.
We can set up records (though typically you'll just want CNAME
) for a ubclaunchpad.com
subdomain (such as docs.ubclaunchpad.com
) for you if needed - just reach out in #ask-leads
for help!
Note that if you wish to deploy using Netlify and you want a ubclaunchpad.com
subdomain, you must use the UBC Launch Pad OSS account - see our Netlify guide for more details.
# Frontends
# Netlify
Netlify (opens new window) is a service for continuously building and deploying web applications from a GitHub repository. It also includes nice features such as branch previews.
There are two options for deploying your project using Netlify:
- Deploy using your own Netlify account - this means you must use the provided
netlify.app
domain, or buy another domain to use. - Deploy using the UBC Launch Pad Sponsored OSS account (opens new window) - this is a paid account that Netlify has sponsored us with. You must use this account if you wish to deploy your Netlify app on a
ubclaunchpad.com
domain - for example, ubclaunchpad.com (opens new window), docs.ubclaunchpad.com (opens new window), design.ubclaunchpad.com (opens new window), and sync.ubclaunchpad.com (opens new window) are deployed using this account. To get set up, just reach out to#ask-leads
(opens new window) once you have met the following requirements for using the sponsored account (opens new window):- Made your project repository public (most teams will do this from the beginning anyway)
- Add a liberal license like MIT (opens new window) or a Creative Commons license (opens new window) to your repository
- Add some text linking to the Netlify website (opens new window) saying
This project is powered by Netlify
or similar. You can also use one of their badges (opens new window). - Made sure your project is not a commercial project (most Launch Pad projects won't have this issue, but do keep this in mind)
We recommend using Netlify's file-based configuration (opens new window) to make your site configuration visible and easier to redeploy in the future if we move accounts - take a look at netlify.toml
examples in Launch Pad (opens new window) for reference.
# Backends
# Inertia
Inertia (opens new window) is a UBC Launch Pad project designed to continuously build and deploy Docker-based projects from a GitHub repository to a cloud VPS instance. More details are available in Resources, the Inertia Usage Guide (opens new window), or in the #ask-inertia
(opens new window) channel on Slack.
ubclaunchpad/rocket2
(opens new window) currently uses Inertia for deployment to an AWS EC2 instance.
# Heroku
Heroku is also a good option that UBC Launch Pad has used in the past. It is a cheap alternative to deploy simple applications. Heroku has a free option that is useful for demos or for applications that do not require to stay up all the time.
ubclaunchpad/sync
(opens new window) uses Heroku to deploy its backend.
TIP
As a student, you have access to GitHub's student developer pack (opens new window), which includes a free Heroku hobby dyno (opens new window). The hobby dyno is a great deployment option for small scale applications, and unlike the free dyno, the application does not go to sleep.