Skip to content

fabacab/awesome-sysadmin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Sysadmin Awesome

A curated list of amazingly awesome Free Software and Open Source resources for system administrators.

System administration is the practice of configuring, maintaining, and supporting the reliable operation of computer systems to support the work of others who need to use those systems. System administrators ("sysadmins") ensure that information technology systems are available for use and that the software applications running on those systems are performing adequately.

For awesome software sysadmins might be requested to support, see Awesome Self-Hosted. For educational material for becoming a sysadmin, see Tech Learning Collective's "Foundations" series. For related defensive security tooling, see Awesome Cybersecurity Blue Team.

Please read CONTRIBUTING if you wish to add items to this list. Your contributions and suggestions are welcome. :)

Many IT professionals enable racist state violence, wittingly or unwittingly, by providing services to local, state, and federal policing agencies or otherwise cooperating with similar institutions who do so. This evil most often happens through the coercive mechanism of employment under threat of lack of access to food, shelter, or healthcare. Despite this list's public availability, it is the maintainer's intention and hope that this list supports the people and organizations who work to counter such massive albeit banal evil.

Image of a raised fist composed of the names of Black people murdered by taxpayer-funded racist police violence.

Image of a "Blue Lives Matter" flag with the thin blue line being peeled away to reveal a Nazi swastika underneath.

DEFUND THE POLICE.

Contents

Asset management

  • GLPI - Information Resource-Manager with an additional Administration Interface.
  • OCS Inventory NG - Enables users to inventory their IT assets.
  • Open PC Server Integration (OPSI) - Hardware and software inventory, deployment, and patching for Linux and Windows.
  • RackTables - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration.
  • Ralph - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks.
  • Snipe IT - Asset and license management software.

Client management

Managing software on desktop computers.

  • Chocolatey - Windows CLI package manager written in .NET/PS, based on NuGet.
  • just-install - Python script for downloading and silently installing MSI files.
  • OCS Inventory NG - Inventory, deployment and network scan.
  • WAPT - Network-wide (un)installation, configuration and upgrades of Windows based software.
  • WPKG - Software deployment, upgrade and removal program for Windows.

Backups

Backup software. Also see Restic's list of Linux backup software.

  • Amanda - Client-server model backup tool.
  • Bareos - Fork of Bacula backup tool.
  • BackupPC - BackupPC is a high-performance system for backing up to disk.
  • Backupninja - Lightweight, extensible meta-backup system.
  • Barman - Backup and Recovery Manager for disaster recovery of PostgreSQL servers.
  • BorgBackup - Fork of Attic deduplicating backup program written in Python.
  • Burp - Network backup and restore program.
  • Duplicati - Multiple backends, encryption, web-ui and multi-OS backup tool.
  • Duplicity - Encrypted bandwidth-efficient backup using the rsync algorithm.
  • Elkarbackup - Backup solution based on RSnapshot with a simple web interface.
  • Lsyncd - File Monitor which spawns a process to synchronize the changes (rsync by default).
  • rclone - Command line program to sync files and directories to and from several cloud storage systems/providers.
  • Rdiff-backup - Easy remote incremental backup of all your files.
  • Restic - Secure, remote backup tool. Designed to be easy, fast, verifiable and efficient.
  • Rsnapshot - Filesystem Snapshotting Utility.
  • Shield - Pluggable architecture for backup and restore of database systems.
  • Snebu - Snapshot backup with global multi-client deduplication and transparent compression.
  • UrBackup - Another client-server backup system.
  • DREBS - AWS EBS backup script that supports strategies.
  • ZBackup - Versatile deduplicating backup tool.

Build and software organization tools

  • EasyBuild - Build software and modulefiles for High Performance Computing (HPC) systems in an efficient way.
  • environment-modules Lmod - Lua-based module system that easily handles the MODULEPATH Hierarchical problem.
  • HPCBIOS - Effort to setup a common, well-documented and reproducible environment spanning across multiple HPC systems and sites, inclusive of documentation.
  • Spack - Flexible package manager that supports multiple versions, configurations, platforms, and compilers.

Build automation

  • Apache Ant - Automation build tool, similar to make, written in Java.
  • Apache Maven - Build automation tool mainly for Java.
  • Bazel - Google's build system.
  • GNU Make - Most popular automation build tool for many purposes.
  • Gradle - Build automation system popular for mobile (smartphone) apps and useful for teams.
  • Rake - Build automation tool similar to Make, written in and extensible in Ruby.

