Home Docs Get in Touch

Configuration Guides

Step-by-step setup references for infrastructure configuration.

SSH Config

Generate an SSH key:

bash
ssh-keygen -t ed25519 -C "email@example.com" -f ~/.ssh/gitlab

Add the key to the SSH agent:

bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/gitlab

Edit the SSH config file:

bash
nano ~/.ssh/config

Paste the following:

config
Host gitlab.com
  HostName gitlab.com
  User git
  IdentityFile ~/.ssh/gitlab
  IdentitiesOnly yes

Set correct permissions:

bash
chmod 600 ~/.ssh/config

Copy the public key and paste it into GitLab Settings:

bash
cat ~/.ssh/gitlab.pub

Test the connection:

bash
ssh -T git@gitlab.com

Static IP

Edit the netplan config:

bash
sudo nano /etc/netplan/*.yaml

Paste the following configuration:

yaml
network:
  ethernets:
    eth0:
      addresses:
      - "192.168.1.2/24"
      nameservers:
        addresses:
        - 8.8.8.8
        - 1.1.1.1
      routes:
      - to: "0.0.0.0/0"
        via: "192.168.1.1"

Apply the config:

bash
sudo netplan apply

Clear known hosts (optional, if SSH fingerprint changed):

bash
rm ~/.ssh/known_hosts

Docker Install

Install Docker:

bash
curl -fsSL https://get.docker.com | sudo sh

Verify installation:

bash
docker --version

Add current user to the docker group:

bash
sudo usermod -aG docker $USER

Enable Docker on startup:

bash
sudo systemctl enable docker

Clone to SSD

Install rpi-clone:

bash
curl https://raw.githubusercontent.com/geerlingguy/rpi-clone/master/install | sudo bash

Clone the SD card to the SSD:

bash
sudo rpi-clone sda

Set boot order to NVME/USB:

bash
sudo raspi-config

Advanced Options → Boot Order → NVME/USB

Remove rpi-clone after use:

bash
sudo rm -rf /usr/local/sbin/rpi-clone*