I am running a Flask application on Docker with uwsgi. I have been running it for years now, but we need to add https to it. I know I can use an HAProxy and do ssl offloading, but in our current setup we cant do it this way, at least not right now. We need to do the SSL directly on the application. I have tried multiple options and I keep getting "The -s/--socket option is missing and stdin is not a socket." Not sure what else to try. The server is uWSGI==2.0.26. Please help. below is my uwsgi.ini file. [uwsgi] module = wsgi:app master = true processes = 5 enable-threads = true single-interpreter = true buffer-size = 32768 # protocol = http # socket = 0.0.0.0:5000 # protocol = https shared-socket = 0.0.0.0:5000 https = 0,/app/ssl/app_cert.crt,/app/ssl/app_cert.key stdout_logfile = /dev/stdout stdout_logfile_maxbytes = 0 stderr_logfile = /dev/stdout stderr_logfile_maxbytes = 0 chmod-socket = 660 vacuum = true die-on-term = true py-autoreload = 1 
You can use the following example to run your flask application with uwsgi and docker. I will provide a minimal example and you can use it to expand to your needs. The uwsgi conf were extracted from docs. uwsgi.ini [uwsgi] shared-socket = 0.0.0.0:443 https = =0,ssl/server.crt,ssl/server.key master = true module = app:app uid = uwsgi gid = uwsgi  app.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, World!" if __name__ == "__main__": app.run()  requirements.txt Flask uWSGI==2.0.26  Dockerfile FROM python:3.10-slim RUN apt-get update && apt-get install -y \ build-essential \ gcc \ libssl-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN groupadd -r uwsgi && useradd -r -g uwsgi -m uwsgi WORKDIR /app COPY requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt COPY . /app/ COPY ssl/ /app/ssl/ RUN chown -R uwsgi:uwsgi /app EXPOSE 443 USER uwsgi CMD ["uwsgi", "--ini", "uwsgi.ini"]  Create an ssl directory and generate a self-signed cert. mkdir ssl openssl req -x509 \ -newkey rsa:2048 \ -keyout ssl/server.key \ -out ssl/server.crt \ -days 365 -nodes -subj "/CN=localhost"  Now you should have this folder structure: . ├── app.py ├── Dockerfile ├── requirements.txt ├── ssl │ ├── server.crt │ └── server.key └── uwsgi.ini  Now build and run: docker build -t flask-uwsgi-example . docker run --rm --name flask -p 443:443 flask-uwsgi-example  And test with curl: $ curl -k https://localhost:443 Hello, World! 