ChatOps

Conversation-driven development and management. See https://www.reddit.com/r/chatops for more information.

  • CloudBot - Simple, fast, expandable Python IRC bot.
  • Eggdrop - World's most popular IRC bot, designed for flexibility and ease of use, and is freely distributable under the GNU GPL.
  • Err - Plugin based chatbot designed to be easily deployable, extensible and maintainable.
  • Hubot - Customizable, life embetterment robot.
  • Lazlo - Chatops automation framework in Go.
  • Lita - Robot companion for your company's chat room.
  • Abot - Digital assistant framework in Go.

Cloning

Cloning software.

  • Clonezilla - Partition and disk imaging/cloning program.
  • Fog - Another computer cloning solution.

Cloud Computing

  • AppScale - Cloud software with Google App Engine compatibility.
  • CloudStack - Cloud computing software for creating, managing, and deploying infrastructure cloud services.
  • Cobbler - Cobbler is a Linux installation server that allows for rapid setup of network installation environments.
  • Eucalyptus - Private cloud software with AWS compatibility.
  • Flynn - Open source Platform-as-a-Service (PaaS) for running applications in production.
  • Mesos - Develop and run resource-efficient distributed systems.
  • OpenNebula - User-driven cloud management platform for sysadmins and devops.
  • Openshift - PaaS product from Red Hat.
  • OpenStack - Build private and public clouds.
  • The Foreman - Complete lifecycle management tool for physical and virtual servers. FOSS.
  • Tsuru - Tsuru is an extensible Platform as a Service software.

Cloud Orchestration

See also § Configuration Management.

  • BOSH - IaaS orchestration platform originally written for deploying and managing Cloud Foundry PaaS, but also useful for general purpose distributed systems.
  • Cloud Foundry - Platform-as-a-Service suite to provide the orchestration services that make distributed apps a powerhouse of awesomeness.
  • Cloudify - TOSCA-based cloud orchestration software platform written in Python and YAML.
  • CloudSlang - Flow-based orchestration tool for managing deployed applications, with Docker capabilities.
  • Genesis - Template framework for multi-environment BOSH deployments.
  • Juju - Cloud orchestration tool which manages services as charms, YAML configuration and deployment script bundles.
  • Kubernetes - Orchestration system for Docker containers. (Source Code, Documentation) Apache Go
  • Overcast - Deploy VMs across different cloud providers, and run commands and scripts across any or all of them in parallel via SSH.
  • Rundeck - Simple orchestration tool.
  • Spruce - Tool that merges separate YAML files into one.
  • StackStorm - Event Driven Operations and ChatOps platform for infrastructure management. Written in Python.
  • Terraform - Terraform works with many cloud providers and creates infrastructure from code.

Code Review

Web Based collaborative code review system.

  • Gerrit - Based on the Git version control, it facilitates software developers to review modifications to the source code and approve or reject those changes.
  • Phabricator - Code review tool build by facebook and used by WikiMedia, FB, dropbox etc. Comes with an integrated wiki, bug tracker, VC integration and a CLI tool called arcanist.
  • Review Board - Available as free software under the MIT License.

Configuration Management Database

Configuration management database (CMDB) software.

See also § Asset management.

  • i-doit - IT Documentation and CMDB.
  • iTop - Complete ITIL web based service management tool.
  • Clusto - Helps you keep track of your inventory, where it is, how it's connected, and provides an abstracted interface for interacting with the elements of the infrastructure.
  • Collins - At Tumblr, it's the infrastructure source of truth and knowledge.
  • netbox - IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Configuration Management (CM)

Tools for (re)aligning a system's performance with its requirements throughout its lifecycle.

See also wmariuss/awesome-devops § Automation & Orchestration.

  • Ansible - It's written in Python and manages the nodes over SSH.
  • Bolt - Open source task orchestration tool useful for automating the manual work it takes to maintain IT infrastructure.
  • CFEngine - Lightweight agent system. Configuration state is specified via a declarative language.
  • Chef - It's written in Ruby and Erlang and uses a pure-Ruby DSL.
  • Puppet - It's written in Ruby and uses Puppet's declarative language or a Ruby DSL.
  • Salt - It's written in Python.

