Automated setup scripts for a self-hosted homelab server — Nginx reverse proxy, Cloudflare DNS, UFW, Fail2ban, and per-service installers for Nextcloud, Jellyfin, Vaultwarden, and more.
Python
14
224 commits
updated Sep 22, 2026
All-in-one, self-hosted server setup with security hardening and reverse proxy configuration
Explore the docs
Report Bug
·
Request Feature
Server-AIO is an all-in-one setup toolkit that turns a fresh Ubuntu Server into a repeatable self-hosted platform — in the same spirit as nextcloud-aio, but for the whole server rather than a single app. One installer bootstraps the shared infrastructure (Cloudflare DNS updates, a Docker-based Nginx reverse proxy, UFW, Fail2ban, and a shared Docker network), then separate setup commands bring up individual services such as Nextcloud, Vaultwarden, and Jellyfin on top of it.
Unlike a black-box AIO container, every piece here stays a plain, inspectable script and config file — nothing is hidden behind a control panel. Review and adapt the scripts for your network before exposing services to the internet.
Before running the installation script, ensure you have:
Run this command in your Ubuntu terminal to start the installation:
curl -fsSL https://raw.githubusercontent.com/ENIACore/server-configs/main/install.py -o /tmp/server-install.py && sudo python3 /tmp/server-install.py
The installer copies the available commands to /usr/local/sbin, collects the
initial server configuration, and prepares Nginx templates for the configured
domain. Run the infrastructure and service setup commands you want afterward.
Server-AIO provides setup commands for the following services and infrastructure:
Services:
Security & Infrastructure:
Useful operational commands include nginx-enable, nginx-disable,
scan-ports, docker-network-inspect, docker-system-prune,
add-healthcheck-cron, mask-sleep, and unmask-sleep.



Tagged releases (vMAJOR.MINOR.PATCH) are cut from main and listed on the
Releases page. See CHANGELOG.md for a
per-version summary of what changed. Between releases, main tracks the
maintainer's live server configuration directly.
See the open issues for a full list of proposed features and known issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Distributed under the MIT License. See LICENSE.md for more information.
Project Link: https://github.com/ENIACore/server-configs
224 commits
Python
97.9%
Shell
2.1%
Automated setup scripts for a self-hosted homelab server — Nginx reverse proxy, Cloudflare DNS, UFW, Fail2ban, and per-service installers for Nextcloud, Jellyfin, Vaultwarden, and more.
Python
14
224 commits
updated Sep 22, 2026
All-in-one, self-hosted server setup with security hardening and reverse proxy configuration
Explore the docs
Report Bug
·
Request Feature
Server-AIO is an all-in-one setup toolkit that turns a fresh Ubuntu Server into a repeatable self-hosted platform — in the same spirit as nextcloud-aio, but for the whole server rather than a single app. One installer bootstraps the shared infrastructure (Cloudflare DNS updates, a Docker-based Nginx reverse proxy, UFW, Fail2ban, and a shared Docker network), then separate setup commands bring up individual services such as Nextcloud, Vaultwarden, and Jellyfin on top of it.
Unlike a black-box AIO container, every piece here stays a plain, inspectable script and config file — nothing is hidden behind a control panel. Review and adapt the scripts for your network before exposing services to the internet.
Before running the installation script, ensure you have:
Run this command in your Ubuntu terminal to start the installation:
curl -fsSL https://raw.githubusercontent.com/ENIACore/server-configs/main/install.py -o /tmp/server-install.py && sudo python3 /tmp/server-install.py
The installer copies the available commands to /usr/local/sbin, collects the
initial server configuration, and prepares Nginx templates for the configured
domain. Run the infrastructure and service setup commands you want afterward.
Server-AIO provides setup commands for the following services and infrastructure:
Services:
Security & Infrastructure:
Useful operational commands include nginx-enable, nginx-disable,
scan-ports, docker-network-inspect, docker-system-prune,
add-healthcheck-cron, mask-sleep, and unmask-sleep.



Tagged releases (vMAJOR.MINOR.PATCH) are cut from main and listed on the
Releases page. See CHANGELOG.md for a
per-version summary of what changed. Between releases, main tracks the
maintainer's live server configuration directly.
See the open issues for a full list of proposed features and known issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Distributed under the MIT License. See LICENSE.md for more information.
Project Link: https://github.com/ENIACore/server-configs
224 commits
Python
97.9%
Shell
2.1%