Skip to content

Instantly share code, notes, and snippets.

@MarcoWorms
Last active March 7, 2026 19:54
Show Gist options
  • Select an option

  • Save MarcoWorms/3a86287d513a6f05ec00ba594e1e2df0 to your computer and use it in GitHub Desktop.

Select an option

Save MarcoWorms/3a86287d513a6f05ec00ba594e1e2df0 to your computer and use it in GitHub Desktop.
Hetzner Ubuntu Setup Multiagent
# Start here
apt update && apt full-upgrade -y
apt install -y ufw fail2ban unattended-upgrades
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw enable
systemctl enable --now fail2ban unattended-upgrades
# Edit this file
sudo nano /etc/ssh/sshd_config
# Add these in the file above
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
# Apply changes
sudo sshd -t
sudo systemctl reload ssh || sudo systemctl restart ssh
# Install Docker
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
# Install devcontainer
npm install -g @devcontainers/cli
git clone https://github.com/banteg/agents.git
sh /agents/devcontainer/install.sh self-install
# run `devc <repo>` or `devc .` inside project folder
# you're now in tmux with claude and codex ready to go, with permissions preconfigured
# to use with vscode, run devc install <repo> and choose "reopen in container" in the editor
# Install Takopi
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.14
source $HOME/.local/bin/env
uv tool install -U takopi
takopi # run takopi onboarding
# ~/.takopi/takopi.toml
default_engine = "codex"
transport = "telegram"
watch_config = true

[transports.telegram]
bot_token = "BOT_TOKEN_HERE"
chat_id = 1234
message_overflow = "split"
session_mode = "stateless"
show_resume_line = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment