https://github.com/yorch/ubuntu-server-bootstrap
Ubuntu Servers Setup
https://github.com/yorch/ubuntu-server-bootstrap
docker docker-compose prezto ubuntu ubuntu1604 ubuntu1804 ubuntu2004 ubuntu2204 zsh
Last synced: 4 months ago
JSON representation
Ubuntu Servers Setup
- Host: GitHub
- URL: https://github.com/yorch/ubuntu-server-bootstrap
- Owner: yorch
- License: mit
- Created: 2019-06-10T01:52:09.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2026-02-01T20:12:49.000Z (5 months ago)
- Last Synced: 2026-02-01T23:45:54.387Z (5 months ago)
- Topics: docker, docker-compose, prezto, ubuntu, ubuntu1604, ubuntu1804, ubuntu2004, ubuntu2204, zsh
- Language: Shell
- Homepage:
- Size: 70.3 KB
- Stars: 5
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Ubuntu Server Bootstrap
A slightly opinionated and straightforward script to setup base Ubuntu 22+ servers environment with:
- Docker CE
- [Docker Compose v2](https://github.com/docker/compose)
- [Docker Compose Switch](https://github.com/docker/compose-switch)
- ZSH with [Prezto](https://github.com/sorin-ionescu/prezto)
- Symlinks `python3` to `python` if `python` command is not found
- Tools:
- `build-essential`: Essential build tools (gcc, make, etc.)
- [`byobu`](https://ubuntu.com/server/docs/tools-byobu): Enhancement to multiplexers like `screen` or `tmux`
- `curl`
- [`fd-find`](https://github.com/sharkdp/fd): A simple, fast and user-friendly alternative to 'find'
- [`fzf`](https://github.com/junegunn/fzf): A command-line fuzzy finder
- `git`
- `htop`: Better `top`
- [`lazygit`](https://github.com/jesseduffield/lazygit): A simple terminal UI for git commands
- [`neovim`](https://neovim.io/): Hyperextensible Vim-based text editor (set as default `vi`/`vim`)
- [`ripgrep`](https://github.com/BurntSushi/ripgrep): Recursively searches directories for a regex pattern while respecting your gitignore
- [`silversearcher-ag`](https://github.com/ggreer/the_silver_searcher): A code-searching tool similar to ack, but faster
- [SpeedTest CLI](https://github.com/sivel/speedtest-cli)
- [`tig`](https://jonas.github.io/tig/): CLI Git client
- `unzip`
- `vim`
- `wget`
- `zip`
> **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 `root` by default. Make sure to create a user for your daily use.
It's tested with the following Ubuntu LTS versions:
- `22.04`
- `24.04`
Although, most likely would work without problems in other Ubuntu non LTS versions.
## Installation
Just need to run:
```bash
wget -q -O - https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh | bash
```
Or with `curl` if already installed:
```bash
curl -s https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh | bash
```
### Options
To see all available options:
```bash
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:
```bash
wget -q -O bootstrap.sh https://raw.githubusercontent.com/yorch/ubuntu-server-bootstrap/main/bootstrap.sh
bash bootstrap.sh --nvim-deb
```
This 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.
## Docker
You can test or use this script with Docker. First clone this repo and follow the next steps.
Build the Docker image with:
```sh
docker build -t bootstrapped-ubuntu .
```
And finally, run it in interactive mode:
```sh
docker run -it bootstrapped-ubuntu
```
## License
MIT, see [LICENSE](/LICENSE) for details.