Turn an Old Chromebook into a Coolify Server with Lubuntu
I had an old Acer Chromebook CB3-431 sitting around - 4GB RAM, 32GB eMMC storage. Not much, but enough to run a lightweight server. Here’s how I turned it into a Coolify-managed server.
The Hardware
- Acer Chromebook CB3-431 (Intel Braswell, board name: EDGAR)
- 4GB RAM
- 32GB internal storage
- No ethernet port (WiFi only)
Why Lubuntu?
I initially tried Ubuntu Server and a few other distros, but ran into a frustrating problem: no WiFi support during installation. The CB3-431 has no ethernet port, and my USB ethernet adapter wasn’t detected. Most server distros assume you have wired networking.
I also tried antiX, but configuring WiFi manually was painful. Lubuntu worked because it has a full desktop with NetworkManager - just click the WiFi icon and connect. Once installed, you can run it headless as a server.
Step 1: Remove the Write Protect Screw
Unlike most laptops, Chromebooks have firmware write protection that prevents you from installing alternative operating systems. To flash custom firmware, you need to disable this protection first.
For the CB3-431 (EDGAR), this means removing a physical screw inside the laptop:

- Power off the Chromebook and disconnect the charger
- Remove the bottom cover screws
- Locate and remove the write protect screw (see image above)
- Reassemble the device
The screw doesn’t need to go back in - you can toss it.
For other Chromebook models, check the MrChromebox Supported Devices page to find your device’s write protect method.
Step 2: Enable Developer Mode
- Turn off the Chromebook
- Hold
Esc + Refresh + Powerto enter Recovery Mode - Press
Ctrl + Dwhen prompted - Follow the prompts to enable Developer Mode
This wipes the device, so back up anything important first.
Step 3: Flash UEFI Firmware
Since this device is older (marked as EOL), dual-booting ChromeOS and Linux isn’t an option - you have to fully replace the OS. That’s fine for a server anyway.
Boot into ChromeOS, then open a terminal with Ctrl + Alt + F2 and login as chronos. Run the MrChromebox firmware utility:
cd; curl -LOf https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.shSelect option 2: “Install/Update UEFI (Full ROM) Firmware”
Important: When prompted, create a backup of your stock firmware and save it somewhere safe. You’ll need this if you ever want to restore ChromeOS.
After flashing, power off the device completely.
For full details, see the MrChromebox Getting Started guide.
Step 4: Create a Bootable USB
On another Linux machine, download Lubuntu and create a bootable USB:
sudo dd if=~/Downloads/lubuntu-25.10-desktop-amd64.iso of=/dev/sdX bs=4M status=progress oflag=syncReplace /dev/sdX with your USB device. Use lsblk to find the right one - look for the device matching your USB drive’s size.
Step 5: Install Lubuntu
- Insert the USB into the Chromebook
- Power on - it should boot directly from USB with the new UEFI firmware
- Connect to WiFi using the desktop network manager
- Run the installer
If you see “Erase disk and install Lubuntu” - use that, it’s the easiest. If forced to manual partition and you see old ChromeOS partitions, wipe the disk first:
sudo parted /dev/mmcblk0 mklabel gptThen close and reopen the installer - the “Erase disk” option should appear.
For the swap option, I chose “no swap” to save space on the 32GB drive.
Step 6: Set Up SSH Access
Once Lubuntu is installed, set up SSH so you can manage it remotely:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start sshSet a memorable hostname:
sudo hostnamectl set-hostname cb3-431From your main machine, copy your SSH key:
ssh-copy-id [email protected]Now you can SSH in with ssh [email protected].
Step 7: Install Tailscale
Since my Coolify server is on a different network, I needed Tailscale to connect them:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale upFollow the authentication URL to link it to your Tailscale account. Note the Tailscale IP (something like 100.x.x.x).
Step 8: Connect to Coolify
In Coolify, add a new server:
- Go to Servers → Add Server
- Enter the Tailscale IP as the hostname
- Set the SSH user (e.g.,
jace) - For the SSH key, click Add a new SSH Key
When you create a new key in Coolify, it will display the public key. Copy that, then add it to your laptop:
ssh [email protected] "echo 'PASTE_PUBLIC_KEY_HERE' >> ~/.ssh/authorized_keys"Select the new key for your server and continue.
Step 9: Enable Passwordless Sudo
Coolify needs to run commands with sudo. On the Chromebook:
sudo bash -c 'echo "jace ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/jace'Now click “Validate” in Coolify - it should connect successfully.
Step 10: Disable Sleep on Lid Close
By default, Lubuntu suspends when you close the laptop lid. For a server, you want it to keep running:
# Disable suspend on lid close
sudo sed -i 's/#HandleLidSwitch=suspend/HandleLidSwitch=ignore/' /etc/systemd/logind.conf
sudo sed -i 's/#HandleLidSwitchExternalPower=suspend/HandleLidSwitchExternalPower=ignore/' /etc/systemd/logind.conf
# Restart to apply
sudo systemctl restart systemd-logindYou can also disable sleep entirely:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetNow you can close the lid and tuck it away on a shelf.
Troubleshooting
“Server is not reachable”
- Check Tailscale is running on both machines:
tailscale status - Verify you can ping from Coolify’s server:
ping 100.x.x.x - Make sure SSH is running:
systemctl status ssh
“Authentication failed” / sudo errors
- The SSH key might not match - verify the public key is in
~/.ssh/authorized_keys - Enable passwordless sudo (Step 9)
WiFi not working during install
This is why I chose Lubuntu over Ubuntu Server. If you’re stuck without network:
- Try USB tethering from your phone - plug it in and enable “USB Tethering” in your phone’s settings
- Most desktop distros will detect phone tethering automatically
What Can You Run?
With 4GB RAM and 32GB storage, this little server can handle:
- Small Docker containers
- Static site hosting
- Git runners
- Home automation (Home Assistant)
- Lightweight databases
It’s not going to run Kubernetes, but for simple services it works great.
Resources
- MrChromebox Firmware Utility - Essential for flashing custom firmware
- MrChromebox Getting Started - Full documentation
- Supported Devices - Find your Chromebook’s board name and WP method
- Chrultrabook Docs - OS compatibility and drivers
Final Thoughts
Old Chromebooks make surprisingly decent servers. The CB3-431 is fanless, low power, and now sits quietly on a shelf running containers. With Tailscale connecting it to Coolify, I can deploy and manage apps from anywhere.
The trickiest part was getting past the firmware restrictions and finding a distro with working WiFi. Once you flash UEFI firmware and pick a desktop distro like Lubuntu, the rest is straightforward Linux server setup.
If you’ve got an old Chromebook gathering dust, give it a second life as a homelab server.