Install on a Linux server
Install orke on an Ubuntu server over SSH, then open its HTTPS IP-and-port address in a PC or phone browser.
Copy each command and follow the steps in order.
What you will do in this guide
Install orke on a Linux server, then open that server’s orke in a browser on your PC or phone. Terminals, AI, and files all run on the server; the browser displays the workspace.
Use the “Copy” buttons in this guide to copy commands, paste them into your SSH window, and press Enter. On Windows, paste with a right-click or Ctrl+V; on Mac, use Cmd+V. When your result matches the ✓ line at the end of a step, continue to the next step.
What you need
| Requirement | What to check |
|---|---|
| Linux server | Ubuntu 24.04 LTS on x86_64 (a typical Intel or AMD CPU). A cloud virtual server works too. Installation is not supported on ARM servers. Other distributions and versions have not been verified. |
| SSH connection details | The server address (IP or domain), username, and password or SSH key. Your server provider supplies these. |
| sudo privileges | Used only to install required programs. Install orke in your own home folder without sudo. |
| Google account | One account to sign in to orke from a browser. |
| Public IPv4 address and IP certificate | Required for direct HTTPS access. Have orke obtain a certificate automatically from Let’s Encrypt, or import a PFX you prepared yourself. You must allow the connection port through your router and firewall (and TCP 80 for automatic issuance). |
Most cloud virtual servers and physical servers have it. You cannot register the orke service inside a Docker container or WSL.
Install orke on the server
Connect to the server over SSH
Open a command window on your PC: PowerShell on Windows or Terminal on Mac. Replace USERNAME and SERVER_ADDRESS with your server’s values, then run the command.
ssh USERNAME@SERVER_ADDRESSIf you received an SSH key file, specify it with -i, as in ssh -i KEY_FILE_PATH USERNAME@SERVER_ADDRESS. You can also use a window opened with the SSH button in your cloud console.
On your first connection, you will see Are you sure you want to continue connecting (yes/no/[fingerprint])?. Type yes and press Enter. Password characters are not displayed as you type.
✓You see a prompt like USERNAME@SERVER_NAME:~$. Run all remaining commands in this guide in this window.
Check that your server supports installation
Print the CPU architecture, Ubuntu version, and current username in order.
uname -m
grep PRETTY_NAME /etc/os-release
whoami| Expected result | If you see something else |
|---|---|
x86_64 | A different value, such as aarch64, means you cannot install on this server. |
PRETTY_NAME="Ubuntu 24.04.3 LTS" | The minor number after 24.04 can differ. You cannot install on a different version, such as 22.04. |
| Your username | If it is root, complete “If you connected as root” below first. Do not install orke as root. |
If you connected as root
Create a regular user and reconnect as that user. This example creates a user named orke; you can use another name.
adduser orkeEnter the new password twice. Press Enter to skip questions such as name and phone number. Then give this user sudo privileges.
usermod -aG sudo orkeIf you connect with an SSH key, allow the new user to connect with the same key. Skip this if your server uses password sign-in.
mkdir -p /home/orke/.ssh && \
cp ~/.ssh/authorized_keys /home/orke/.ssh/ && \
chown -R orke:orke /home/orke/.sshDisconnect with exit, reconnect with ssh orke@SERVER_ADDRESS, and start again from step 2.
✓You see x86_64, Ubuntu 24.04, and a username other than root.
Install required programs
First refresh the list of available packages. The first use of sudo may ask for your password.
sudo apt-get updateNext, install the packages orke uses. This is one command spread across several lines, so copy and paste it all at once.
sudo apt-get install -y libicu74 ca-certificates procps curl git tar gzip coreutils \
xvfb libnss3 libgtk-3-0t64 libatk1.0-0t64 libatk-bridge2.0-0t64 \
libcups2t64 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \
libxrandr2 libgbm1 libasound2t64This includes packages for the web window feature, which opens web pages on the server. The orke installer checks the entire list, so install them even if you only plan to use terminals.
✓The prompt returns without errors. If a purple notice screen appears along the way, see When you get stuck.
Install orke
Run as the user who will use orke, without sudo. The installer downloads and verifies the latest Linux version, then installs it in your home folder. The program goes in ~/.local/share/orke; settings and history go in ~/.orke.
curl -fsSL https://orke.bomtobe.com/install.sh | bashAfter installation, you will see lines like these. The version number is the latest available at the time you install.
Installed orke 3.4.10: /home/USERNAME/.local/share/orke
Command: /home/USERNAME/.local/bin/orke → /home/USERNAME/.local/share/orke/orkeOn Ubuntu 24.04, two lines starting with Warning: and a virtual browser notice follow. They concern the web window feature and do not affect terminals, AI, or remote access, so you can continue for now. The Next steps that follow cover the same material as the next steps in this guide.
If you see Error: Required packages are missing, copy and run the sudo apt-get … command below it, then run the installation command again.
✓You see a line starting with Installed orke.
Make the orke command available now
The orke command is in ~/.local/bin. This folder is used automatically from your next sign-in. To use it in this window immediately, run this once.
export PATH="$HOME/.local/bin:$PATH"Check that the orke command can be found.
command -v orke✓The output is /home/USERNAME/.local/bin/orke.
Google sign-in and direct HTTPS access
Browsers on other devices connect directly to the server’s public IPv4 address (port 48650 by default). In step 8, have orke obtain a certificate automatically from Let’s Encrypt, or import a PFX you prepared yourself. Configure router, cloud, and OS firewalls yourself. Direct access may not work on CGNAT or corporate networks.
Start the service as the same user
orke service install
orke service statusKeep using the same installation user and ORKE_HOME. A running service does not mean an external connection has succeeded.
Connect your Google account
orke loginOpen the displayed https://api.orke.bomtobe.com/activate approval URL in a browser on your PC or phone, confirm the code, and sign in with Google. The account is remembered for future launches.
Prepare a certificate and enable access
First allow TCP 48650 through cloud, router, and server firewalls. Prepare a certificate using either option A or B below.
A. Have orke obtain one automatically from Let’s Encrypt
orke obtains a certificate for your public IPv4 address (valid for 160 hours) and renews it automatically before expiration. Let’s Encrypt verifies the address through external TCP 80, so port 80 must reach the server for each renewal. orke runs as a regular user and cannot open port 80 directly. An administrator must forward external port 80 to a local port orke can use, such as 48880. The test server allowed TCP 80 through its cloud firewall and used a NAT rule like the one below. A rule added this way disappears when the server restarts, so persist it with a package such as iptables-persistent.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 48880Then enable automatic management and access as the orke user. --agree-ca-terms means you agree to the Let’s Encrypt Subscriber Agreement. The command shows the current agreement URL; read it before proceeding.
orke remote setup --automatic-certificate --agree-ca-terms --http-port 48880 --port 48650 --enableIssuance attempts are at least 10 minutes apart. For immediate renewal, use orke remote setup --renew-certificate. To disable automatic management, use --manual-certificate. These commands require the service to be running and sign-in in step 7 to be complete.
B. Import a certificate you obtained yourself (PFX)
First follow the IP certificate, PFX conversion, and manual renewal instructions. Replace the path and IP with your actual values. Enter the password through hidden input when the command asks.
orke remote setup --certificate /absolute/path/orke.pfx --ip PUBLIC_IPV4
orke remote setup --port 48650 --enableFor automation, pass the password through standard input with --password-stdin. orke does not renew imported certificates, so import a renewed PFX before expiration.
If orke remote setup returns account_required, complete sign-in in step 7 first, then run the same command again. HTTPS remote access: port 48650, enabled True in orke service status shows only the saved settings. Check an actual connection in step 9.
Open it from another network
Open the current https://PUBLIC_IPV4:48650 address on another device and approve access with the same Google account as the server. The approval page and Google open in the system browser. The original page waits for approval. Only an authenticated external connection confirms that access actually works.
What to do next
Connect an AI
Install AI CLIs such as Claude Code or Codex on the server as the same Linux user as orke. You can install them in an orke terminal. See AI setup and accounts for installation guidance.
Because the server has no browser, sign in with a link and code. Open the link shown by the command on your PC and sign in, then paste the received code into the terminal, or enter the terminal’s code on the linked page.
claude auth logincodex login --device-authEnable Codex device code sign-in in the Security section of ChatGPT settings first.
Open it on your phone
Open the same address in your phone’s browser or app and sign in with the same Google account. See Remote and mobile for app connection instructions.
Common commands
Run all of these in an SSH window. Restarting and updating end terminals and AI tasks running on the server, so do them when no important work is running. If you run them inside an orke terminal, that terminal ends too.
| Task | Command |
|---|---|
| View service and external access settings | orke service status |
| Restart after changing settings | orke service restart |
| Update to the latest version | orke update |
| Remove the program (keep settings and history) | orke uninstall |
| Also delete settings and history | orke uninstall --purge |
See Linux server operations for the full server command list.
When you get stuck
For external access, follow the checks for the current IP, certificate, port, firewall, and same account.
The orke command cannot be found (command not found)
Run export PATH=… from step 5 again, or use the full path, such as ~/.local/bin/orke. From your next sign-in, you can enter just orke.
I see Do not install as root
You are connected as root. Follow If you connected as root in step 2 to reconnect as a regular user, then install.
I see Required packages are missing
Copy and run the sudo apt-get update && sudo apt-get install -y … command below the error, then run the installation command again.
A purple notice screen appears while installing packages
Ubuntu is showing which services need to restart after an update. Press Enter to continue.
orke stops when I sign out of SSH
Linger is disabled. Run sudo loginctl enable-linger "$(id -un)" from step 6. Confirm with Run after logout (linger): enabled in orke service status.
Service commands fail in a shell switched with sudo -u or su
orke service commands work only in an SSH session opened directly as that user. Disconnect and reconnect as that user.
I see This system did not boot with systemd
You are in an environment without systemd, such as a Docker container or WSL. You cannot register the orke service there. Install on a regular virtual server.
I cannot enter after Google sign-in
Check that you are using the same Google account as orke on the server. Keep the original browser waiting for approval and sign in with that account on the official approval page. To change the server owner account, run orke logout, then orke login. Existing remote permissions are revoked while work continues.
I see “Could not connect.” and a “Reconnect” button
The browser has been disconnected from the server for a long time. Press “Reconnect.” If it continues, check server status with orke service status in your SSH window.
I see Warning: lines or Virtual browser: unavailable
These concern the web window feature, which opens web pages on the server. They appear when Ubuntu 24.04’s default security settings block the web browser’s protection (the Chromium sandbox). Terminals, AI, and remote access remain available.
If you need web windows, have your server administrator review the setup, change the sandbox helper permissions with the two commands below, and restart orke. This made web windows ready on the test server. After updating orke, repeat this for the new version.
sudo chown root:root ~/.local/share/orke/desktop/chrome-sandboxsudo chmod 4755 ~/.local/share/orke/desktop/chrome-sandboxorke service restartTo disable web windows, run orke setup server-browser --mode disabled, then orke service restart.
I see a To reserve these ports notice
This setting is optional. It prevents the rare case where another program takes orke’s ports first and keeps orke from starting. If sysctl net.ipv4.ip_local_reserved_ports is empty, run the command below as shown. If other ports are already reserved, this command would replace that list. Work with the server administrator to combine the lists with commas instead.
echo 'net.ipv4.ip_local_reserved_ports=47620-48643,48700' \
| sudo tee /etc/sysctl.d/90-orke.conf && sudo sysctl --system