Permission denied when deploying to Streamlit cloud on port 80

I have an app at https://leetcode-scoreboard.streamlit.app and I’m getting an error PERMISSION DENIED. From the traceback, I don’t think it has anything to do with any of my dependencies.

I’m using Python 3.11 and Streamlit 1.40.1.

[05:36:19] 📦 Processed dependencies!

Traceback (most recent call last):

  File "/home/adminuser/venv/bin/streamlit", line 8, in <module>

    sys.exit(main())

             ^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/click/core.py", line 1157, in __call__

    return self.main(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/click/core.py", line 1078, in main

    rv = self.invoke(ctx)

         ^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/click/core.py", line 1688, in invoke

    return _process_result(sub_ctx.command.invoke(sub_ctx))

                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/click/core.py", line 1434, in invoke

    return ctx.invoke(self.callback, **ctx.params)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/click/core.py", line 783, in invoke

    return __callback(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/cli.py", line 240, in main_run

    _main_run(target, args, flag_options=kwargs)

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/cli.py", line 276, in _main_run

    bootstrap.run(file, is_hello, args, flag_options)

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/bootstrap.py", line 329, in run

    asyncio.run(run_server())

  File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run

    return runner.run(main)

           ^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run

    return self._loop.run_until_complete(task)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete

    return future.result()

           ^^^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/bootstrap.py", line 317, in run_server

    await server.start()

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/server/server.py", line 275, in start

    start_listening(app)

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/server/server.py", line 132, in start_listening

    start_listening_tcp_socket(http_server)

  File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/web/server/server.py", line 199, in start_listening_tcp_socket

    http_server.listen(port, address)

  File "/home/adminuser/venv/lib/python3.11/site-packages/tornado/tcpserver.py", line 183, in listen

    sockets = bind_sockets(

              ^^^^^^^^^^^^^

  File "/home/adminuser/venv/lib/python3.11/site-packages/tornado/netutil.py", line 162, in bind_sockets

    sock.bind(sockaddr)

PermissionError: [Errno 13] Permission denied

[05:36:19] ❗️ error restarting streamlit: exit status 7: output: streamlit: ERROR (not running)
streamlit: ERROR (spawn error)

Deps

altair==5.4.1
attrs==24.2.0
blinker==1.9.0
cachetools==5.5.0
certifi==2024.8.30
charset-normalizer==3.4.0
click==8.1.7
contourpy==1.3.1
cycler==0.12.1
decorator==5.1.1
duckdb==1.1.3
fonttools==4.55.0
gitdb==4.0.11
GitPython==3.1.43
google-auth==2.36.0
google-auth-oauthlib==1.2.1
gspread==5.12.4
gspread-dataframe==4.0.0
gspread-formatting==1.2.0
gspread-pandas==3.3.0
idna==3.10
Jinja2==3.1.4
jsonschema==4.23.0
jsonschema-specifications==2024.10.1
july @ git+https://github.com/thoellrich/july.git@35833e4c3d84b07faedeb128d670520b2d779932
kiwisolver==1.4.7
markdown-it-py==3.0.0
MarkupSafe==3.0.2
matplotlib==3.9.2
mdurl==0.1.2
narwhals==1.14.0
numpy==2.1.3
oauthlib==3.2.2
packaging==24.2
pandas==2.2.3
pillow==11.0.0
protobuf==5.28.3
pyarrow==18.0.0
pyasn1==0.6.1
pyasn1_modules==0.4.1
pydeck==0.9.1
Pygments==2.18.0
pyparsing==3.0.9
python-dateutil==2.9.0.post0
pytz==2024.2
referencing==0.35.1
requests==2.32.3
requests-oauthlib==2.0.0
rich==13.9.4
rpds-py==0.21.0
rsa==4.9
six==1.16.0
smmap==5.0.1
sql_metadata==2.15.0
sqlparse==0.5.2
st-gsheets-connection==0.1.0
streamlit==1.40.1
tenacity==9.0.0
toml==0.10.2
tornado==6.4.1
typing_extensions==4.12.2
tzdata==2024.2
urllib3==2.2.3
validators==0.34.0

Hey, @streamLIT-af

Sorry for your inconvenience. I found the reason, you are defining port in your config.toml configuration. Streamlit application cannot start on protected port (80). We are going to change the code on our side to ignore that configuration. You can simply remove it from configuration and app is starting as expected

1 Like

That was the problem, thank you!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.