Continuous Integration and Continuous Deployment (CI/CD)

  • Buildbot - Python-based toolkit for continuous integration. (Source Code) GPL-2.0 Python
  • CapsuleCD - CD script for automating package/library releases (npm, cookbooks, gems, pip, jars, etc). (Source Code) MIT Go
  • CDS - Enterprise-grade continuous delivery and DevOps automation open source platform. (Source Code) BSD-3-Clause Go
  • Concourse - Concourse is a CI tool that treats pipelines as first class objects and containerizes every step along the way. (Demo, Source Code) Apache-2.0 Go
  • drone - Drone is a Continuous Delivery platform built on Docker, written in Go. (Source Code) Apache-2.0 Go
  • Factor - Programmatically define and run workflows to connect configuration management, source code management, build, continuous integration, continuous deployment and communication tools. (Source Code) MIT Ruby
  • GitLab CI - Gitlab's built-in, full-featured CI/CD solution. (Source Code MIT Ruby
  • GoCD - Continuous delivery server. (Source Code) Apache-2.0 Java/Ruby
  • GolangCI - Open Source automated code review service for Go integrated with GitHub pull requests. (Source Code) AGPL-3.0 Go
  • Jenkins - Continuous Integration Server. (Source Code) MIT Java
  • Laminar - Fast, lightweight, simple and flexible Continuous Integration. (Source Code) GPL-3.0 C++
  • PHP Censor - Open source self-hosted continuous integration server for PHP projects. BSD-2-Clause PHP
  • PHPCI - Free and open source continuous integration specifically designed for PHP. (Source Code) BSD-2-Clause PHP
  • Strider - Open Source Continuous Deployment / Continuous Integration platform. (Source Code) MIT Nodejs
  • werf - Open Source CI/CD tool for building Docker images and deploying to Kubernetes via GitOps. (Source Code) Apache-2.0 Go

Deployment Automation

Tools and scripts to support deployments to your servers.

  • Capistrano - Deploy your application to any number of machines simultaneously, in sequence or as a rolling set via SSH (rake based).
  • Fabric - Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks.
  • Mina - Really fast deployer and server automation tool (rake based).
  • munki - Webserver-based repository of packages and package metadata, that allows macOS administrators to manage software installs.
  • Rocketeer - PHP task runner and deployment tool.
  • sup - Super simple deployment tool—just Unix—think of it like 'make' for a network of servers.
  • Vlad the Deployer - Deployment automation (rake based).

Diagramming

Tools used to create diagrams of networks, flows, etc.

  • DrawThe.Net - Javascript tool that uses a YAML-formatted input to programmatically create large, complex, and visually solid diagrams.
  • Mermaid - Javascript module with a unique, easy, shorthand syntax. Integrates into several other tools like Grafana.
  • Diagrams.net - Easy to use Diagram UI with a plethora of templates, formerly known as Draw.io.

Distributed Filesystems

Network distributed filesystems.

  • Ceph - Distributed object store and file system.
  • DRBD - Distributed Replicated Block Device.
  • LeoFS - Unstructured object/data storage and a highly available, distributed, eventually consistent storage system.
  • GlusterFS - Scale-out network-attached storage file system.
  • Go IPFS - Implementation of IPFS, a global, versioned, peer-to-peer filesystem that seeks to connect all computing devices with the same system of files.
  • HDFS - Distributed, scalable, and portable file-system written in Java for the Hadoop framework.
  • Lustre - Parallel distributed file system, generally used for large-scale cluster computing.
  • Minio - Minio is an open source object storage server compatible with Amazon S3 APIs. (Source Code) Apache-2.0 Go
  • MooseFS - Fault tolerant, network distributed file system.
  • OpenAFS - Distributed network file system with read-only replicas and multi-OS support.
  • Ori Filesystem - Secure distributed file system built for offline operation.
  • Perkeep - Set of open source formats, protocols, and software for modeling, storing, searching, sharing and synchronizing data, formerly known as Camlistore.
  • Swift - Highly available, distributed, eventually consistent object/blob store.
  • SheepDog - Distributed Blockdevice, Rest, QEMU and distributed Filesystem storage.
  • TahoeLAFS - Secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.
  • XtreemFS - XtreemFS is a fault-tolerant distributed file system for all storage needs.

Domain Name System (DNS)

