# Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)

**URL:** <https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590>\
**Category:** troubleshooting\
**Tags:** docker\
**Created:** [August 21, 2025, 7:40pm UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590 "2025-08-21T19:40:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![izhyrnyy](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/izhyrnyy/32/1131_2.png) [@izhyrnyy](https://forum.storj.io/u/izhyrnyy)\
**Post date:** [August 21, 2025, 7:40pm UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590/1 "2025-08-21T19:40:41Z")

</div>

Updated Proxmox from version 6 to version 9  
Storj stopped working  
Error when starting

> 2025-08-21 19:20:02,877 INFO Set uid to user 0 succeeded  
> Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)  
> For help, use /usr/bin/supervisord -h  
> 2025-08-21 19:20:49,099 INFO Set uid to user 0 succeeded  
> Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)  
> For help, use /usr/bin/supervisord -h  
> 2025-08-21 19:21:35,093 INFO Set uid to user 0 succeeded  
> Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)  
> For help, use /usr/bin/supervisord -h  
> 2025-08-21 19:22:21,211 INFO Set uid to user 0 succeeded  
> Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)  
> For help, use /usr/bin/supervisord -h  
> 2025-08-21 19:23:07,315 INFO Set uid to user 0 succeeded  
> Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)  
> For help, use /usr/bin/supervisord -h  
> 2025-08-21 19:23:53,322 INFO Set uid to user 0 succeeded

Configuration for launch

 ![image](https://storj-s3.bcdn.literatehosting.net/original/3X/b/a/ba98e816b47ec38beffe9006e6839e6ddf86c10c.png)

I didn’t change anything in the configuration.  
I deleted and reinstalled Docker  
There is a proxymox 8 server nearby and everything works

Is this supervisord inside a container?  
Who can deny him access?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [August 22, 2025, 3:24am UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590/2 "2025-08-22T03:24:59Z")

</div>

Perhaps your docker network configured to the host mode, not the bridge mode (I think so, because you also changed the private address), in that case the listening address for supervisord is already occupied, you need to change it, see

> <https://github.com/storj/storagenode-docker/blob/a187f986c5a29fd9f40de9615b35ba2d0bd7ae70/docker/entrypoint#L112>

So, you need to switch to a private port by specifying `SUPERVISOR_SERVER=private_port`:

```auto
docker run ... \
...
-e SUPERVISOR_SERVER=private_port \
--name storjlabs/storagenode:latest \
...

```

Maybe `public_port` may work too.

---

<div class="post-metadata">

**Author:** ![izhyrnyy](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/izhyrnyy/32/1131_2.png) [@izhyrnyy](https://forum.storj.io/u/izhyrnyy)\
**Post date:** [August 22, 2025, 5:14am UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590/3 "2025-08-22T05:14:15Z")

</div>

I read your code block, but I still don’t understand in what format to pass private and public ports  
I tried different things, always the same error

![image](https://storj-s3.bcdn.literatehosting.net/original/3X/6/5/65aeff13d285cf546be5306ab16610c14fcb0ba5.png)

![image](https://storj-s3.bcdn.literatehosting.net/original/3X/a/2/a2dfaa3f8441b917cb625e4313f75d1f9c2f8d2d.png)

```bash
    case ${SUPERVISOR_SERVER} in
  	unix) # default
  	;;
  	public_port)
  	  # replace unix_http_server section to inet_http_server
  		sed -i "s#^\[unix_http_server\]\$#\[inet_http_server\]#" /etc/supervisor/supervisord.conf
  		# replace unix socket file with tcp public port
      sed -i "s#^file=/etc/supervisor/supervisor.sock\$#port=*:9001#" /etc/supervisor/supervisord.conf
      # set server url to http server address
      sed -i "s#^serverurl=unix:///etc/supervisor/supervisor.sock\$#serverurl=http://127.0.0.1:9001#" /etc/supervisor/supervisord.conf
  	;;
  	private_port)
  	  # replace unix_http_server section to inet_http_server
  		sed -i "s#^\[unix_http_server\]\$#\[inet_http_server\]#" /etc/supervisor/supervisord.conf
  		# replace unix socket file with tcp private port .i.e. listens on only localhost
      sed -i "s#^file=/etc/supervisor/supervisor.sock\$#port=127.0.0.1:9001#" /etc/supervisor/supervisord.conf
       # set server url to http server address
      sed -i "s#^serverurl=unix:///etc/supervisor/supervisor.sock\$#serverurl=http://127.0.0.1:9001#" /etc/supervisor/supervisord.conf
  	;;
  	*)
  		echo "Invalid value '${SUPERVISOR_SERVER}' for SUPERVISOR_SERVER. Expected 'unix', 'public_port' or 'private_port'"
  		exit 1
  	;;
  esac

```

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [August 22, 2025, 5:22am UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590/4 "2025-08-22T05:22:36Z")

</div>

You cannot provide a port there, only change the mode:

- `unix` - the default, it should use a socket
- `public_port` will bind it to `0.0.0.0:9001`
- `private_port` will bind it to `127.0.0.1:9001`

If you use a host network, then likely the `public_port` mode will not work, because it’s directly exposed to the host, and there could be only one with such number. But the `private_port` mode should work for multiple containers (the `localhost` (`127.0.0.1`) is still isolated as far as I understand).

The other way would be only to build your own image based on an official one and replace the port with a variable to be able to provide it for every container. And use this custom image instead of the official.

---

<div class="post-metadata">

**Author:** ![izhyrnyy](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/izhyrnyy/32/1131_2.png) [@izhyrnyy](https://forum.storj.io/u/izhyrnyy)\
**Post date:** [August 22, 2025, 5:36am UTC](https://forum.storj.io/t/error-cannot-open-an-http-server-socket-error-reported-errno-eacces-13/30590/5 "2025-08-22T05:36:24Z")

</div>

Thanks!  
I thought it was a port reassignment, not a mode switch  
It worked

![image](https://storj-s3.bcdn.literatehosting.net/original/3X/e/3/e3a8b62aaac6f6282d238016b089269f8a015f63.png)
