# Deploying Dash app as self-hosted

**URL:** <https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728>\
**Category:** Dash Python\
**Created:** [March 2, 2018, 6:41pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728 "2018-03-02T18:41:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![AdamUdovich](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/adamudovich/32/2357_2.png) [@AdamUdovich](https://community.plotly.com/u/AdamUdovich)\
**Post date:** [March 2, 2018, 6:41pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/1 "2018-03-02T18:41:21Z")

</div>

I have a clarification question about deploying my Dash app.

I am using a virtual host from my University that is hosted on the University servers. For this type of hosting, what is the best protocol to follow for deploying the app? Would this fall under Flask’s “self-hosted” options?

If someone could direct to a tutorial I can probably take it from there but being that I am totally new to hosting web apps I am a bit lost on getting started.

If anymore more info is needed to direct me please let me know!

Thank you for your help!

---

<div class="post-metadata">

**Author:** ![Abeserra](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@Abeserra](https://community.plotly.com/u/Abeserra)\
**Post date:** [March 2, 2018, 7:02pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/2 "2018-03-02T19:02:05Z")

</div>

You should be fine following the steps in [https://dash.plot.ly/deployment](https://dash.plot.ly/deployment) and using `gunicorn app:server -b :80` to bind to port 80.

Try that and if you have any further question let us know.

---

<div class="post-metadata">

**Author:** ![AdamUdovich](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/adamudovich/32/2357_2.png) [@AdamUdovich](https://community.plotly.com/u/AdamUdovich)\
**Post date:** [March 2, 2018, 8:12pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/3 "2018-03-02T20:12:56Z")

</div>

Ok thank you. I guess I can ignore the git instructions as that is tied to Heroku?

---

<div class="post-metadata">

**Author:** ![Abeserra](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@Abeserra](https://community.plotly.com/u/Abeserra)\
**Post date:** [March 2, 2018, 8:27pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/4 "2018-03-02T20:27:57Z")

</div>

yep, you can ignore any Heroku specifics instructions.

---

<div class="post-metadata">

**Author:** ![AdamUdovich](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/adamudovich/32/2357_2.png) [@AdamUdovich](https://community.plotly.com/u/AdamUdovich)\
**Post date:** [March 2, 2018, 8:36pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/5 "2018-03-02T20:36:14Z")

</div>

There does not seem to be many other instructions aside from the Heroku specifics. Should I look around for a more detailed Gunicorn Flask deployment guide?

---

<div class="post-metadata">

**Author:** ![Abeserra](https://avatars.discourse-cdn.com/v4/letter/a/77aa72/32.png) [@Abeserra](https://community.plotly.com/u/Abeserra)\
**Post date:** [March 2, 2018, 8:49pm UTC](https://community.plotly.com/t/deploying-dash-app-as-self-hosted/8728/6 "2018-03-02T20:49:05Z")

</div>

No, just pick whatever you need.

Probably just adding:

```
import dash

app = dash.Dash( __name__ )

server = app.server # the Flask app

```

and doing `gunicorn app:server -b :80` is enough.

(Note that you may need superuser privileges in order to bind to port 80. Try first to use another not reserved port.)
