Skip to main content

Basics

SSH Access

Via pass-cli's SSH agent — no private key ever written to disk, matching the rest of this project's credential handling. Loads the key straight from the Infomaniak SSH Key vault item into an agent socket; SSH talks to the socket, not a file:

pass-cli ssh-agent daemon start --vault-name Tech
export SSH_AUTH_SOCK=~/.ssh/proton-pass-agent.sock
ssh debian@<ipv4>

The daemon start form persists in the background, so it survives across terminal sessions — pass-cli ssh-agent daemon status to confirm it's alive. export SSH_AUTH_SOCK=... still needs to happen in each new shell (or add it to your shell profile) so ssh knows where to find it.

Debian cloud images default to a debian user with sudo, not root.

Disk Setup

Terraform attaches the data volume as raw block storage — formatting and mounting it is an OS-level step outside its scope. Do this before installing Docker or Coolify: the daemon config points data-root at /mnt/data, which needs to already exist and be mounted first.

  1. Confirm the device — /dev/sdb here, since this image uses SCSI disk bus rather than virtio (so sda/sdb, not vda/vdb):

    lsblk
  2. Format it ext4 — it's a blank volume, nothing to preserve:

    sudo mkfs.ext4 /dev/sdb
  3. Create the mount point:

    sudo mkdir -p /mnt/data
  4. Mount it:

    sudo mount /dev/sdb /mnt/data
  5. Persist the mount across reboots — without this, the volume comes back unmounted after any restart and everything pointed at /mnt/data breaks silently:

    echo '/dev/sdb /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab