# Deployment

Deploying the app is very simple, you have different options that I will describe to you.

You can use services like [Vercel](https://vercel.com/) (my favorite), [Netlify](https://www.netlify.com/), or [Render](https://render.com/), or even self-host it on your server if you prefer.

## 5 minutes deploy

These are the steps:

1. Create a private Git repository using [GitHub](https://github.com/) (my favorite), [GitLab](https://about.gitlab.com/), [BitBucket](https://bitbucket.org/product?\&aceid=\&adposition=\&adgroup=146041806431\&campaign=18815940430\&creative=632894031558\&device=c\&keyword=bitbucket\&matchtype=e\&network=g\&placement=\&ds_kids=p74116832382\&ds_e=GOOGLE\&ds_eid=700000001551985\&ds_e1=GOOGLE\&gad_source=1\&gclid=CjwKCAiAvJarBhA1EiwAGgZl0GjqRKbDALOkeJW4nGvLQqob7gquXy1JIeXCRzB_YAJc0nbWrGHvlRoC6MoQAvD_BwE\&gclsrc=aw.ds), or your favorite service.
2. Add the **Shipped** folder to your Git repository (details below)
3. Sign up for Vercel and publish your website in 1-click.

#### 2. How to add the Shipped folder to your Git repository.

Open the Terminal, go to the Shipped folder, and run these commands:

{% code title="terminal" %}

```bash
# unlink the Shipped git repository
git remote remove origin
# add your git repository as a remote
git remote add origin <your git repo link>

```

{% endcode %}

Now, when you create a new commit and push it, the new code will go to your Git repository.

If you linked Vercel, Netlify, or Render, each pushed commit to the `main` branch will trigger a new release.

If you haven't already, sign up to Vercel and connect your GitHub repository.

If you reached this point, your product is live, congrats! 🚀

{% hint style="success" %}
Share your product with me if you want it to be featured on the website of **Shipped**!
{% endhint %}

## Self-hosting

{% hint style="info" %}
This configuration is for skilled engineers, and it takes more time.
{% endhint %}

Running your app is as simple as running this command `npm run start` in the Shipped folder.

This means that you can upload your code to a remote server (like an AWS EC2 or Hetzner instance) and run this command. Your website will be available on port 3000 (but you can customize it with the option `-p <port>`).
