A slightly opinionated and straightforward script to setup base Ubuntu 22+ servers environment with:
- Docker CE
- Docker Compose v2
- Docker Compose Switch
- ZSH with Prezto
- Symlinks
python3topythonifpythoncommand is not found - Tools:
build-essential: Essential build tools (gcc, make, etc.)byobu: Enhancement to multiplexers likescreenortmuxcurlfd-find: A simple, fast and user-friendly alternative to 'find'fzf: A command-line fuzzy findergithtop: Bettertoplazygit: A simple terminal UI for git commandsneovim: Hyperextensible Vim-based text editor (set as defaultvi/vim)ripgrep: Recursively searches directories for a regex pattern while respecting your gitignoresilversearcher-ag: A code-searching tool similar to ack, but faster- SpeedTest CLI
tig: CLI Git clientunzipvimwgetzip
This script is intended to be run as
root.When deploying a VPS in many providers (like Digital Ocean, Vultr, OVH, Contabo, etc), you will get the instance with only the
rootby default. Make sure to create a user for your daily use.
It's tested with the following Ubuntu LTS versions:
22.0424.04
Although, most likely would work without problems in other Ubuntu non LTS versions.
Just need to run:
wget -q -O - https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh | bashOr with curl if already installed:
curl -s https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh | bashTo see all available options:
bash bootstrap.sh --help| Flag | Description |
|---|---|
--nvim-deb |
Install NeoVim from GitHub releases .deb package (default: PPA unstable) |
--help |
Show usage information and exit |
To use flags, download the script first:
wget -q -O bootstrap.sh https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh
bash bootstrap.sh --nvim-debThis will take a few minutes, after its done, you might want to restart the box in case there is a newer kernel installed that just got installed.
At the minimum, you should log out and log in again so zsh gets activated on your session.
You can test or use this script with Docker. First clone this repo and follow the next steps.
Build the Docker image with:
docker build -t bootstrapped-ubuntu .And finally, run it in interactive mode:
docker run -it bootstrapped-ubuntuMIT, see LICENSE for details.