DNS control panels

  • Atomia DNS - DNS management system.
  • nsedit - DNS editor for PowerDNS, working with PowerDNS's new API.
  • PDNS Gui - WebGUI which aids in administering domains and records for PowerDNS with MySQL.
  • Pi-hole - Blackhole for Internet advertisements with a GUI for managing and monitoring.
  • Poweradmin - Friendly Web-based DNS administration tool for PowerDNS server.

DNS servers

  • Bind - Most widely used name server software.
  • CoreDNS - Flexible DNS server written on Go.
  • djbdns - Collection of DNS applications, including tinydns.
  • Designate - DNS REST API that support several DNS servers as its backend.
  • dnsmasq - Lightweight service providing DNS, DHCP and TFTP services to small-scale networks.
  • Knot - High performance authoritative-only DNS server.
  • NSD - Authoritative only, high performance, simple name server.
  • PowerDNS - DNS server with a variety of data storage back-ends and load balancing features.
  • Unbound - Validating, recursive, and caching DNS resolver.
  • Yadifa - Lightweight authoritative Name Server with DNSSEC capabilities powering the .eu top-level domain.

Domain management

  • DnsControl - Opinionated platform for seamlessly managing your DNS configuration across any number of DNS hosts, both in the cloud or in your own infrastructure.
  • DomainMOD - Manage your domains and other internet assets in a central location.
  • octoDNS - Set of tools and patterns that make it easy to manage your DNS records across multiple providers.

Editors

Open source code editors.

  • Atom - Hackable text editor from Github.
  • Brackets - Code editor for web designers and front-end developers.
  • Eclipse - IDE written in Java with an extensible plug-in system.
  • Geany - GTK2 text editor.
  • GNU Emacs - Extensible, customizable text editor-and more.
  • Haroopad - Markdown editor with live preview.
  • ICEcoder - Code editor awesomeness, built with common web languages.
  • jotgit - Git-backed real-time collaborative code editing.
  • KDevelop - IDE by the people behind KDE.
  • Light Table - Next generation code editor.
  • Lime - Aims to provide an open source solution to Sublime Text.
  • Micro - Modern and intuitive terminal-based text editor.
  • Notepad++ - GPLv2 multi-language editor with syntax highlighting for Windows.
  • TextMate - Graphical text editor for OS X.
  • Vim - Highly configurable text editor built to enable efficient editing.
  • Visual Studio Code - Open source cross-platform extensible code editor from Microsoft.
  • Nano - Easy to use, customizable text editor.

Identity Management

LDAP servers and other tools to manage accounts and identities.

LDAP

  • 389 Directory Server - Developed by Red Hat.
  • Apache Directory Server - Apache Software Foundation project written in Java.
  • FreeRADIUS - High performance and highly configurable multi-protocol policy/authentication server, supporting RADIUS, DHCPv4 and VMPS.
  • OpenDJ - Fork of OpenDS.
  • OpenDS - Another directory server written in Java.
  • OpenLDAP - Developed by the OpenLDAP Project.
  • FreeIPA - Based on 389-DS. Includes Kerberos, DNS, as well as host based access control.

Tools and web interfaces

  • Fusion Directory - Improve the Management of the services and the company directory based on OpenLDAP.
  • Indieauth - Sign in with your domain name (using the rel-me-auth protocol).
  • Libravatar - Libravatar is a service which delivers your avatar (profile picture) to other websites.
  • LDAP Account Manager (LAM) - Web frontend for managing entries (e.g. users, groups, DHCP settings) stored in an LDAP directory.
  • OpenID Connect - Simple Identity layer on top of OAuth 2.0.
  • OSIAM - Secure identity management solution providing REST based services for authentication and authorization.
  • Pomerium - Identity and context aware access-proxy inspired by BeyondCorp.
  • Samba - Active Directory and CIFS protocol implementation.
  • BounCA - Personal SSL Key / Certificate Authority web-based tool for creating self-signed certificates.
  • easy-rsa - Bash script to build and manage a PKI CA.
  • Smallstep Certificates - Private certificate authority (X.509 and SSH) and related tools for secure automated certificate management.

Log Management

Log management tools: collect, parse, visualize ...

  • ElasticSearch - Lucene based document store mainly used for log indexing, storage and analysis.
  • Fluentd - Log Collector and Shipper.
  • Flume - Distributed log collection and aggregation system.
  • GoAccess - Real-time web log analyzer and interactive viewer that runs in a terminal or through the browser. (Source Code) MIT C
  • Graylog - Pluggable Log and Event Analysis Server with Alerting options.
  • Hindsight - Stream processing system which may be used for log aggregation (Replaces Heka).
  • Kibana - Visualize logs and time-stamped data.
  • Logstash - Tool for managing events and logs.
  • Octopussy - Log Management Solution (Visualize / Alert / Report).

