59 KiB
Awesome Sysadmin
A curated list of amazingly awesome Free and Open-Source sysadmin resources. Please read the Pull Request template if you wish to add software and consider donating to the FLOSS projects you use regularly. Please consider contributing to fix one of the pinned issues if your time allows.
Table of contents
- Software
- Automation
- Backups
- Build and software organization tools
- ChatOps
- Client management
- Cloning
- Cloud Computing
- Cloud Orchestration
- Code Review
- Configuration Management Database
- Configuration Management
- Continuous Integration & Continuous Deployment
- Control Panels
- Databases
- Deployment Automation
- Diagramming
- Distributed Filesystems
- DNS - Servers
- DNS - Control Panels
- DNS - Domain Management
- Editors
- Identity Management
- Identity Management - LDAP
- Identity Management - Tools and web interfaces
- Identity Management - Single Sign-On SSO
- IT Asset Management
- Log Management
- Mail Clients
- Monitoring
- Status Pages
- Metrics & Metric Collection
- Network Configuration Management
- Newsletters
- Packaging
- Project Management
- Queuing
- Router
- Remote Management
- Service Discovery
- Software Containers
- Troubleshooting
- Version control
- Virtualization
- VPN
- Web
- List of Licenses
- External links
- Blogs
- Books
- Communities / Forums
- Newsletters
- Repositories
- Websites
- License
Software
Automation
Automation build.
- Apache Ant - Automation build tool, similar to make, a library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. (Source Code)
Apache-2.0
Java
- Apache Maven - Build automation tool mainly for Java. A software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. (Source Code)
Apache-2.0
Java
- Bazel - A fast, scalable, multi-language and extensible build system. Used by Google. (Source Code)
Apache-2.0
Java
- Bolt - You can use Bolt to run one-off tasks, scripts to automate the provisioning and management of some nodes, you can use Bolt to move a step beyond scripts, and make them shareable. (Source Code)
Apache-2.0
Ruby
- GNU Make - The most popular automation build tool for many purposes, make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. (Source Code)
GPL-3.0
C
- Gradle - Another build automation system. (Source Code)
Groovy/Java
Apache-2.0
- Rake - Build automation tool similar to Make, written in and extensible in Ruby. (Source Code)
MIT
Ruby
Backups
Backup software. Also see Restic's list of Linux backup software.
- Amanda - Client-server model backup tool.
- Backupninja - Lightweight, extensible meta-backup system.
- BackupPC - BackupPC is a high-performance system for backing up to disk.
- Bareos - A fork of Bacula backup tool.
- Barman - Backup and Recovery Manager for disaster recovery of PostgreSQL servers.
- BorgBackup - A fork of Attic deduplicating backup program written in Python.
- Burp - Network backup and restore program.
- DREBS - AWS EBS backup script that supports strategies.
- Dar - Which stands for Disk ARchive, is a robust and rich featured archiving and backup software of the tar style. (Source Code)
GPL-2.0
C++
- 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
- rclone - a command line program to sync files and directories to and from several cloud storage systems/providers.
- Rdiff-backup - An easy A 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 - A 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.
- ZBackup - A versatile deduplicating backup tool.
Build and software organization tools
Build and software organization tools.
- EasyBuild - EasyBuild builds software and modulefiles for High Performance Computing (HPC) systems in an efficient way.
- environment-modules Lmod - Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem.
- HPCBIOS - HPCBIOS is an effort to setup a common, well-documented and reproducible, environment spanning across multiple HPC systems & sites, inclusive of documentation.
- Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
ChatOps
Conversation-driven development and management. See https://www.reddit.com/r/chatops for more information.
- Eggdrop - The oldest Internet Relay Chat (IRC) bot still in active development. (Source Code)
GPL-2.0
C
- Errbot - a plugin based chatbot designed to be easily deployable, extensible and maintainable. (Source Code)
GPL-3.0
Python
- Hubot - A customizable, life embetterment robot. (Source Code)
MIT
Nodejs
Client management
Managing software on desktop computers.
See also: IT Asset Management
- Chocolatey – The package manager for Windows. (Source Code)
Apache-2.0
C#/PowerShell
Cloning
Cloning software.
- Clonezilla - Partition and disk imaging/cloning program. (Source Code)
GPL-2.0/Other
Perl/Shell/Other
- Fog - Cloning/imaging solution/rescue suite. (Sorce Code)
GPL-3.0
PHP/Shell
Cloud Computing
- CloudStack - Cloud computing software for creating, managing, and deploying infrastructure cloud services. (Source Code)
- Cobbler - Cobbler is a Linux installation server that allows for rapid setup of network installation environments. (Source Code)
- 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
- BOSH - IaaS orchestration platform originally written for deploying and managing Cloud Foundry PaaS, but also useful for general purpose distributed systems.
- Cloud Foundry - A 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 - A 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-2.0
Go
- MCollective - Ruby framework to manage server orchestration, developed by Puppet labs.
- Nomad - Simple and flexible orchestrator for Docker, Podman, executables, Java, and QEMU - (Source Code, Documentation)
MPL-2.0
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.
- Salt - Fast, scalable and flexible systems management software written in Python/ZeroMQ.
- Spruce - A tool that merges separate YAML files into one. Works well with Genesis.
- 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
Please visit awesome-selfhosted/Software Development - Project Management
Configuration Management Database
Configuration management database (CMDB) software.
See also: IT Asset Management
- Collins - At Tumblr, it's the infrastructure source of truth and knowledge.
- i-doit - IT Documentation and CMDB.
- iTop - Complete ITIL web based service management tool.
- netbox - IP address management (IPAM) and data center infrastructure management (DCIM) tool
Configuration Management
Configuration management tools.
- Ansible - It's written in Python and manages the nodes over SSH.
- 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.
- Pallet - Infrastructure definition, configuration and management via a Clojure 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 & Continuous Deployment
Continuous integration/deployment software.
- 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 & 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
- Woodpecker - Community fork of Drone that uses Docker containers. (Source Code)
Apache-2.0
Go
Control Panels
Web hosting and server or service control panels.
- Ajenti - Control panel for Linux and BSD. (Source Code)
MIT
Python/Shell
- Cockpit - web-based graphical interface for servers. (Source Code)
LGPL-2.1
C
- Froxlor - Lightweight server management software with Nginx and PHP-FPM support. (Source Code)
GPL-2.0
PHP
- ISPConfig - Manage Linux servers directly through your browser. (Source Code)
BSD-3-Clause
PHP
- Sentora - Open-Source Web hosting control panel for Linux, BSD (fork of ZPanel). (Source Code)
GPL-3.0
PHP
- VestaCP - Open-Source hosting control panel. (Source Code)
GPL-3.0
PHP/Shell/Other
- Virtualmin - Powerful and flexible web hosting control panel for Linux and BSD systems. (Source Code)
GPL-3.0
Shell/Perl/Other
- Webmin - Web-based interface for system administration for Unix. (Source Code)
BSD-3-Clause
Perl
Databases
Database servers.
Please visit dbdb.io - Database of Databases
See also: awesome-selfhosted/Database Management
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.
- Vlad the Deployer - Deployment automation (rake based).
Diagramming
Tools used to create diagrams of networks, flows, etc.
- Diagrams.net - A.K.A. Draw.io. Easy to use Diagram UI with a plethora of templates.
- 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.
Distributed Filesystems
Network distributed filesystems.
- Ceph - Distributed object store and file system.
- DRBD - Distributed Replicated Block Device.
- 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.
- LeoFS - Unstructured object/data storage and a highly available, distributed, eventually consistent storage system.
- 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)
AGPL-3.0
Go
- MooseFS - Fault tolerant, network distributed file system.
- OpenAFS - Distributed network file system with read-only replicas and multi-OS support.
- Perkeep (née Camlistore) - A set of open source formats, protocols, and software for modeling, storing, searching, sharing and synchronizing data.
- SheepDog - A distributed Blockdevice, Rest, QEMU and distributed Filesystem storage.
- Swift - A highly available, distributed, eventually consistent object/blob store.
- 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.
DNS - Servers
DNS servers.
- Bind - Versatile, classic, complete name server software. (Source Code)
MPL-2.0
C
- CoreDNS - Flexible DNS server. (Source Code)
Apache-2.0
Go
- djbdns - A collection of DNS applications, including tinydns. (Source Code)
Public Domain
C
- dnsmasq - Provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot. (Source Code)
GPL-2.0
C
- Knot - High performance authoritative-only DNS server. (Source Code)
GPL-3.0
C
- NSD - Authoritative DNS name server developed speed, reliability, stability and security. (Source Code)
BSD-3-Clause
C
- PowerDNS Authoritative Server - Versatile nameserver which supports a large number of backends.. (Source Code)
GPL-2.0
C++
- Unbound - Validating, recursive, and caching DNS resolver. (Source Code)
BSD-3-Clause
C
- Yadifa - Clean, small, light and RFC-compliant name server implementation developed from scratch by .eu. (Source Code)
BSD-3-Clause
C
DNS - Control Panels
DNS server control panels.
- Atomia DNS - DNS management system. (Source Code)
ISC
Perl
- Pi-hole - A blackhole for Internet qdvertisements with a GUI for management and monitoring. (Source Code)
EUPL-1.2
Shell/PHP
- Poweradmin - Web-based DNS control panel for PowerDNS server. (Source Code)
GPL-3.0
PHP
DNS - Domain Management
Domain management.
- Designate - DNSaaS services for OpenStack. (Source Code)
- DNSControl - Synchronize your DNS to multiple providers from a simple DSL. (Source Code)
MIT
Go/Docker
- DomainMOD - Manage your domains and other internet assets in a central location. (Source Code)
GPL-3.0
PHP
- octoDNS - DNS as code - Tools for managing DNS across multiple providers.
MIT
Python
Editors
Open source code editors.
- Atom Community - A fork of atom A 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 - An 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.
- Micro - A modern and intuitive terminal-based text editor
- Nano - Easy to use, customizable text editor.
- Notepad++ - GPLv2 multi-language editor with syntax highlighting for Windows.
- TextMate - A graphical text editor for OS X.
- Vim - A highly configurable text editor built to enable efficient editing.
- VSCodium - An open source cross-platform extensible code editor based on VS Code by Microsoft removing their non-free additions.
Identity Management
LDAP servers and other tools to manage accounts and identities.
Identity Management - LDAP
- 389 Directory Server - Enterprise-class Open Source LDAP server for Linux. (Source Code)
GPL-3.0
C
- Apache Directory Server - Extensible and embeddable directory server, certified LDAPv3 compatible, with Kerberos 5 and Change Password Protocol support, triggers, stored procedures, queues and views. (Source Code)
Apache-2.0
Java
- FreeIPA - Integrated security information management solution combining Linux (Fedora), 389 Directory Server, Kerberos, NTP, DNS, and Dogtag Certificate System (web interface and command-line administration tools). (Source Code)
GPL-3.0
Python/C/JavaScript
- FreeRADIUS - Multi-protocol policy server (radiusd) that implements RADIUS, DHCP, BFD, and ARP and associated client/PAM library/Apache module. (Source Code)
GPL-2.0
C
- lldap - Light (simplified) LDAP implementation with a simple, intuitive web interface and GraphQL support.
GPL-3.0
Rust
- OpenLDAP - Open-source implementation of the Lightweight Directory Access Protocol (server, libraries and clients). (Source Code)
OLDAP-2.8
C
Identity Management - Tools and web interfaces
- BounCA - A personal SSL Key / Certificate Authority web-based tool for creating self-signed certificates.
- easy-rsa - bash script to build and manage a PKI CA.
- 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).
- LDAP Account Manager (LAM) - Web frontend for managing entries (e.g. users, groups, DHCP settings) stored in an LDAP directory.
- Libravatar - Libravatar is a service which delivers your avatar (profile picture) to other websites.
- OpenID Connect - A Simple Identity layer on top of OAuth 2.0.
- OSIAM - Secure identity management solution providing REST based services for authentication and authorization.
- Pomerium - An identity and context aware access-proxy inspired by BeyondCorp.
- Samba – Active Directory and CIFS protocol implementation.
- Smallstep Certificates - A private certificate authority (X.509 & SSH) and related tools for secure automated certificate management.
- ZITADEL - Cloud-native Identity & Access Management solution providing a platform for secure authentication, authorization and identity management.
Identity Management - Single Sign-On (SSO)
- Authelia - The Single Sign-On Multi-Factor portal for web apps. (Source Code)
Apache-2.0
Go
- KeyCloak - Open Source Identity and Access Management. (Source Code)
Apache-2.0
Java
IT Asset Management
IT Assets Management software.
- GLPI - Information Resource-Manager with an additional Administration Interface. (Source Code)
- OCS Inventory NG - Asset management and deployment solution for all devices in your IT Department. (Source Code)
GPL-2.0
PHP/Perl
- OPSI - Hardware and software inventory, client management, deployment, and patching for Linux and Windows. (Source Code)
GPL-3.0/AGPL-3.0
OVF/Python
- RackTables - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration. (Source Code, Demo)
GPL-2.0
PHP
- Ralph - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks. (Source Code, Demo)
Apache-2.0
Python/Docker
- Snipe IT - Asset & license management software. (Source Code)
AGPL-3.0
PHP
Log Management
Log management tools: collect, parse, visualize ...
- Fluentd - Data collector for unified logging layer. (Source Code)
Apache-2.0
Ruby
- Flume - distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. (Source Code)
Apache-2.0
Java
- GoAccess - Real-time web log analyzer and interactive viewer that runs in a terminal or through the browser. (Source Code)
MIT
C
- Loki - Log aggregation system designed to store and query logs from all your applications and infrastructure. (Source Code)
AGPL-3.0
Go
- rsyslog - Rocket-fast system for log processing. (Source Code)
GPL-3.0
C
Mail Clients
- Claws Mail - Old school email client (and news reader), based on GTK+. (Source Code)
- ImapSync – Simple IMAP migration tool for copying mailboxes to other servers. (Source Code)
- Mutt - Small but very powerful text-based mail client. (Source Code)
- Sylpheed – Still developed predecessor to Claws Mail, lightweight mail client. (Source Code)
- Thunderbird - Free email application that's easy to set up and customize. (Source Code)
Monitoring
Monitoring software.
See also: Metrics & Metric Collection
- Adagios - Web based Nagios interface for configuration and monitoring (replacement to the standard interface), and a REST interface. (Source Code)
AGPL-3.0
Docker/Python
- Alerta - Distributed, scaleable and flexible monitoring system. (Source Code)
Apache-2.0
Python
- Bloonix - Bloonix is a monitoring solution that helps businesses to ensure high availability and performance. (Source Code)
GPL-3.0
Perl
- Bosun - Monitoring and alerting system by Stack Exchange (Source Code)
MIT
Go
- Cabot - Monitoring and alerts, similar to PagerDuty. (Source Code)
MIT
Python
- Cacti - Web-based network monitoring and graphing tool. (Source Code)
GPL-2.0
PHP
- cadvisor - Analyzes resource usage and performance characteristics of running containers (Source Code)
Apache-2.0
Go
- checkmk - Comprehensive solution for monitoring of applications, servers, and networks. (Source Code)
Python/PHP
- dashdot - A simple, modern server dashboard for smaller private servers. (Demo)
MIT
Nodejs/Docker
- EdMon - A command-line monitoring application helping you to check that your hosts and services are available, with notifications support.
MIT
Java
- eZ Server Monitor - A lightweight and simple dashboard monitor for Linux, available in Web and Bash application. (Source Code)
GPL-3.0
PHP/Shell
- Healthchecks - Monitoring for cron jobs, background services and scheduled tasks. (Source Code)
BSD-3-Clause
Python
- Icinga - Nagios fork that has since lapped nagios several times. Comes with the possibility of clustered monitoring. (Source Code)
GPL-2.0
C++
- LibreNMS - Fully featured network monitoring system that provides a wealth of features and device support. (Source Code)
GPL-3.0
PHP
- Linux Dash - A low-overhead monitoring web dashboard for a GNU/Linux machine.
MIT
Nodejs/Go/Python/PHP
- Monit - Small utility for managing and monitoring Unix systems. (Source Code)
AGPL-3.0
C
- Munin - Networked resource monitoring tool. (Source Code)
GPL-2.0
Perl/Shell
- Naemon - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features. (Source Code)
GPL-2.0
C
- Nagios - Computer system, network and infrastructure monitoring software application. (Source Code)
GPL-2.0
C
- Netdata - Distributed, real-time, performance and health monitoring for systems and applications. Runs on Linux, FreeBSD, and MacOS. (Source Code)
GPL-3.0
C
- NetXMS - Open Source network and infrastructure monitoring and management. (Source Code)
LGPL-3.0/GPL-3.0
Java/C++/C
- Observium - SNMP monitoring for servers and networking devices. Runs on linux.
- OMD - The Open Monitoring Distribution.
- Performance Co-Pilot - Lightweight, distributed system performance and analysis framework.
- PHP Server Monitor - Open source tool to monitor your servers and websites. (Source Code)
- PhpSysInfo - A customizable PHP script that displays information about your system nicely. (Source Code)
- Prometheus - Service monitoring system and time series database. (Source Code)
Apache-2.0
Go
- pyDash - Small web-based monitoring dashboard for linux. (Source Code)
- Riemann - Flexible and fast events processor allowing complex events/metrics analysis. (Source Code)
- rtop - an interactive, remote system monitoring tool based on SSH. (Source Code)
- Scrutiny - Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds
- Sensu - Monitoring tool for ephemeral infrastructure and distributed applications. (Source Code)
- Status - Simple and lightweight system monitoring tool for small homeservers with a pleasant web interface. (Demo)
MIT
Python
- Thruk - Multibackend monitoring web interface with support for Naemon, Nagios, Icinga and Shinken. (Source Code)
- Zabbix - Enterprise-class software for monitoring of networks and applications. (Source Code)
Status Pages
Please visit awesome-selfhosted/Status / Uptime Pages
Metrics & Metric Collection
Metric gathering and display software.
See also: Databases, Monitoring
- Beats - Single-purpose data shippers that send data from hundreds or thousands of machines and systems to Logstash or Elasticsearch. (Source Code)
Apache-2.0
- Collectd - System statistics collection daemon. (Source Code)
MIT
C
- Diamond - Daemon that collects system metrics and publishes them to Graphite (and others).
MIT
Python
- Grafana - A Graphite & InfluxDB Dashboard and Graph Editor. (Source Code)
AGPL-3.0
Go
- Graphite - Scalable graphing server. (Source Code)
Apache-2.0
Python
- RRDtool - Industry standard, high performance data logging and graphing system for time series data. (Source Code)
GPL-2.0
C
- Statsd - Daemon that listens for statistics like counters and timers, sent over UDP or TCP, and sends aggregates to one or more pluggable backend services.
Nodejs
MIT
- tcollector - Gathers data from local collectors and pushes the data to OpenTSDB. (Source Code)
LGPL-3.0/GPL-3.0
Python
- Telegraf - Plugin-driven server agent for collecting, processing, aggregating, and writing metrics.
MIT
Go
Network Configuration Management
Network configuration management tools.
- GNS3 - Graphical network simulator that provides a variety of virtual appliances. (Source Code)
GPL-3.0
Python
- OpenWISP - Open Source Network Management System for OpenWRT based routers and access points. (Demo, Source Code)
GPL-3.0
Python
- Oxidized - Network device configuration backup tool.
Apache-2.0
Ruby
- phpIPAM - Open source IP address management with PowerDNS integration. (Source Code)
GPL-3.0
PHP
- RANCID - Monitor network devices configuration and maintain history of changes. (Source Code)
BSD-3-Clause
Perl/Shell
- rConfig - Network device configuration management tool. (Source Code)
GPL-3.0
PHP
Newsletters
Newsletter software.
- DadaMail - Mailing List Manager, written in Perl.
- 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.
- LibreMailer - Libre Mailer is a modest and simple web based email marketing application.
- phpList - Newsletter manager written in PHP.
Packaging
- aptly - Swiss army knife for Debian repository management. (Source Code)
MIT
Go
- 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
Web-based project management and bug tracking systems
Please visit awesome-selfhosted/Project Management
Queuing
- ActiveMQ - Java message broker.
- BeanstalkD - A simple, fast work queue.
- Gearman - Fast multi-language queuing/job processing platform.
- Kafka - Extremely high performance publish/subscribe message system.
- NSQ - A realtime distributed messaging platform.
- RabbitMQ - Robust, fully featured, cross distro queuing system.
- ZeroMQ - Lightweight queuing system.
Remote Management
- Remmina - A Feature rich remote desktop application for linux and other unixes.
- 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.
- X2go - X2Go is an open source remote desktop software for Linux that uses the NX technology protocol.
Router
- DD-WRT - A Linux-based firmware for wireless routers and access points, originally designed for the Linksys WRT54G series. (Source Code)
GPL-2.0
C
- OpenWrt - A Linux-based router featuring Mesh networking, IPS via snort and AQM among many other features. (Source Code)
GPL-2.0
C
- OPNsense - An open source FreeBSD-based firewall and router with traffic shaping, load balancing, and virtual private network capabilities. (Source Code)
BSD-2-Clause
C
PHP
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 K/V-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 Compose - Define and run multi-container Docker applications.
- Docker Swarm - Manage cluster of Docker Engines.
- Docker - Platform for developers and sysadmins to build, ship, and run distributed applications.
- LXC - Userspace interface for the Linux kernel containment features.
- LXD – a container "hypervisor" and a better UX for LXC.
- OpenVZ - Container-based virtualization for Linux.
- Podman - Daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode. Simply put:
alias docker=podman
. (Source Code)Apache-2.0
Go
- Portainer - Simple management UI for Docker.
- systemd-nspawn - Lightweight, chroot-like, environment to run an OS or command directly under systemd. (Source Code)
GPL-2.0
C
Troubleshooting
Troubleshooting Tools.
- grml – bootable Debian Live CD with powerful CLI tools.
- mitmproxy - A 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 - The world's foremost network protocol analyzer.
Version control
Software versioning and revision control.
- Darcs - Patch-based distributed version control (more info: wiki)
- 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.
Virtualization
Virtualization software.
- ConVirt - Provides the core functionality for centrally managing your KVM or Xen virtualized environment.
- Ganeti - Cluster virtual server management software tool built on top of KVM and Xen.
- KVM - Linux kernel virtualization infrastructure.
- OpenNebula - Flexible enterprise cloud made simple.
- OpenNode - Builds open-source infrastructure management software and implements cloud systems.
- oVirt - Manages virtual machines, storage and virtual networks.
- Packer - A tool for creating identical machine images for multiple platforms from a single source configuration.
- Proxmox VE - Virtualization management solution.
- QEMU - QEMU is a generic machine emulator and virtualizer.
- Vagrant - Tool for building complete development environments.
- VirtualBox - Virtualization product from Oracle Corporation.
- XCP-ng - Based on Citrix XenServer, XCP-ng is a fully open source virtualization platform.
- Xen - Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures.
VPN
VPN software.
- Dockovpn - Out-of-the-box stateless dockerized OpenVPN server which starts in less than 2 seconds.
- Firezone - WireGuard based VPN Server and Firewall.
- Headscale - Self-hostable fork of Tailscale, cross-platform clients, simple to use, built-in (currently experimental) monitoring tools.
- Nebula - A scalable p2p VPN with a focus on performance, simplicity and security.
- ocserv - Cisco AnyConnect-compatible VPN server
- OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
- PiVPN - The simplest way to setup and manage a VPN, designed for Raspberry Pi. (Source Code)
MIT
Shell
- Pritunl - OpenVPN based solution. Easy to set up.
- SoftEther - Multi-protocol software VPN with advanced features
- sshuttle - Poor man's VPN.
- strongSwan - Complete IPsec implementation for Linux.
- tinc - Distributed p2p VPN.
- WireGuard - Very fast VPN based on elliptic curve and public key crypto.
Web
Web servers and reverse proxies.
- Algernon - Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support. (Source Code)
BSD-3-Clause
Go
- Apache HTTP Server - Secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. (Source Code)
Apache-2.0
C
- Caddy - Powerful, enterprise-ready, open source web server with automatic HTTPS. (Source Code)
Apache-2.0
Go
- HAProxy - Very fast and reliable reverse-proxy offering high availability, load balancing, and proxying for TCP and HTTP-based applications. (Source Code)
GPL-2.0
C
- Hiawatha - An advanced and secure webserver for Unix. (Source Code)
GPL-2.0
C
- Lighttpd - Secure, fast, compliant, and very flexible web server that has been optimized for high-performance environments. (Source Code)
BSD-3-Clause
C
- Nginx - HTTP and reverse proxy server, mail proxy server, and generic TCP/UDP proxy server. (Source Code)
BSD-2-Clause
C
- Traefik - HTTP reverse proxy and load balancer that makes deploying microservices easy. (Source Code)
MIT
Go/Docker
- Varnish - Web application accelerator/caching HTTP reverse proxy. (Source Code)
BSD-2-Clause
C
List of Licenses
AGPL-3.0
- GNU Affero General Public License 3.0Apache-2.0
- Apache, Version 2.0BSD-2-Clause
- BSD 2-clause "Simplified"BSD-3-Clause
- BSD 3-Clause "New" or "Revised"GPL-2.0
- GNU General Public License 2.0GPL-3.0
- GNU General Public License 3.0MIT
- MIT LicenseMPL-2.0
- Mozilla Public License
External links
Communities / Forums
- ArsTechnica OpenForum – IT Forum which is attached to a large news site.
- Reddit - Really, really large bulletin board system.
- /r/Linux - News and information about Linux.
- /r/LinuxQuestions
- /r/SysAdmin
- Spiceworks Community – General enterprise IT news and small articles.
- StackExchange Network – Q&A communities.
- Server Fault – StackExchange community for system and network administrators.
Repositories
Software package repositories.
- AlternativeTo - Find alternatives to software you know and discover new software.
- deb.sury.org - Repository with LAMP updated packages for Debian and Ubuntu.
- 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
- 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.
- 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 - A surprisingly vast resource for getting the basics of certain applications, tools, or even systems administration topics.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.