Skip to content

Linux

Set up Linux

Servers, NAS devices, and other compatible Linux systems.

Terminal-based setup. 200 GB minimum usable storage. Larger amounts are allowed when the disk has room for them and for the operating system.

Before you start

  • glibc Linux on x86-64 or ARM64, with a terminal. The download includes its own runtime.
  • A directory you can write. Atidle keeps about 1 GB free on that disk beyond what you offer.
  • An Atidle account. Create one or sign in. You will return here, then approve the Host from the link the terminal prints.

A NAS is compatible only when you can run these commands on its Linux system. Alpine and other musl systems are not supported. Docker is not a public Host install. Atidle does not provide a separate NAS app.

1. Download and verify

Run uname -m. x86_64 uses Linux x64. aarch64 uses Linux ARM64. Any other architecture is not this install. Each command downloads the archive and its SHA-256 file, then checks the archive. If the check does not print OK, stop. Do not extract it.

Linux x64

curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-x64.tar.gz && curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-x64.tar.gz.sha256 && sha256sum -c Atidle-Host-0.1.1-linux-x64.tar.gz.sha256

Linux ARM64

curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-arm64.tar.gz && curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-arm64.tar.gz.sha256 && sha256sum -c Atidle-Host-0.1.1-linux-arm64.tar.gz.sha256

2. Choose storage

Extract only after the checksum prints OK. Use the archive you verified.

Linux x64

mkdir -p "$HOME/.local/share" && tar -xzf Atidle-Host-0.1.1-linux-x64.tar.gz -C "$HOME/.local/share" && test -x $HOME/.local/share/atidle-host/atidle-host

Linux ARM64

mkdir -p "$HOME/.local/share" && tar -xzf Atidle-Host-0.1.1-linux-arm64.tar.gz -C "$HOME/.local/share" && test -x $HOME/.local/share/atidle-host/atidle-host

Create a directory on a disk that stays mounted. It must already exist, it must be writable, and it must be outside the program folder. Do not use /tmp, a RAM disk, or a drive that can be unplugged. 200GB is the smallest offer, not a limit. Offer more only when the disk still has about 1 GB free after that offer. Replace the path and the amount below.

Storage and offer

$HOME/.local/share/atidle-host/atidle-host setup --storage /path/to/storage --capacity 200GB

Setup refuses a missing directory, a link, a temporary filesystem, and an offer the free space cannot hold. It does not create the directory for you. If a disk is removed and only the mount-point directory remains, the Host stops instead of writing on the disk underneath.

3. Connect your Host

  1. Run the setup command above.
  2. The terminal prints a device code and an Atidle link. Open that link in the account you signed into.
  3. Approve the displayed device code.
  4. Return to the terminal. It waits up to 10 minutes.
  5. Confirm it says this Host is connected.

The enrollment credential stays on this machine. Do not paste it into the shell. Running setup again reuses this Host. It does not create a second node. A connected Host is not admitted, and it is not payable, until Sell storage finishes the same checks as Mac and Windows.

4. Keep Hosting running

The service runs as your user, not as root. While you are logged in, including over SSH, this starts it without sudo.

User service

$HOME/.local/share/atidle-host/atidle-host install-service && systemctl --user daemon-reload && systemctl --user enable --now atidle-host.service

Lingering is what keeps that user service running after you log out, and after a reboot before anyone logs in. A machine that should host while nobody is logged in needs it once:

Unattended server

sudo loginctl enable-linger "$USER"

If the storage disk is not mounted, the Host exits instead of creating a new folder on another disk. Mount the disk, then start the service again. A successful systemctl start is not the health check. Use the status and journal commands below.

Status, logs, and restart

$HOME/.local/share/atidle-host/atidle-host status
systemctl --user status atidle-host.service
journalctl --user -u atidle-host.service -n 50 --no-pager
systemctl --user restart atidle-host.service

Upgrade

Download and verify the new archive first. Extract it beside the current program. Stop the service only after that check succeeds. Identity stays in ~/.config/atidle-host. Stored data stays in the directory you chose. The previous program is kept as atidle-host.previous. Use the archive for this machine. The x64 commands are below. ARM64 uses Atidle-Host-0.1.1-linux-arm64.tar.gz.

Linux x64 — verify before replacing

curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-x64.tar.gz && curl -fsSLO https://atidle.com/downloads/atidle-host/0.1.1/linux/r2/Atidle-Host-0.1.1-linux-x64.tar.gz.sha256 && sha256sum -c Atidle-Host-0.1.1-linux-x64.tar.gz.sha256

Linux x64 — stage

rm -rf "$HOME/.local/share/atidle-host-staging" && mkdir -p "$HOME/.local/share/atidle-host-staging" && tar -xzf Atidle-Host-0.1.1-linux-x64.tar.gz -C "$HOME/.local/share/atidle-host-staging" && test -x "$HOME/.local/share/atidle-host-staging/atidle-host/atidle-host"

Swap, then start

systemctl --user stop atidle-host.service && rm -rf "$HOME/.local/share/atidle-host.previous" && mv "$HOME/.local/share/atidle-host" "$HOME/.local/share/atidle-host.previous" && mv "$HOME/.local/share/atidle-host-staging/atidle-host" "$HOME/.local/share/atidle-host" && systemctl --user start atidle-host.service

If the new program does not start, put the previous one back. Run $HOME/.local/share/atidle-host/atidle-host status and the journal command above to see the error.

Roll back

systemctl --user stop atidle-host.service && rm -rf "$HOME/.local/share/atidle-host" && mv "$HOME/.local/share/atidle-host.previous" "$HOME/.local/share/atidle-host" && systemctl --user start atidle-host.service

Stop or remove

Stopping Hosting, removing the program, deleting the Host identity, and deleting stored customer data are different actions. Removing the program does not delete customer data, and it does not authorize deleting it while Atidle still stores data there.

Stop Hosting

systemctl --user stop atidle-host.service

Stop the service after logout and reboot

systemctl --user disable --now atidle-host.service

Remove the program

$HOME/.local/share/atidle-host/atidle-host uninstall-service && rm -rf "$HOME/.local/share/atidle-host"

Host identity remains in ~/.config/atidle-host. Customer data remains in the storage directory you chose. Leave both in place unless you are following Atidle’s decommissioning process for this Host.

All Host platformsSell storagesupport@atidle.com