Mail Clients

  • Claws Mail - Old school email client (and news reader), based on GTK+.
  • ImapSync - Simple IMAP migration tool for copying mailboxes to other servers.
  • Mutt - Small but very powerful text-based mail client.
  • Nylas Mail - Extensible mail client.
  • Sylpheed - Still developed predecessor to Claws Mail, lightweight mail client.
  • Thunderbird - Free email application that's easy to set up and customize.

Monitoring

Monitoring software.

  • Adagios - Web based Nagios interface for configuration and monitoring (replacement to the standard interface), and a REST interface. (SourceCode, Documentation)
  • Alerta - Distributed, scaleable and flexible monitoring system.
  • Bloonix - Monitoring solution that helps businesses ensure high availability and performance. GPLv3 Perl
  • bolo - Do-it-Yourself monitoring framework built to gather metrics, mine data and report on the systems in your network.
  • Bosun - Monitoring and alerting system by Stack Exchange (Source Code, Documentation) MIT Go
  • Cacti - Web-based network monitoring and graphing tool.
  • Cabot - Monitoring and alerts, similar to PagerDuty.
  • cadvisor - Analyzes resource usage and performance characteristics of running containers. Apache Go
  • check_mk - Collection of extensions for Nagios.
  • Dash - Low-overhead monitoring web dashboard for a GNU/Linux machine.
  • EdMon - Command-line monitoring application helping you to check that your hosts and services are available, with notifications support. MIT Java
  • ElastiFlow - Network flow Monitoring (Netflow, sFlow and IPFIX) with the Elastic Stack.
  • eZ Server Monitor - Lightweight and simple dashboard monitor for Linux, available in Web and Bash application.
  • Flapjack - Monitoring notification routing and event processing system.
  • Glances - Cross-platform system monitoring tool written in Python.
  • Healthchecks - Monitoring for cron jobs, background services and scheduled tasks.
  • Icinga - Nagios fork that has since lapped nagios several times. Comes with the possibility of clustered monitoring - (Source Code) - GPLv2
  • LibreNMS - Fully featured network monitoring system that provides a wealth of features and device support.
  • Monit - Small utility for managing and monitoring Unix systems.
  • Munin - Networked resource monitoring tool.
  • Naemon - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features.
  • Nagios - Computer system, network and infrastructure monitoring software application.
  • NetXMS - Open Source network and infrastructure monitoring and management. (Source Code)
  • Observium - SNMP monitoring for servers and networking devices. Runs on linux.
  • OMD - Open Monitoring Distribution.
  • Performance Co-Pilot - Lightweight, distributed system performance and analysis framework.
  • PhpSysInfo - Customizable PHP script that displays information about your system nicely.
  • PHP Server Monitor - Open source tool to monitor your servers and websites.
  • psdash - Linux system information web dashboard using psut ils and flask.
  • pyDash - Small web-based monitoring dashboard for linux.
  • Riemann - Flexible and fast events processor allowing complex events/metrics analysis.
  • rtop - Interactive, remote system monitoring tool based on SSH.
  • Sensu - Monitoring framework.
  • ServerStatus BotoX - Display and monitor your servers statistics in a beatiful way.
  • ServerStatus moejda - Server Status website script, displays uptime (days), free RAM, free HDD.
  • Shinken - Another monitoring framework.
  • SWMP - Server Web Monitor Page - Responsive, eye-pleasing Linux server statistics dashboard. (Source Code)
  • Thruk - Multibackend monitoring web interface with support for Naemon, Nagios, Icinga and Shinken.
  • Uchiwa - Simple dashboard for sensu.
  • Vector - On-host performance monitoring framework.
  • Xymon - Network monitoring inspired by Big Brother.
  • Zabbix - Enterprise-class software for monitoring of networks and applications.
  • Zenoss - Application, server, and network management platform based on Zope.

