I’m so proud to be as close as I am to have a stable and secure web app. I am a student studying Finance and Economics so I’m not well versed in full stack development. I found out about streamlit about a month ago and fell in LOVE. I’ll keep this short.
I’m using nginx in a docker container as a reverse proxy to my streamlit app in another container. I’m hosting the server through linode and setup a rDNS through their Domain manager. Once I get letsencrypt working I will post all my code and make a few videos.
I will create a breakdown soon! Yeah I think the problem is that I don’t have www.joeysapps.com setup with a cert. I only have joeysapps.com setup. Firefox gives me the same problem
Hi, I went to your app (congratulations btw, I’m very excited to have mine up and running as well), and found your code. I was wondering how you got it to work using https.
Hey there. I would love to help. I’ve been procrastinating on creating a full tutorial on how to get https working. Are you using Docker with streamlit and nginx?
Hi! yes sir. But with all honesty, although I have a fair understanding on what a single Docker container is doing and how you can deploy it, having two containers is something I attempted for the first time on my own, and I did use docker-compose to get things up and running. Here is my app btw.
My understanding is that nginx is something like a proxy that does the https trick but how?
So Nginx is a load balancer/web-server. Requests are first sent to nginx and then those requests are served to streamlit via a reverse proxy. Nginx handles the “three way handshake” that happens when a user makes a request to your server. I use letsencrpyt for the SSL certs that are needed for https. I then have a certbot container which handles auto renewal of the SSL certs. I followed this guide on how to get the certs running on the server.
Alright sounds good. I’ve helped a few people get this working via the streamlit discord. I’m always happy to ssh into a sever and get this working. I know how confusing this can be (it took me months to understand all this) as you just want to be able to share a streamlit app and not worry about full stack development. If you need more hands on help, just hit me up through discord. My username is yoyojoe#5510.
Honestly, I was shocked I was able to put a web app of my own up and running in about a month. But now I want it to be perfect. And I spent hours searching online for this so thank you again!
I know the feeling oh too well. I’m in school right now so I don’t have as much time as I would like but I’m in the process of developing a template that someone can just clone and have everything they need for certs/nginx/streamlit. I’m trying to use cookiecutter for it.
Oh my bad. So I forgot to take that out. Web is a container that has a django application in it. I’ll take that out real quick. You can just remove that.
The containers seem to be running fine though. Anyway, I’ll be back to this tomorrow morning (its past midnight here). And I’ll mention what I did for others