Some commonly used machine setup commands

Basics

The essentials:

Miniconda

(Installs python3.10, x86 version of miniconda into home directory):

cd ~/ && mkdir -p miniconda3 && wget https://repo.anaconda.com/miniconda/Miniconda3-py310_25.1.1-2-Linux-x86_64.sh -O ./miniconda3/miniconda.sh --no-check-certificate && bash ./miniconda3/miniconda.sh -b -u -p ./miniconda3 && rm ./miniconda3/miniconda.sh && ./miniconda3/bin/conda init bash && source ~/.bashrc  && python -m pip install unibox ipykernel jupyter && python -m ipykernel install --user --name=conda310

NPM

(Installs npm on fresh ubuntu):

sudo apt-get install -y curl && curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh && sudo -E bash nodesource_setup.sh && sudo apt-get install -y nodejs && node -v

common modules:

npm install -g repomix @openai/codex

Tooling

Commonly used tools:

Cloudflared

wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O ~/cfed && chmod +x ~/cfed

(usage):

~/cfed tunnel --url http://localhost:8888

Common CLI tools

sudo snap install btop
 
apt-get update 
apt-get install -y nano screen unzip sudo ncdu git-lfs btop iproute2 net-tools tmux 
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
 
 
pip install pipx
# pipx run nvitop

AWS CLI

cd ~/ && curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && sudo apt install unzip && unzip awscliv2.zip && sudo ./aws/install && rm awscliv2.zip

Docker

(only works on AWS; does not work on Lepton as it’s already virtualized):

# docker engine 
# https://docs.docker.com/engine/install/ubuntu/
 
# Add Docker's official GPG key:
sudo apt-get update && sudo apt-get 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
 
# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 
# download and install
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
# verify
sudo docker run hello-world
 
# add to docker 
sudo usermod -aG docker $USER

GH

(github cli):

(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
	&& sudo mkdir -p -m 755 /etc/apt/keyrings \
        && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
        && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
	&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
	&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
	&& sudo apt update \
	&& sudo apt install gh -y

(on macOS):

brew install gh

Claude Code

(install npm first) https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview

npm install -g @anthropic-ai/claude-code

usage:

cd your-project-directory
claude

Mongo sh

https://www.mongodb.com/docs/mongodb-shell/install/

linux:

wget -qO- https://www.mongodb.org/static/pgp/server-8.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-8.0.asc && echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list && sudo apt-get update
 
sudo apt-get install -y mongodb-mongosh
 
mongosh --version

RabbitMQ

see: https://github.com/trojblue/comfyui-router/blob/main/setup/rabbitmq.sh

reset rabbit mq:

# stop
sudo systemctl status rabbitmq-server
 
# add new user (ADMIN)
sudo rabbitmqctl add_user mqadmin rmq_fDCZLu2VBYRTvnwh4Us8bW
sudo rabbitmqctl set_user_tags mqadmin administrator
sudo rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"
 
# add new user (USER)
sudo rabbitmqctl add_user mquser rmq_user_ZCg9GRzvqPu7dp2MKyLfsN
sudo rabbitmqctl set_permissions -p / mquser ".*" ".*" ".*"
 
# list user
sudo rabbitmqctl list_users
 
# Listing users ...
# guest   [administrator]
# stepqadmin   [administrator]
 
# reset user password:
sudo rabbitmqctl change_password stepqadmin newsecurepassword
 
# delete user:
sudo rabbitmqctl delete_user old_username

dashboard: