
Show HN: DebOps – Ansible framework for managing Debian-based environments - drybjed
https://github.com/debops/debops/
======
drybjed
Hello, DebOps author here. I thought that I'd write an overview of the project
here for new or interested users.

On a basic level, DebOps is a set of Ansible roles and playbooks that manage
different services and applications on Debian / Ubuntu hosts. The project was
originally designed to manage a data center, but it works fine with a single
host as well.

I'm using and have been actively developing it for the last 6 years at a
medical university where I'm a full time sysadmin, managing 135 virtual
machines spread across 17 on-premise servers. But others who are using DebOps
are using it on the cloud while hosting it on Digital Ocean, Hetzner, AWS and
other cloud hosting providers. Supported operating systems include Debian,
Ubuntu, Raspbian or Devuan.

DebOps has over 160+ Ansible roles and playbooks to set everything you need
from the ground up. This ranges from lower level services such as your host's
firewall to fully fledged applications like GitLab and Nextcloud.

You'll have all the tools you need to set up common web applications written
in various runtimes such as Python, Ruby, Node, PHP, Go and many others. But
DebOps isn't limited to just web applications running on a single server. You
can set up an entire cluster of servers running any workload you want and it's
all secured over TLS. Or if you prefer a Docker / LXC environment, there are
feature-rich Docker and LXC roles to set up a server to run your containerized
applications.

All of the above services are defined as self-contained Ansible roles that can
be used as is or you can mix and match any of DebOps' roles with your own
custom roles and playbooks. To help get you started in a new server
environment, DebOps comes equipped with a common playbook that has a set of
roles that are commonly used on all hosts managed by the project, including
user management, basic services like NTP, OpenSSH, locale configuration,
firewall, and so on.

If you want to start using it, check out the quick start[1] and getting
started guides[2]. The quick start has instructions for getting up and running
quickly with Docker[3] or Vagrant. The getting started guide gives you step by
step instructions on how to configure your DebOps managed environment.

If you have any questions, write a comment here or drop by IRC on Freenode in
the #debops channel.

[1]: [https://docs.debops.org/en/master/introduction/quick-
start.h...](https://docs.debops.org/en/master/introduction/quick-start.html)

[2]: [https://docs.debops.org/en/master/introduction/getting-
start...](https://docs.debops.org/en/master/introduction/getting-started.html)

[3]: docker run -it --rm debops/debops

------
nickjj
A lot of what I learned about managing servers came from this project and
talking to Maciej (the author of DebOps).

I started using DebOps around 5 years ago. I naturally found it after
realizing how much effort it takes to really configure a production ready
server. It was nice to see someone had already invested years of effort into a
project like that. That got me going so much faster than starting at ground
zero (which I did for like 6 months before I found this project and started
contributing to it instead).

I mean, I can write a novel about Maciej but the TL;DR is after 20 years of
freelancing I've never met a single person who is as knowledge as him when it
comes to general sysadmin knowledge, but then you factor in his attention to
detail, patience and work ethic and you end up with something special. 5,200+
commits over 6 years is mind boggling (15+ commits a day on average) and
everything is done by the books (signing off on commits, impeccable changelog,
etc.). The project is ran with code quality standards that rival / exceed some
major open source projects.

All I'll say is, I'm very happy to have met him and to have stumbled upon his
creation all those years ago. We are lucky to have such high quality Ansible
material to use freely.

