https://github.com/antoinebou12/another-install-script
Script to install multiple docker container and system configuration with a extensible, easy, simple menu
https://github.com/antoinebou12/another-install-script
ansible bash docker docker-compose docker-container install-script linux list selfhosted servers ubuntu vps-setup
Last synced: 5 months ago
JSON representation
Script to install multiple docker container and system configuration with a extensible, easy, simple menu
- Host: GitHub
- URL: https://github.com/antoinebou12/another-install-script
- Owner: antoinebou12
- License: gpl-3.0
- Created: 2020-01-10T18:23:25.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-08-07T00:05:24.000Z (5 months ago)
- Last Synced: 2025-08-07T02:19:21.988Z (5 months ago)
- Topics: ansible, bash, docker, docker-compose, docker-container, install-script, linux, list, selfhosted, servers, ubuntu, vps-setup
- Language: Shell
- Homepage:
- Size: 1.29 MB
- Stars: 3
- Watchers: 1
- Forks: 3
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Another Install Script
#### Spiritual successor
[DasherControl](https://github.com/antoinebou13/DasherControl)

[](https://travis-ci.com/antoinebou13/another-install-script)

[](https://codecov.io/gh/antoinebou13/another-install-script)


[](https://app.fossa.io/projects/git%2Bgithub.com%2Fantoinebou13%2Fanother-install-script?ref=badge_shield)
Another Install Script is a W.I.P project/script aimed at simplifying the installation of multiple docker containers through an easy-to-use menu, primarily designed for personal servers.

## The story behind the project
The desire to facilitate the installation of a variety of services/servers through Docker. The goal is to provide a simple, extensible, and customizable script to add numerous self-hosted services/servers that are easy to install with a simple CLI menu.
I started working on the project because I just bought a VPS to host my TeamSpeak and Minecraft server.
After navigating [r/selfhosting](https://www.reddit.com/r/selfhosted), I saw the multiple of several services/servers that can be simply installed with docker. Also, I found multiple repos that tries to do the same thing with their favorite container [IOStack](https://github.com/gcgarner/IOTstack) and [sovereign](https://github.com/sovereign/sovereign) and [MediaServerDockerCompose](https://github.com/vaeyo/MediaServer-DockerComposeFiles). I am trying to do with this project is to make a simple, extensible and customizable script to add a lot of selfhosted services/servers to easy to install with a simple cli menu. The project is a super easy install script for beginner/intermediate linux power user that want to test quickly interesting docker containers of server/service. The project is a highly configurable install script with a container orchestrator and general manager for multiple docker.
## How to install
Currently, the script has been tested only on Ubuntu 18.04. You can install it by:
```bash
git clone https://github.com/antoinebou13/another-install-script.git
cd another-install-script
sudo bash setup.sh
```
### Uninstall
```bash
cd another-install-script
sudo bash uninstall.sh
```
## List of the services/server
Around 80 containers/servers can be installed with this script.
Go check the list below ⬇.
Check the Google Sheet for the complete list.
Go to the Google Sheet
### Notes
Some services/servers cannot be installed at the same time. Also more configuration needed for certain services/servers
## List of other installed program that you can chose to install
This script also offers optional installation of several other programs including git, python3, docker, docker-compose, snapd, curl, vim, and more.
- build-essential
- git
- python3
- python3-pip
- wireless-tools
- wpasupplicant
- default-jre
- jq
- net-tools
- firefox
- lxde
- [vim](https://www.vim.org/)
- [snapd](https://snapcraft.io/)
- [nmap](https://nmap.org/)
- [wget](https://www.gnu.org/software/wget/)
- [curl](https://github.com/curl/curl)
- [mlocate](https://wiki.archlinux.org/index.php/Mlocate)
- [cmake](https://cmake.org/)
- [docker](https://www.docker.com/)
- [docker-compose](https://docs.docker.com/compose/)
- [dry](https://github.com/moncho/dry)
- [ctop](https://github.com/bcicen/ctop)
- [emojify](https://github.com/mrowa44/emojify)
- [dokku](https://github.com/dokku/dokku)
- [lynk](https://lynk.sh/docs)
## Project Structure
A simple project overview to with the explaination of each important file
```bash
+-- docs
| +-- vendor
| +-- ...
| +-- docs.md
| +-- generate_docs.md
| +-- ...
+-- containers
| +-- $container_name
| | | +-- docker-compose.yml
| | | +-- $container_name.sh
| | | +-- ...
+-- src
| +-- backup.sh
| +-- config.sh
| +-- containers.sh
| +-- docker.sh
| +-- firewall.sh
| +-- install.sh
| +-- menu.sh
| +-- other.sh
| +-- router.sh
| +-- utils.sh
+-- config.yml
+-- setup.sh
+-- uninstall.sh
```
| Path | Explanation |
| ------------------------------- | :--------------------------------------------------------------: |
| docs | The directory for the documentation for the code and the project |
| docs/vendor | The vendor program to generate the documentation |
| src | The path for the code for the project |
| containers/$container_name | The path for docker container with a script and docker-compose |
## How to run coverage and tests
[Manuel Testing](docs/TESTING.md)
For running the [bats](https://github.com/bats-core/bats-core) tests
```bash
cd tests
bash test.sh
```
For running and generate with [kcov](https://github.com/SimonKagstrom/kcov)
```bash
cd tests
bash coverage.sh
```
## How to generate the documentation
For running and generate the documentation with [shdoc](https://github.com/reconquest/shdoc)
```bash
git submodule update --init --recursive
git pull --recurse-submodules
git submodule update --remote
cd docs/generator
chmod +x generate_docs.sh
bash generate_docs.sh ../docs.md
```
## Documentation
Go to [Documentation](docs/docs.md)
## Code of Conduct
Go to [Code of Conduct](.github/CODE_OF_CONDUCT.md)
## Contributing
All pull request and suggestion is highly appreciated and encourage

Go to [Contributing](.github/CONTRIBUTING.md)
## Changelog
Go to [Changelog](docs/CHANGELOG.md)
## License
Go to [License](.github/LICENSE)
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fantoinebou13%2Fanother-install-script?ref=badge_large)
## Roadmap
- [ ] Auto vm creation for ci and personnal use
- [ ] Add traefik reverse proxy with subdomain for each docker container
- [ ] Easier config file or adding yml file to individual folder
- [ ] More docker containers
- [ ] Automatic docker compose and containers update
- [ ] Automatic backups
- [ ] Automatic testing and better coverage
- [ ] Automatic Versioning
- [ ] Better cli menu
- [ ] Rewrite in python