[GH-ISSUE #5353] Issues with Self-Hosted Install Script on Oracle VPS #11093

Open
opened 2026-08-05 01:28:27 -04:00 by saavagebueno · 3 comments
Owner

Originally created by @al-geeker on GitHub (Feb 16, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5353

Describe the problem

I have been trying to setup NetBird Self-Hosted server instance on Oracle Cloud VPS that is using ARM CPU and an aarch64 based version of Ubuntu. The Docker Compose I have installed is v5.0.2.

Used the provided script from the NetBird Documentation:

curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bash

Going through the script and adding the domains and everything, near the end I keep on getting the following error:

Rendering initial files...

Starting NetBird services

Starting core services...
main: line 458: /usr/local/bin/docker-compose: cannot execute binary file: Exec format error

Because the script never completes, the proxy.env file has just the following:

Placeholder - will be updated with token after netbird-server starts

NB_PROXY_TOKEN=placeholder

I tried to generate the Proxy Token using the command provided on NetBird documentation but that also fails:

docker exec -it netbird-server netbird-mgmt token create --name "my-proxy"

OCI runtime exec failed: exec failed: unable to start container process: exec: "netbird-mgmt": executable file not found in $PATH

It seems there is a bug with the setup script when trying to run it on Oracle VPS.

To Reproduce

Steps to reproduce the behavior:

  1. Make a Oracle VPS
  2. Ensure Docker Compose and Docker Engine are installed
  3. Run the NetBird Self-Hosted setup script
  4. See error messages

Expected behavior

Was expecting the script to completely go through and setup all the files.

Are you using NetBird Cloud?

Self-hosted NetBird's control plane.

NetBird version

0.65.1

Is any other VPN software installed?

No

Debug output

To help us resolve the problem, please attach the following anonymized status output

netbird status -dA

I get the following when running docker exec -it netbird-server netbird status -dA:

OCI runtime exec failed: exec failed: unable to start container process: exec: "netbird": executable file not found in $PATH

Create and upload a debug bundle, and share the returned file key:

netbird debug for 1m -AS -U

Uploaded files are automatically deleted after 30 days.

Alternatively, create the file only and attach it here manually:

netbird debug for 1m -AS

Screenshots

None

Additional context

Add any other context about the problem here.

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • [ ] Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @al-geeker on GitHub (Feb 16, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5353 **Describe the problem** I have been trying to setup NetBird Self-Hosted server instance on Oracle Cloud VPS that is using ARM CPU and an aarch64 based version of Ubuntu. The Docker Compose I have installed is v5.0.2. Used the provided script from the NetBird Documentation: `curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bash` Going through the script and adding the domains and everything, near the end I keep on getting the following error: > Rendering initial files... > > Starting NetBird services > > Starting core services... > main: line 458: /usr/local/bin/docker-compose: cannot execute binary file: Exec format error Because the script never completes, the proxy.env file has just the following: > # Placeholder - will be updated with token after netbird-server starts > NB_PROXY_TOKEN=placeholder I tried to generate the Proxy Token using the command provided on NetBird documentation but that also fails: `docker exec -it netbird-server netbird-mgmt token create --name "my-proxy"` > OCI runtime exec failed: exec failed: unable to start container process: exec: "netbird-mgmt": executable file not found in $PATH It seems there is a bug with the setup script when trying to run it on Oracle VPS. **To Reproduce** Steps to reproduce the behavior: 1. Make a Oracle VPS 2. Ensure Docker Compose and Docker Engine are installed 3. Run the NetBird Self-Hosted setup script 4. See error messages **Expected behavior** Was expecting the script to completely go through and setup all the files. **Are you using NetBird Cloud?** Self-hosted NetBird's control plane. **NetBird version** 0.65.1 **Is any other VPN software installed?** No **Debug output** To help us resolve the problem, please attach the following anonymized status output netbird status -dA I get the following when running docker exec -it netbird-server netbird status -dA: OCI runtime exec failed: exec failed: unable to start container process: exec: "netbird": executable file not found in $PATH Create and upload a debug bundle, and share the returned file key: netbird debug for 1m -AS -U *Uploaded files are automatically deleted after 30 days.* Alternatively, create the file only and attach it here manually: netbird debug for 1m -AS **Screenshots** None **Additional context** Add any other context about the problem here. **Have you tried these troubleshooting steps?** - [X] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [X] Checked for newer NetBird versions - [X] Searched for similar issues on GitHub (including closed ones) - [ ] Restarted the NetBird client - [X] Disabled other VPN software - [X] Checked firewall settings
saavagebueno added the triage-needed label 2026-08-05 01:28:27 -04:00
Author
Owner

@heymoe commented on GitHub (Feb 16, 2026):

I ran into the same problem generating the proxy token. The command listed in the docs gave me the same error. I eventually found the correct command to generate the token by reading though the getting-started script. Hope this helps.

docker exec -it netbird-server /go/bin/netbird-server token create --name "default-proxy" --config /etc/netbird/config.yaml

For reference, this is where the wrong command is provided in the docs:

https://docs.netbird.io/selfhosted/migration/enable-reverse-proxy#step-2-generate-a-proxy-access-token

<!-- gh-comment-id:3910604599 --> @heymoe commented on GitHub (Feb 16, 2026): I ran into the same problem generating the proxy token. The command listed in the docs gave me the same error. I eventually found the correct command to generate the token by reading though the getting-started script. Hope this helps. ` docker exec -it netbird-server /go/bin/netbird-server token create --name "default-proxy" --config /etc/netbird/config.yaml ` For reference, this is where the wrong command is provided in the docs: https://docs.netbird.io/selfhosted/migration/enable-reverse-proxy#step-2-generate-a-proxy-access-token
Author
Owner

@al-geeker commented on GitHub (Feb 16, 2026):

I ran into the same problem generating the proxy token. The command listed in the docs gave me the same error. I eventually found the correct command to generate the token by reading though the getting-started script. Hope this helps.

docker exec -it netbird-server /go/bin/netbird-server token create --name "default-proxy" --config /etc/netbird/config.yaml

For reference, this is where the wrong command is provided in the docs:

https://docs.netbird.io/selfhosted/migration/enable-reverse-proxy#step-2-generate-a-proxy-access-token

Did you also had any issues with the installation script for setting up NetBird for the first time in Docker Compose?

<!-- gh-comment-id:3910643752 --> @al-geeker commented on GitHub (Feb 16, 2026): > I ran into the same problem generating the proxy token. The command listed in the docs gave me the same error. I eventually found the correct command to generate the token by reading though the getting-started script. Hope this helps. > > `docker exec -it netbird-server /go/bin/netbird-server token create --name "default-proxy" --config /etc/netbird/config.yaml` > > For reference, this is where the wrong command is provided in the docs: > > https://docs.netbird.io/selfhosted/migration/enable-reverse-proxy#step-2-generate-a-proxy-access-token Did you also had any issues with the installation script for setting up NetBird for the first time in Docker Compose?
Author
Owner

@heymoe commented on GitHub (Feb 16, 2026):

I didn't have any issues with the initial setup BUT I didn't do my install on an Oracle VPS host so not an apples to apples comparison.

Based on the error you listed, it sounds like the docker-compose binary you have on your box isn't compiled for the ARM cpu arch. Also seems a little odd that your docker-compose is located in /usr/local/bin to me. Normally, when I setup a new host I follow the official Docker directions for installing docker to the host vs using the Linux distro provided packages. Maybe worth a try. Their steps include the command to remove the distro installed docker version first too.

https://docs.docker.com/engine/install/ubuntu/

oh I guess another thing you can try and run docker-compose manually and see if you get the same error. If not, run "which docker-compose" to see where the binary is.. If it's not /usr/local/bin then is seems you have multiple versions installed and the getting-started script is using the wrong one.

If you only have one docker-compose, try running "docker compose --help" and see if that works. If that one does, I'd would rename the /usr/local/bin/docker-compose to something different and try re-running the getting-started script. It should then use "docker compose" instead of "docker-compose" for the install.

<!-- gh-comment-id:3910715773 --> @heymoe commented on GitHub (Feb 16, 2026): I didn't have any issues with the initial setup BUT I didn't do my install on an Oracle VPS host so not an apples to apples comparison. Based on the error you listed, it sounds like the docker-compose binary you have on your box isn't compiled for the ARM cpu arch. Also seems a little odd that your docker-compose is located in /usr/local/bin to me. Normally, when I setup a new host I follow the official Docker directions for installing docker to the host vs using the Linux distro provided packages. Maybe worth a try. Their steps include the command to remove the distro installed docker version first too. https://docs.docker.com/engine/install/ubuntu/ oh I guess another thing you can try and run docker-compose manually and see if you get the same error. If not, run "which docker-compose" to see where the binary is.. If it's not /usr/local/bin then is seems you have multiple versions installed and the getting-started script is using the wrong one. If you only have one docker-compose, try running "docker compose --help" and see if that works. If that one does, I'd would rename the /usr/local/bin/docker-compose to something different and try re-running the getting-started script. It should then use "docker compose" instead of "docker-compose" for the install.
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11093