Status Pages

  • Cachet - Status page system written in PHP.
  • Netcheck - Tool to let you monitor the availability and performance of services, inspired by Pingdom and StatusCake. (Demo)
  • Stashboard - Status page for cloud services and APIs.
  • Statusfy - Modern status page for presenting critical service updates.
  • System Status Dashboard (SSD) - Overview about an organization's infrastructure health status.
  • Staytus - Staytus is a complete solution for publishing the latest information about any issues with your web applications, networks or services.
  • vigil - Microservices Status Page. Monitors a distributed infrastructure and sends alerts to Slack. Written in Rust.
  • Statping - Status page system written in Go.

Metric collection and telemetry

Application performance metric and network telemetry gathering and display software.

  • Prometheus - Service monitoring system and time series database.
  • Packetbeat - Captures network traffic and displays it in a custom Kibana dashboard for easy viewing.
  • Graphite - Scalable graphing server.

Data dashboards

  • Grafana - Graphite and InfluxDB Dashboard and Graph Editor.
  • Ganglia - High performance, scalable RRD based monitoring for grids and/or clusters of servers. Compatible with Graphite using a single collection process.
  • RRDtool - Industry standard, high performance data logging and graphing system for time series data.
  • Dashing - Ruby gem that allows for rapid statistical dashboard development. An all HTML5 approach allows for big screen displays in data centers or conference rooms.
  • Facette - Time series data visualization and graphing software written in Go.
  • Freeboard - Damn-sexy front-end real-time dashboard for the internet of things. Transforms raw JSON into delicious UI.
  • Netdata - Real-time performance monitoring for Linux systems with plugin support.

Metric collectors

  • Diamond - Python based statistic collection daemon.
  • Collectd - System statistic collection daemon.
  • Collectl - High precision system performance metrics collecting tool.
  • PGObserver - Monitoring solution for PostgreSQL databases that also works with AWS RDS.
  • Statsd - Application statistic listener.
  • tcollector - System statistic collection daemon written in Python for OpenTSDB.
  • Telegraf - Plugin-driven server agent for collecting and reporting metrics.

Telemetry storage

  • OpenTSDB - Store and server massive amounts of time series data without losing granularity.
  • KairosDB - Fast distributed scalable time series database, fork of OpenTSDB 1.x.
  • InfluxDB - Distributed time series database with no external dependencies.

Network Configuration Management

Network configuration management tools.

  • GestióIP - Automated web based IPv4/IPv6 IP Address Management tool.
  • GNS3 - Graphical network simulator that provides a variety of virtual appliances - (Source Code, Documentation) - GPLv3
  • Oxidized - Modern take on network device configuration monitoring with web interface and GIT storage.
  • phpIPAM - Open source IP address management with PowerDNS integration.
  • RANCID - Monitors network device's configuration and maintain history of changes.
  • rConfig - Another network device configuration management tool.
  • trigger - Robust network automation toolkit written in Python.

Newsletters

Newsletter software.

  • DadaMail - Mailing List Manager, written in Perl.
  • phpList - Newsletter manager written in PHP.
  • LibreMailer - Libre Mailer is a modest and simple web based email marketing application.
  • Lewsnetter - E-mail marketing application (create and send e-mail newsletter via SES). Includes subscription management, delivery, bounce and complaint notification, templates, and some stats.

NoSQL

