# Standard\_init\_linux.go:207: exec user process caused "exec format error"

**URL:** https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417
**Category:** Help
**Created:** [May 10, 2021, 10:52am UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417 "2021-05-10T10:52:21Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![Wiggum127](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/wiggum127/32/49535_2.png) [@Wiggum127](https://community.letsencrypt.org/u/Wiggum127)
#### Post date: [May 10, 2021, 10:52am UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/1 "2021-05-10T10:52:21Z")

</div>

I'm trying to setup HTTPS for a HomeAssistant configuration. Using [DuckDNS.org](http://DuckDNS.org) as DNS registry to resolve the dynamic IP of my ISP with the [duckdns.org](http://duckdns.org) subdomain.

The installation is on a Raspberry PI. The raspberry is running HomeAssistant (WebUI port 8123) and Pi-hole (WebUI port 80).

Forwarded external port 8321 to internal port 8123 on the router. Trying to run the certbot docker instance to get going (as per the instructions).

Executing the certbot command with port combination 8123:8321 returns:

Error response from daemon: driver failed programming external connectivity on endpoint certbot (a907a8bec71db3d41aabd8ff4d096c93e821739c843284fcba3875090a70cb09): Error starting userland proxy: listen tcp 0.0.0.0:8123: bind: address already in use.

Executing the certbot command with port combination 81:8321 returns:

standard\_init\_linux.go:207: exec user process caused "exec format error"

My domain is: [grembeirn.duckdns.org](http://grembeirn.duckdns.org)

I ran this command: sudo docker run -it --rm -p 81:8321 --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" [quay.io/letsencrypt/letsencrypt:latest](http://quay.io/letsencrypt/letsencrypt:latest) certonly --standalone --standalone-supported-challenges http-01 --email [myemail@email.com](mailto:myemail@email.com) -d [grembeirn.duckdns.org](http://grembeirn.duckdns.org)

It produced this output: standard\_init\_linux.go:207: exec user process caused "exec format error"

My web server is (include version): HomeAssistant

The operating system my web server runs on is (include version): Debian Buster (Raspbian)

My hosting provider, if applicable, is: local host

I can login to a root shell on my machine (yes or no, or I don't know): yes, locally

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of `certbot --version` or `certbot-auto --version` if you're using Certbot): 0.31.0

---

<div class="post-metadata">

### Author: ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)
#### Post date: [May 10, 2021, 11:01am UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/2 "2021-05-10T11:01:51Z")

</div>

Hi @Wiggum127

> [@Wiggum127](#):
>
> Forwarded external port 8321 to internal port 8123 on the router. Trying to run the certbot docker instance to get going (as per the instructions).

that's unrelevant. You can do that, but you can't create a certificate.

A working port 80 is required.

Please read

> **[How It Works - Let's Encrypt](https://letsencrypt.org/how-it-works/)**
>
> The objective of Let’s Encrypt and the ACME protocol is to make it possible to set up an HTTPS server and have it automatically obtain a browser-trusted certificate, without any human intervention. This is accomplished by running a certificate...

and

> **[Challenge Types - Let's Encrypt](https://letsencrypt.org/docs/challenge-types/)**
>
> When you get a certificate from Let’s Encrypt, our servers validate that you control the domain names in that certificate using “challenges,” as defined by the ACME standard. Most of the time, this validation is handled automatically by your ACME...

That's

> [@Wiggum127](#):
>
> Error response from daemon: driver failed programming external connectivity on endpoint certbot (a907a8bec71db3d41aabd8ff4d096c93e821739c843284fcba3875090a70cb09): Error starting userland proxy: listen tcp 0.0.0.0:8123: bind: address already in use.

a second problem (you are doing completely wrong things if you want to use the same port with different programs), but that's not relevant because of the first problem. You can't use port 81.

---

<div class="post-metadata">

### Author: ![Wiggum127](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/wiggum127/32/49535_2.png) [@Wiggum127](https://community.letsencrypt.org/u/Wiggum127)
#### Post date: [May 10, 2021, 12:23pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/3 "2021-05-10T12:23:02Z")

</div>

Having read the suggested articles, I'm still none the wiser what I should be doing.

Bottom line, there is a dns entry and a site running locally listening on 8123.

Based on the details available, Any pointer What should I do to get an HTTPS setup running? If Certbot can only deal with port 80, it's of no use, I guess.

---

<div class="post-metadata">

### Author: ![petercooperjr](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/petercooperjr/32/84698_2.png) [@petercooperjr](https://community.letsencrypt.org/u/petercooperjr)
#### Post date: [May 10, 2021, 1:16pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/4 "2021-05-10T13:16:33Z")

</div>

The HTTP-01 challenge (proving that you own the name) needs to happen over port 80. If you're using another port (and can't have 80 open to fulfill that challenge), you'll need to use the DNS-01 challenge. I _think_ there might be a certbot plugin to do so with DuckDNS?

---

<div class="post-metadata">

### Author: ![rg305](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/rg305/32/91314_2.png) [@rg305](https://community.letsencrypt.org/u/rg305)
#### Post date: [May 10, 2021, 2:21pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/5 "2021-05-10T14:21:25Z")

</div>

If port 80 isn't available and DNS isn't able to fulfill the challenge, you can also try TLS-ALPN.  
But that is not (yet) supported by `certbot`, so you would have to use another client [like: acme.sh]

> [@Setting up certificate with ISP port 80 block?](https://community.letsencrypt.org/t/setting-up-certificate-with-isp-port-80-block/151387/2):
>
> I…

---

<div class="post-metadata">

### Author: ![\_az](https://avatars.discourse-cdn.com/v4/letter/_/22d042/32.png) [@\_az](https://community.letsencrypt.org/u/_az)
#### Post date: [May 10, 2021, 9:04pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/6 "2021-05-10T21:04:15Z")

</div>

> [@Wiggum127](#):
>
> standard\_init\_linux.go:207: exec user process caused "exec format error"

Just to address this point individually in case anybody else comes across it: I think this is most likely because that particular [quay.io](http://quay.io) Docker image is for amd64 hardware only. An arm device like a Raspberry Pi cannot execute it.

The image is outdated as well:

```
Warning: This Docker image is no longer receiving updates!
You should switch to the Docker images on Docker Hub at:
https://hub.docker.com/u/certbot

```

The official Docker images come with arm flavors, which you could use instead, e.g.:

```
sudo docker run -it --rm -p 81:8321 --name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
certbot/certbot:arm32v6-v1.15.0 certonly --standalone --standalone-supported-challenges http-01 \
--email myemail@email.com -d grembeirn.duckdns.org

```

That won't solve your port 80 problem, though.

For DuckDNS I suggest trying [this](https://github.com/acmesh-official/acme.sh/wiki/dnsapi#27-use-duckdnsorg-api).

---

<div class="post-metadata">

### Author: ![Wiggum127](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/wiggum127/32/49535_2.png) [@Wiggum127](https://community.letsencrypt.org/u/Wiggum127)
#### Post date: [May 11, 2021, 8:01am UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/7 "2021-05-11T08:01:25Z")

</div>

There is indeed such a plugin

> **[infinityofspace/certbot\_dns\_duckdns](https://github.com/infinityofspace/certbot_dns_duckdns)**
>
> Plugin for certbot for a DNS-01 challenge with a DuckDNS domain.

Tried to get this to work yesterday, to no avail. Will try again later this week. But Certbot installation and documentation is a mess. Snap, source, apt/dpkg, pip in the end none of them work out for various reasons. Source installation is broken, apt/dpkg is outdated, snap installation doesn't recognise the plugin, ...

Net very reassuring.

I'll might end up trying the acme alternative, I guess.

To be continued.

---

<div class="post-metadata">

### Author: ![\_az](https://avatars.discourse-cdn.com/v4/letter/_/22d042/32.png) [@\_az](https://community.letsencrypt.org/u/_az)
#### Post date: [May 11, 2021, 8:16am UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/8 "2021-05-11T08:16:30Z")

</div>

> [@Wiggum127](#):
>
> Source installation is broken

If you recall what specific issues you ran into here ([these instructions](https://certbot.eff.org/lets-encrypt/pip-other)), we'd be very grateful if you could share those issues with us.

> [@Wiggum127](#):
>
> snap installation doesn't recognise the plugin

Yes, unfortunately due to the way snap confinement works, the plugin needs to be a snap as well. If it's not available as a snap, it won't be visible. All of the official ones are available, but the third-party situation is not as good. I've opened an issue to get this more prominently documented in the instructions. Sorry!

---

<div class="post-metadata">

### Author: ![Wiggum127](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/wiggum127/32/49535_2.png) [@Wiggum127](https://community.letsencrypt.org/u/Wiggum127)
#### Post date: [May 11, 2021, 9:36pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/9 "2021-05-11T21:36:48Z")

</div>

Finally managed to get things to work using pip for certbot and plugin. Was able to generate keys for my domain. Now getting an SSL\_ERROR\_RX\_RECORD\_TOO\_LONG when using https in the browser. Up to the next error 🙂

---

<div class="post-metadata">

### Author: ![JuergenAuer](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/juergenauer/32/26491_2.png) [@JuergenAuer](https://community.letsencrypt.org/u/JuergenAuer)
#### Post date: [May 11, 2021, 10:08pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/10 "2021-05-11T22:08:50Z")

</div>

That port

> [@Wiggum127](#):
>
> Now getting an SSL\_ERROR\_RX\_RECORD\_TOO\_LONG when using https in the browser.

is a http port, not a https port. Use http with that port, you will see content.

---

<div class="post-metadata">

### Author: ![Wiggum127](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/wiggum127/32/49535_2.png) [@Wiggum127](https://community.letsencrypt.org/u/Wiggum127)
#### Post date: [May 11, 2021, 11:04pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/11 "2021-05-11T23:04:10Z")

</div>

Yeah, I know. Trying to get it to use HTTPS, which is down to server side configuration on my raspberry pi HomeAssistant.  
I've managed to create the DNS and get the certificates. Now trying to get HA to switch to HTTPS instead of HTTP. This is off-topic and no longer a question for this forum, I guess.

---

<div class="post-metadata">

### Author: ![system](https://global.discourse-cdn.com/letsencrypt/original/3X/c/a/ca6c06ea1ea201324bba7048c6841ce60236468d.png) [@system](https://community.letsencrypt.org/u/system)
#### Post date: [June 10, 2021, 11:05pm UTC](https://community.letsencrypt.org/t/standard-init-linux-go-exec-user-process-caused-exec-format-error/151417/12 "2021-06-10T23:05:06Z")

</div>

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