NoSQL databases.

  • Column-Family
    • Apache HBase - Hadoop database, a distributed, big data store.
    • Cassandra - Distributed DBMS designed to handle large amounts of data across many servers.
    • Hypertable - C++ based BigTable-like DBMS, communicates through Thrift and runs either as stand-alone or on distributed FS such as Hadoop.
  • Document Store
    • CouchDB - Ease of use, with multi-master replication document-oriented database system.
    • MongoDB - Another document-oriented database system.
    • RavenDB - Document based database with ACID/Transactional features.
    • RethinkDB - Distributed document store database, focuses on JSON.
    • [eXist-DB] (Https://www.exist-db.org/) - Open Source XML Database
  • Graph
    • FlockDB - Twitter's distributed, fault-tolerant graph database.
    • Neo4j - Graph database.
  • Key-Value
    • LevelDB - Google's high performance key/value database.
    • Redis - Networked, in-memory, key-value data store with optional durability.
    • Riak - Another fault-tolerant key-value NoSQL database.

Comparison of NoSQL servers: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Packaging

  • fpm - Versatile multi format package creator.
  • omnibus-ruby - Full stack, cross distro packaging software (Ruby).
  • packman - Full stack, cross distro packaging software (Python).
  • tito - Builds RPMs for git-based projects.

Project management

See awesome-selfhosted/awesome-selfhosted § Project management

Queuing

  • ActiveMQ - Java message broker.
  • BeanstalkD - Simple, fast work queue.
  • Gearman - Fast multi-language queuing/job processing platform.
  • Kafka - Extremely high performance publish/subscribe message system.
  • NSQ - Realtime distributed messaging platform.
  • RabbitMQ - Robust, fully featured, cross distro queuing system.
  • ZeroMQ - Lightweight queuing system.

RDBMS

Relational DBMS.

  • Firebird - True universal database.
  • Galera - Galera Cluster for MySQL is an easy-to-use high-availability solution with high system up-time, no data loss, and scalability for future growth.
  • MariaDB - Community-developed fork of the MySQL.
  • Percona Server - Enhanced, drop-in MySQL replacement.
  • PostgreSQL - Object-relational database management system (ORDBMS).
  • PostgreSQL-XL - Scalable PostgreSQL-based database cluster.
  • SQLite - Library that implements a self-contained, serverless, zero-configuration, transactional SQL DBS.

Remote Management

  • Tiger VNC - TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines.
  • Remmina - Feature rich remote desktop application for linux and other unixes.
  • X2go - X2Go is an open source remote desktop software for Linux that uses the NX technology protocol.
  • rdpwrap - RDP wrapper library allowing Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage.

Service Discovery

  • Consul - Consul is a tool for service discovery, monitoring and configuration.
  • Doozerd - Doozer is a highly-available, completely consistent store for small amounts of extremely important data.
  • etcd - Distributed key-value store, authenticating via SSL PKI and a REST HTTP Api for shared configuration and service discovery.
  • ZooKeeper - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

Software Containers

Operating system–level virtualization.

  • Docker - Platform for developers and sysadmins to build, ship, and run distributed applications.
  • LXC - Userspace interface for the Linux kernel containment features.
    • LXD - Container "hypervisor" and a better UX for LXC.
  • OpenVZ - Container-based virtualization for Linux.

Troubleshooting

Troubleshooting Tools.

  • grml - Bootable Debian Live CD with powerful CLI tools.
  • mitmproxy - Python tool used for intercepting, viewing and modifying network traffic. Invaluable in troubleshooting certain problems.
  • mtr - Network utility that combines traceroute and ping.
  • perf-tools - Performance analysis tools based on Linux perf_events (aka perf) and ftrace.
  • Sysdig - Capture system state and activity from a running Linux instance, then save, filter and analyze.
  • Wireshark - World's foremost network protocol analyzer.

Version Control Systems (VCS)

Software versioning and revision control or source code management (SCM) systems.

  • Fossil - Distributed version control with built-in wiki and bug tracking.
  • Git - Distributed revision control and source code management (SCM) with an emphasis on speed.
  • GNU Bazaar - Distributed revision control system sponsored by Canonical.
  • Mercurial - Another distributed revision control.
  • Subversion - Client-server revision control system.
  • Darcs - Patch-based distributed version control (more info: wiki).

Virtual Private Network (VPN)

  • ocserv - Cisco AnyConnect-compatible VPN server.
  • OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
  • Pritunl - OpenVPN based solution. Easy to set up.
  • SoftEther - Multi-protocol software VPN with advanced features.
  • sshuttle - Transparent proxy server that works as a poor person's VPN by forwarding connections over SSH without requiring admin permissions.
  • strongSwan - Complete IPsec implementation for Linux.
  • tinc - Distributed p2p VPN.
  • WireGuard - Very fast VPN based on elliptic curve and public key crypto.
  • Nebula - Scalable p2p VPN with a focus on performance, simplicity and security.

Virtualization

See also Wenzel/awesome-virtualization.

Hypervisor automation

See also § Cloud orchestration.

  • Packer - Tool for creating identical (virtual) machine images for multiple platforms from a single source configuration.
  • Vagrant - Tool for building complete development environments.

Hypervisors and Virtual Machine Managers/Monitors (VMMs)

  • KVM - Linux kernel virtualization infrastructure.
  • QEMU - Generic machine emulator and virtualizer.
  • VirtualBox - Free Software type-2 (hosted) virtualization product from Oracle Corporation.
  • Xen - Virtual machine monitor for 32/64 bit Intel/AMD (IA 64) and PowerPC 970 architectures.

Virtualization management solutions

  • Ganeti - Virtual machine cluster management tool built on top of existing virtualization technologies such as Xen or KVM and other open source software.
  • OpenNebula - Simple, but powerful, open source solution to build and manage enterprise clouds.
  • OpenVZ Web Panel - Web panel to control OpenVZ virtual machines.
  • oVirt - Open-source distributed virtualization solution, designed to manage your entire enterprise infrastructure, using the KVM hypervisor.
  • Proxmox VE - Complete open-source platform for enterprise virtualization providing a Web-based interface and API for managing VMs and containers, software-defined storage and networking, and high-availability clustering.
  • XCP-ng - Turnkey open source hypervisor platform based on the open source ancestor of Citrix Hypervisor, XenServer.

World Wide Web (WWW)

Web hosting control panels

Web-based interfaces enabling administrators or end-users to manage their own or system-wide hosted services.

  • Ajenti - Control panel for Linux and BSD.
  • Cockpit - Administrator's tool for managing multiple GNU/Linux servers from a single Web-based interface.
  • Froxlor - Easy to use panel for Linux with Nginx and PHP-FPM support.
  • ISPConfig - Hosting control panel for Linux.
  • Sentora - Control panel for Linux, BSD, and Windows based on ZPanel.
  • VestaCP - Hosting panel for Linux but with Nginx.
  • Virtualmin - Hosting panel for Linux based on webmin.
  • Webmin - Web-based interface for general system administration tasks for Unix servers.

Web servers

(Also known as HTTP servers.)

  • Algernon - Web/application server that supports Lua, live-reload, templates, Sass and HTTP/2.
  • Apache - Robust, commercial-grade, featureful implementation of an HTTP (Web) server.
  • Caddy - Lightweight, general-purpose web server supporting HTTP/2, automatic TLS and easy configuration. Written in Go.
  • Cherokee - Lightweight, high-performance web server/reverse proxy.
  • Hiawatha - Prioritises security, simplicity and performance.
  • Lighttpd - Web server more optimized for speed-critical environments.
  • Nginx - Reverse proxy, load balancer, HTTP cache, and web server.
  • uWSGI - Project aiming at developing a full stack for building hosting services.

Web performance

  • HAProxy - Software based load Balancing, SSL offloading and performance optimization, compression, and general web routing.
  • Varnish - HTTP based web application accelerator focusing on optimizing caching and compression.

Blogs

  • Code as Craft - Etsy's Ops blog, lots of technical posts.
  • DevOpsGuys - Devops consultants who blog about operations.
  • Rackspace Developers - Slightly biased blog with lots of Devops Topics.
  • RoseHosting Blog - Linux tutorials for installing and configuring various software through the Linux command line. Guides and introductions to different Linux technologies and applications. Tips and tricks you can do via the Linux command line and more.

Books

Sysadmin related books.

Communities / Forums

For the social people.

Newsletters

  • Servers for Hackers - Newsletter for programmers who find themselves needing to know their way around a server.
  • Web Operations Weekly - Weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal.

Repositories

Software package repositories.

  • AlternativeTo - Find alternatives to software you know and discover new software.

Debian-based distributions

  • deb.sury.org - Repository with LAMP updated packages for Debian and Ubuntu.

RPM-based distributions

  • ElRepo - Community Repo for Enterprise Linux (RHEL, CentOS, etc).
  • EPEL - Repository for RHEL and compatibles (CentOS, Scientific Linux).
  • IUS - Community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions.
  • Remi - Repository with LAMP updated packages for RHEL/Centos/Fedora.
  • Software Collections - Community Release of Red Hat Software Collections. Provides updated packages of Ruby, Python, etc. for CentOS/Scientific Linux 6.x.

Websites

Useful sysadmin related websites.

  • Awesome SysAdmin @ LibHunt - Your go-to SysAdmin Toolbox. Based on the list here.
  • Ops School - Comprehensive program that will help you learn to be an operations engineer.
  • Digital Ocean Tutorials - Surprisingly vast resource for getting the basics of certain applications, tools, or even systems administration topics.

Wikis

Useful Wikis for Sysadmins - not to be confused with Wiki software.

  • ArchWiki - Arch Linux Wiki which has really nice written articles valid for other distros.
  • Gentoo Wiki - Gentoo Linux Wiki with a lot in-detail description of Linux components.

License

cc license

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.

About

🖥️⚙️ A curated list of amazingly awesome Free Software and Open Source resources for system administrators.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published