diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..a9da93fde --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,31 @@ + + +Thank you for taking the time to work on a PR for Awesome-Sysadmin! + +To ensure your PR is dealt with swiftly please check the following: + +- [ ] Your additions are [Free software](https://en.wikipedia.org/wiki/Free_software) +- [ ] Software your are submitting is not your own, unless you have a healthy ecosystem with a few contributors (which aren't your sock puppet accounts). +- [ ] Submit one item per pull request. This eases reviewing and speeds up inclusion. +- [ ] Format your submission as follows, where `Demo` and `Clients` are optional. + Do not add a duplicate `Source code` link if it is the same as the main link. + Keep the short description under 80 characters and use [sentence case](https://en.wikipedia.org/wiki/Letter_case#Sentence_case) + for it, even if the project's webpage or readme uses another capitalisation. + `Demo` links should only be used for interactive demos, i.e. not video demonstrations. + ``- [Name](http://homepage/) - Short description, under 250 characters, sentence case. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps)) `License` `Language` `` +- [ ] Additions are inserted preserving alphabetical order. +- [ ] Additions are not already listed at [awesome-selfhosted](https://github.com/awesome-foss/awesome-sysadmin) +- [ ] The `Language` tag is the main **server-side** requirement for the software. Don't include frameworks or specific dialects. +- [ ] You have searched the repository for any relevant [issues](https://github.com/awesome-foss/awesome-sysadmin/issues) or [PRs](https://github.com/awesome-foss/awesome-sysadmin/pulls), including closed ones. +- [ ] Any category you are creating has the minimum requirement of 3 items. +- [ ] Any software project you are adding to the list is actively maintained. +- [ ] The pull request title is informative, unlike "Update README.md". + Suggested titles: "Add aaa to bbb" for adding software aaa to section bbb, + "Remove aaa from bbb" for removing, "Fix license for aaa", etc. + + +-------------- + +### Why it is awesome + +Please replace this with a short paragraph explaning why you think this software is awesome. \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..0601bbe75 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: ruby +rvm: + - 2.2 +before_script: + - gem install awesome_bot +script: + - awesome_bot README.md --allow-dupe --allow-redirect --white-list bestpractical.com/rt,mogilefs,harding,archipel,linuxcontainers,spiceworks diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index db4b3d5ff..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,14 +0,0 @@ -# Contribution Guidelines -Please ensure your pull request adheres to the following guidelines: - -* This is an open source compilation, please check that the license of the software is suitable. -* Please search previous suggestions before making a new one, as yours may be a duplicate. -* Please make an individual pull request for each suggestion. -* Use the following format: \[RESOURCE\]\(LINK\) - DESCRIPTION. -* Keep descriptions short and simple. -* End all descriptions with a full stop/period. -* Order projects alphabetically within each category. -* Check your spelling and grammar. -* New categories, or improvements to the existing categorisation are welcome. - -Thank you for your suggestions! diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 000000000..92de3a925 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,104 @@ +## Creative Commons Attribution-ShareAlike 4.0 International Public License + + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. + Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. + Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + Licensor means the individual(s) or entity(ies) granting rights under this Public License. + Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + License grant. + Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + reproduce and Share the Licensed Material, in whole or in part; and + produce, reproduce, and Share Adapted Material. + Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + Term. The term of this Public License is specified in Section 6(a). + Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + Downstream recipients. + Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. + No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + + Other rights. + Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + Patent and trademark rights are not licensed under this Public License. + To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + Attribution. + + If You Share the Licensed Material (including in modified form), You must: + retain the following if it is supplied by the Licensor with the Licensed Material: + identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + a copyright notice; + a notice that refers to this Public License; + a notice that refers to the disclaimer of warranties; + a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + ShareAlike. + + In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. + You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. + You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and + You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + + The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + upon express reinstatement by the Licensor. + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/README.md b/README.md index 4b8f9cb16..bab60fd81 100644 --- a/README.md +++ b/README.md @@ -1,175 +1,308 @@ -# Awesome Sysadmin -A curated list of amazingly awesome open source sysadmin resources inspired by [Awesome PHP](https://github.com/ziadoz/awesome-php) + + +# Awesome Sysadmin [![certified awesome!](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) + +**A curated list of amazingly awesome Free and Open-Source sysadmin resources.** Please read the [Pull Request template](./.github/PULL_REQUEST_TEMPLATE.md) if you wish to add software and consider [donating](https://github.com/n1trux/awesome-donations) to the FLOSS projects you use regularly. * [Awesome Sysadmin](#awesome-sysadmin) + * [Automation](#automation) * [Backups](#backups) + * [Build and software organization tools](#build-and-software-organization-tools) + * [ChatOps](#chatops) + * [Client Management](#client-management) * [Cloning](#cloning) * [Cloud Computing](#cloud-computing) - * [Cloud Storage](#cloud-storage) + * [Cloud Orchestration](#cloud-orchestration) + * Cloud Storage: [see awesome-selfhosted#file-transfersynchronization](https://github.com/Kickball/awesome-selfhosted#file-transfersynchronization) * [Code Review](#code-review) - * [Collaborative Software](#collaborative-software) + * Collaborative Software: [see awesome-selfhosted#groupware](https://github.com/Kickball/awesome-selfhosted#groupware) * [Configuration Management Database](#configuration-management-database) * [Configuration Management](#configuration-management) * [Continuous Integration & Continuous Deployment](#continuous-integration--continuous-deployment) + * [Control Panels](#control-panels) + * [Deployment Automation](#deployment-automation) + * [Diagramming](#diagramming) * [Distributed Filesystems](#distributed-filesystems) * [DNS](#dns) - * [Hosting Control Panels](#hosting-control-panels) - * [IMAP/POP3](#imappop3) + * [Domains](#domains) + * [Editors](#editors) + * [Identity Management](#identity-management) * [IT Asset Management](#it-asset-management) - * [LDAP](#ldap) * [Log Management](#log-management) + * [Mail Clients](#mail-clients) + * Mail servers/webmail: [see awesome-selfhosted#email](https://github.com/kickball/awesome-selfhosted#email) * [Monitoring](#monitoring) * [Metric & Metric Collection](#metric--metric-collection) * [Network Configuration Management](#network-configuration-management) * [Newsletter](#newsletters) * [NoSQL](#nosql) * [Packaging](#packaging) + * [Project Management](#project-management) * [Queuing](#queuing) * [RDBMS](#rdbms) - * [Security](#security) + * [Remote Management](#remote-management) + * Security: [see awesome-security](https://github.com/sbilly/awesome-security) * [Service Discovery](#service-discovery) - * [SMTP](#smtp) * [Software Containers](#software-containers) - * [SSH](#ssh) - * [Statistics](#statistics) - * [Ticketing systems](#ticketing-systems) + * SSH: [see awesome-ssh](https://github.com/moul/awesome-ssh) + * Statistics: [see awesome-selfhosted#analytics](https://github.com/Kickball/awesome-selfhosted#analytics) + * [Status Pages](#status-pages) + * Ticketing systems: [see awesome-selfhosted#ticketing](https://github.com/Kickball/awesome-selfhosted#ticketing) * [Troubleshooting](#troubleshooting) - * [Project Management](#project-management) * [Version control](#version-control) * [Virtualization](#virtualization) * [VPN](#vpn) - * [XMPP](#xmpp) + * XMPP: [see awesome-selfhosted#xmpp](https://github.com/Kickball/awesome-selfhosted#xmpp) * [Web](#web) - * [Webmails](#webmails) - * [Wikis](#wikis) + * Wiki Software: [see awesome-selfhosted#wikis](https://github.com/Kickball/awesome-selfhosted#wikis), Sysadmin Wikis: [see #wikis](#wikis) * [Resources](#resources) * [Blogs](#blogs) * [Books](#books) - * [Editors](#editors) + * [Communities/Forums](#communities--forums) * [Newsletters](#newsletters) * [Repositories](#repositories) * [Websites](#websites) -* [Contributing](#contributing) + * [Wikis](#wikis) + +## Automation + +*Automation build.* + +* [Apache Ant](https://ant.apache.org/) - Automation build tool, similar to make, written in Java. +* [Apache Maven](http://maven.apache.org/) - Build automation tool mainly for Java. +* [Bazel](http://www.bazel.io/) - Google's build system. +* [GNU Make](http://www.gnu.org/software/make/) - The most popular automation build tool for many purposes. +* [Gradle](http://gradle.org/) - Another build automation system. +* [Rake](https://github.com/ruby/rake) - Build automation tool similar to Make, written in and extensible in Ruby. +* [Bolt](https://puppet.com/products/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. ## Backups -*Backup software.* + +*Backup software.* Also see [Restic's list of Linux backup software](https://github.com/restic/others). * [Amanda](http://www.amanda.org/) - Client-server model backup tool. -* [Bacula](http://www.bacula.org) - Another Client-server model backup tool. -* [Backupninja](https://labs.riseup.net/code/projects/backupninja) - Lightweight, extensible meta-backup system. -* [Backuppc](http://backuppc.sourceforge.net/) - Client-server model backup tool with file pooling scheme. +* [Bareos](http://www.bareos.org/en/) - A fork of Bacula backup tool. +* [BackupPC](https://backuppc.github.io/backuppc/) - BackupPC is a high-performance system for backing up to disk. +* [Backupninja](https://0xacab.org/liberate/backupninja) - Lightweight, extensible meta-backup system. +* [Barman](http://www.pgbarman.org) - Backup and Recovery Manager for disaster recovery of PostgreSQL servers. +* [BorgBackup](https://github.com/borgbackup/borg) - A fork of [Attic](https://attic-backup.org) deduplicating backup program written in Python. * [Burp](http://burp.grke.org/) - Network backup and restore program. +* [Duplicati](http://www.duplicati.com) - Multiple backends, encryption, web-ui and multi-OS backup tool. * [Duplicity](http://duplicity.nongnu.org/) - Encrypted bandwidth-efficient backup using the rsync algorithm. -* [Lsyncd](https://github.com/axkibe/lsyncd) - Watches a local directory trees for changes, and then spawns a process to synchronize the changes. Uses rsync by default. -* [Rsnapshot](http://www.rsnapshot.org/) - Filesystem Snapshotting Utility. -* [SafeKeep](http://safekeep.sourceforge.net/) - Centralized pull-based backup using `rdiff-backup`. -* [TarSnap](https://www.tarsnap.com/) - Secure backup service with an open-source client. +* [Elkarbackup](https://github.com/elkarbackup/elkarbackup) - Backup solution based on RSnapshot with a simple web interface +* [Kopia] (https://github.com/kopia/kopia) - Kopia is a fast and secure open-source backup/restore tool that allows you to create encrypted snapshots of your data. +* [rclone](https://rclone.org/) - a command line program to sync files and directories to and from several cloud storage systems/providers. +* [Rdiff-backup](http://www.nongnu.org/rdiff-backup/) - An easy A remote incremental backup of all your files. +* [Restic](https://restic.net/) - Secure, remote backup tool. Designed to be easy, fast, verifiable and efficient. +* [Rsnapshot](http://rsnapshot.org/) - Filesystem Snapshotting Utility. +* [Shield](https://github.com/starkandwayne/shield) - A pluggable architecture for backup and restore of database systems. +* [Snebu](http://www.snebu.com/) – Snapshot backup with global multi-client deduplication and transparent compression. * [UrBackup](http://www.urbackup.org/) - Another client-server backup system. * [DREBS](https://github.com/dojo4/drebs) - AWS EBS backup script that supports strategies. +* [ZBackup](http://zbackup.org/) - A versatile deduplicating backup tool. + +## Build and software organization tools + +*Build and software organization tools.* + +* [EasyBuild](https://easybuild.readthedocs.org/en/latest/) - EasyBuild builds software and modulefiles for High Performance Computing (HPC) systems in an efficient way. +* [environment-modules Lmod](https://www.tacc.utexas.edu/research-development/tacc-projects/lmod) - Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. +* [HPCBIOS](http://hpcbios.readthedocs.org/en/latest/) - HPCBIOS is an effort to setup a common, well-documented and reproducible, environment spanning across multiple HPC systems & sites, *inclusive* of documentation. +* [Spack](https://spack.io/) - 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.* + +* [CloudBot](https://github.com/CloudBotIRC/CloudBot) - The simple, fast, expandable Python IRC bot. +* [Eggdrop](http://www.eggheads.org/) - the world's most popular IRC bot, designed for flexibility and ease of use, and is freely distributable under the GNU GPL. +* [Err](http://errbot.io/) - a plugin based chatbot designed to be easily deployable, extensible and maintainable. +* [Hubot](https://hubot.github.com/) - A customizable, life embetterment robot. +* [Lazlo](https://github.com/djosephsen/lazlo) - A chatops automation framework in Go. +* [Lita](https://www.lita.io/) - A robot companion for your company's chat room. +* [Abot](https://github.com/itsabot/abot) - A digital assistant framework in Go. + +## Client management + +Managing software on desktop computers. + +_See also: [IT Asset Management](#it-asset-management)_ + +* [Chocolatey](https://chocolatey.org/) – Windows CLI package manager written in .NET/PS, based on [NuGet](https://www.nuget.org/). +* [just-install](https://just-install.github.io/) – Python script for downloading and silently installing MSI files. +* [OCS Inventory NG](https://ocsinventory-ng.org/?lang=en) - Inventory, deployment and network scan. +* [WAPT](https://dev.tranquil.it/wiki/WAPT_-_apt-get_pour_Windows/en) - Network-wide (un)installation, configuration and upgrades of Windows based software. +* [WPKG](http://wpkg.org/) - Software deployment, upgrade and removal program for Windows. ## Cloning + *Cloning software.* * [Clonezilla](http://clonezilla.org/) - Partition and disk imaging/cloning program. -* [Fog](http://www.fogproject.org/) - Another computer cloning solution. -* [Redo Backup](http://redobackup.org/) - Easy Backup, Recovery and Restore. +* [Fog](https://www.fogproject.org/) - Another computer cloning solution. ## Cloud Computing -* [AppScale](http:/github.com/AppScale/appscale) - Open source cloud software with Google App Engine compatibility. +* [AppScale](https://github.com/AppScale/appscale) - Cloud software with Google App Engine compatibility. * [Archipel](http://archipelproject.org/) - Manage and supervise virtual machines using Libvirt. * [CloudStack](http://cloudstack.apache.org/) - Cloud computing software for creating, managing, and deploying infrastructure cloud services. -* [Cobbler](http://www.cobblerd.org/) - Cobbler is a Linux installation server that allows for rapid setup of network installation environments. -* [Eucalyptus](https://www.eucalyptus.com/) - Open source private cloud software with AWS compatibility. +* [Cobbler](http://cobbler.github.io/) - Cobbler is a Linux installation server that allows for rapid setup of network installation environments. +* [Cracow Cloud One - Polish Private Cloud](http://cc1.ifj.edu.pl/) - The CC1 system provides a complete solution for Private Cloud Computing. +* [Eucalyptus](https://www.eucalyptus.cloud/) - Private cloud software with AWS compatibility. * [Mesos](http://mesos.apache.org/) - Develop and run resource-efficient distributed systems. -* [OpenNebula](http://opennebula.org/) - An user-driven cloud management platform for sysadmins and devops. -* [OpenStack](https://www.openstack.org/) - Open source software for building private and public clouds. -* [The Foreman](http://theforeman.org/) - Foreman is a complete lifecycle management tool for physical and virtual servers. FOSS. +* [OpenNebula](http://opennebula.org/) - User-driven cloud management platform for sysadmins and devops. +* [Openshift](http://www.openshift.org) - PaaS product from Red Hat. +* [OpenStack](https://www.openstack.org/) - Build private and public clouds. +* [The Foreman](http://theforeman.org/) - Complete lifecycle management tool for physical and virtual servers. FOSS. +* [Tsuru](https://tsuru.io) - Tsuru is an extensible Platform as a Service software. ## Cloud Orchestration -* [BOSH](http://docs.cloudfoundry.org/bosh/) - IaaS orchestration platform originally written for deploying and managing Cloud Foundry PaaS, but also useful for general purpose distributed systems. -* [Cloudify](http://www.getcloudify.org/) - Open source TOSCA-based cloud orchestration software platform written in Python and YAML. -* [Juju](https://juju.ubuntu.com/) - Cloud orechestration tool which manages services as charms, YAML configuration and deployment script bundles. -* [MCollective](http://puppetlabs.com/mcollective) - Ruby framework to manage server orchestration, developed by Puppet labs. +* [BOSH](http://bosh.io/docs/) - IaaS orchestration platform originally written for deploying and managing Cloud Foundry PaaS, but also useful for general purpose distributed systems. +* [Cloud Foundry](https://www.cloudfoundry.org/) - A Platform-as-a-Service suite to provide the orchestration services that make distributed apps a powerhouse of awesomeness. +* [Cloudify](http://getcloudify.org/) - TOSCA-based cloud orchestration software platform written in Python and YAML. +* [CloudSlang](http://www.cloudslang.io/) - Flow-based orchestration tool for managing deployed applications, with Docker capabilities. +* [Genesis](https://github.com/starkandwayne/genesis) - A template framework for multi-environment BOSH deployments. +* [Juju](https://jujucharms.com/) - Cloud orchestration tool which manages services as charms, YAML configuration and deployment script bundles. +* [Kubernetes](http://kubernetes.io/) - Orchestration system for Docker containers - ([Source Code](https://github.com/kubernetes/kubernetes), [Documentation](http://kubernetes.io/docs/)) `Apache` `Go` +* [MCollective](https://puppet.com/mcollective) - Ruby framework to manage server orchestration, developed by Puppet labs. +* [Nomad](https://www.nomadproject.io) - Simple and flexible orchestrator for Docker, Podman, executables, Java, and QEMU - ([Source Code](https://github.com/hashicorp/nomad), [Documentation](https://www.nomadproject.io/docs)) `MPL-2.0` `Go` * [Overcast](http://andrewchilds.github.io/overcast/) - Deploy VMs across different cloud providers, and run commands and scripts across any or all of them in parallel via SSH. * [Rundeck](http://rundeck.org/) - Simple orchestration tool. -* [Salt](http://www.saltstack.com/) - It's written in Python. +* [Salt](http://saltstack.com/) - Fast, scalable and flexible systems management software written in Python/ZeroMQ. +* [Spruce](https://github.com/geofffranks/spruce) - A tool that merges separate YAML files into one. Works well with [Genesis](https://github.com/starkandwayne/genesis). +* [StackStorm](https://stackstorm.com/) - Event Driven Operations and ChatOps platform for infrastructure management. Written in Python. +* [Terraform](https://www.terraform.io/) - Terraform works with many cloud providers and creates infrastructure from code. -## Cloud Storage - -* [git-annex assistant](http://git-annex.branchable.com/assistant/) - A synchronised folder on each of your OSX and Linux computers, Android devices, removable drives, NAS appliances, and cloud services. -* [ownCloud](https://owncloud.org) - Provides universal access to your files via the web, your computer or your mobile devices. -* [Seafile](http://seafile.com) - Another Open Source Cloud Storage solution. -* [SparkleShare](http://sparkleshare.org/) - Provides cloud storage and file synchronization services. By default, it uses Git as a storage backend. -* [Swift](http://docs.openstack.org/developer/swift/) - A highly available, distributed, eventually consistent object/blob store. -* [Syncthing](http://syncthing.net/) - Open Source system for private, encrypted and authenticated distrobution of data. ## Code Review -*Web Based collaborative code review system.* -* [Gerrit](https://code.google.com/p/gerrit/) - Based on the Git version control, it facilitates software developers to review modifications to the source code and approve or reject those changes. -* [Review Board](https://www.reviewboard.org/) - Available as free software uner the MIT License. +*Web Based collaborative code review system.* -## Collaborative Software -*Collaborative software or groupware suites.* +* [Gerrit](https://www.gerritcodereview.com/) - Based on the Git version control, it facilitates software developers to review modifications to the source code and approve or reject those changes. +* [Phabricator](http://phabricator.org/) - 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](https://www.reviewboard.org/) - Available as free software under the MIT License. -* [Citadel/UX](http://www.citadel.org/) - Collaboration suite (messaging and groupware) that is descended from the Citadel family of programs. -* [EGroupware](http://www.egroupware.org/) - Groupware software written in PHP. -* [Horde Groupware](http://www.horde.org/apps/groupware) - PHP based collaborative software suite that includes email, calendars, wikis, time tracking and file management. -* [Kolab](https://www.kolab.org) - Another groupware suite. -* [SOGo](https://www.sogo.nu/) - Collaborative software server with a focus on simplicity and scalability. -* [Zimbra](https://www.zimbra.com/community/) - Collaborative software suite, that includes an email server and web client. ## Configuration Management Database -*Configuration management database (CMDB) software.* -* [i-doit](http://www.i-doit.org/) - Open Source IT Documentation and CMDB. -* [iTop](http://www.combodo.com/-Overview-.html) - A complete open source, ITIL, web based service management tool. -* [Ralph](https://github.com/allegro/ralph) - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks. +Configuration management database (CMDB) software. + +_See also: [IT Asset Management]([Ralph](#it-asset-management))_ + +* [i-doit](http://www.i-doit.org/) - IT Documentation and CMDB. +* [iTop](http://www.combodo.com/itop-193) - Complete ITIL web based service management tool. * [Clusto](https://github.com/clusto/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](http://tumblr.github.io/collins/) - At Tumblr, it's the infrastructure source of truth and knowledge. +* [netbox](https://github.com/digitalocean/netbox) - IP address management (IPAM) and data center infrastructure management (DCIM) tool ## Configuration Management + *Configuration management tools.* -* [Ansible](http://www.ansibleworks.com/) - It's written in Python and manages the nodes over SSH. -* [CFEngine](http://cfengine.com/) - Lightweight agent system. Configuration state is specified via a declarative language. -* [Chef](http://www.opscode.com/chef/) - It's written in Ruby and Erlang and uses a pure-Ruby DSL. -* [Fabric](http://www.fabfile.org/) - Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks. +* [Ansible](http://www.ansible.com/) - It's written in Python and manages the nodes over SSH. +* [CFEngine](https://cfengine.com/) - Lightweight agent system. Configuration state is specified via a declarative language. +* [Chef](https://www.chef.io/chef/) - It's written in Ruby and Erlang and uses a pure-Ruby DSL. * [Pallet](http://palletops.com/) - Infrastructure definition, configuration and management via a Clojure DSL. -* [Puppet](http://puppetlabs.com/) - It's written in Ruby and uses Puppet's declarative language or a Ruby DSL. -* [Salt](http://www.saltstack.com/) - It's written in Python. -* [Slaughter](http://steve.org.uk/Software/slaughter/) - It's written in Perl. +* [Puppet](https://puppet.com/) - It's written in Ruby and uses Puppet's declarative language or a Ruby DSL. +* [Salt](http://saltstack.com/) - It's written in Python. ## Continuous Integration & Continuous Deployment + *Continuous integration/deployment software.* -* [Buildbot](http://buildbot.net/) - Python-based toolkit for continuous integration. -* [Drone](https://github.com/drone/drone) - Continuous integration server built on Docker and configured using YAML files. -* [GitLab CI](https://www.gitlab.com/gitlab-ci/) - Based off of ruby. They also provide GitLab, which manages git repositories. -* [Go](http://www.go.cd/) - Open source continuous delivery server. -* [Jenkins](http://jenkins-ci.org/) - An extendable open source continuous integration server. -* [Vlad the Deployer](http://rubyhitsquad.com/Vlad_the_Deployer.html) - Deployment automation. +- [Buildbot](http://buildbot.net/) - Python-based toolkit for continuous integration. ([Source Code](https://github.com/buildbot/buildbot)) `GPL-2.0` `Python` +- [CapsuleCD](https://analogj.github.io/capsulecd-slides/) - CD script for automating package/library releases (npm, cookbooks, gems, pip, jars, etc). ([Source Code](https://github.com/AnalogJ/capsulecd)) `MIT` `Go` +- [CDS](https://ovh.github.io/cds/) - Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform ([Source Code](https://github.com/ovh/cds)) `BSD-3-Clause` `Go` +- [Concourse](https://concourse-ci.org/) - Concourse is a CI tool that treats pipelines as first class objects and containerizes every step along the way. ([Demo](https://ci.concourse-ci.org/), [Source Code](https://github.com/concourse/concourse)) `Apache-2.0` `Go` +- [drone](https://drone.io/) - Drone is a Continuous Delivery platform built on Docker, written in Go. ([Source Code](https://github.com/drone/drone)) `Apache-2.0` `Go` +- [Factor](http://www.factor.io/) - Programmatically define and run workflows to connect configuration management, source code management, build, continuous integration, continuous deployment and communication tools. ([Source Code](https://github.com/factor-io/factor)) `MIT` `Ruby` +- [GitLab CI](https://about.gitlab.com/gitlab-ci/) - Gitlab's built-in, full-featured CI/CD solution. ([Source Code](https://gitlab.com/gitlab-org/gitlab-ce) `MIT` `Ruby` +- [GoCD](http://www.go.cd/) - Continuous delivery server. ([Source Code](https://github.com/gocd/gocd)) `Apache-2.0` `Java/Ruby` +- [GolangCI](https://golangci.com/) - Open Source automated code review service for Go integrated with GitHub pull requests. ([Source Code](https://github.com/golangci/golangci)) `AGPL-3.0` `Go` +- [Jenkins](https://jenkins-ci.org/) - Continuous Integration Server. ([Source Code](https://github.com/jenkinsci/jenkins/)) `MIT` `Java` +- [Laminar](http://laminar.ohwg.net) - Fast, lightweight, simple and flexible Continuous Integration. ([Source Code](https://github.com/ohwgiles/laminar)) `GPL-3.0` `C++` +- [PHP Censor](https://github.com/php-censor/php-censor) - Open source self-hosted continuous integration server for PHP projects. `BSD-2-Clause` `PHP` +- [PHPCI](https://www.phptesting.org/) - Free and open source continuous integration specifically designed for PHP. ([Source Code](https://github.com/block8/phpci)) `BSD-2-Clause` `PHP` +- [Strider](http://strider-cd.github.io/) - Open Source Continuous Deployment / Continuous Integration platform. ([Source Code](https://github.com/Strider-CD/strider)) `MIT` `Nodejs` +- [werf](https://werf.io/) - Open Source CI/CD tool for building Docker images and deploying to Kubernetes via GitOps. ([Source Code](https://github.com/werf/werf)) `Apache-2.0` `Go` + + +## Control Panels + +*Web hosting and server or service control panels.* + +* Web hosting + * [Froxlor](https://froxlor.org/) - Easy to use panel for Linux with Nginx and PHP-FPM support. + * [ISPConfig](http://www.ispconfig.org) - Hosting control panel for Linux. + * [Sentora](http://sentora.org/) - Control panel for Linux, BSD, and Windows based on ZPanel. + * [VestaCP](http://vestacp.com/) - Hosting panel for Linux but with Nginx. + * [Virtualmin](http://www.virtualmin.com/) - Hosting panel for Linux based on webmin. +* DNS + * [Atomia DNS](http://atomiadns.com/) - DNS management system. + * [nsedit](https://github.com/tuxis-ie/nsedit) - nsedit is a DNS editor for PowerDNS, working with PowerDNS's new API. + * [PDNS Gui](https://github.com/odoucet/pdns-gui) - WebGUI which aids in administering domains and records for PowerDNS with MySQL. + * [Pi-hole](https://pi-hole.net/) - A blackhole for Internet Advertisements with a gui for managing and monitoring + * [Poweradmin](http://www.poweradmin.org/) - Friendly web-based DNS administration tool for PowerDNS server. +* Revision Control: see [awesome-selfhosted#project-management](https://github.com/awesome-selfhosted/awesome-selfhosted#project-management) +* Virtualization + * [OpenVZ Web Panel](https://github.com/sibprogrammer/owp) - Web panel to control OpenVZ virtual machines. +* Server + * [Ajenti](http://ajenti.org/) - Control panel for Linux and BSD. + * [Cockpit](http://cockpit-project.org/) - New multi-server web interface for Linux servers written in C. + * [Webmin](http://www.webmin.com/) - Linux server control panel. + +## Deployment Automation + +*Tools and scripts to support deployments to your servers.* + +* [Capistrano](http://capistranorb.com/) - Deploy your application to any number of machines simultaneously, in sequence or as a rolling set via SSH (rake based). +* [Fabric](http://www.fabfile.org/) - Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks. +* [Mina](http://nadarei.co/mina/) - Really fast deployer and server automation tool (rake based). +* [munki](https://www.munki.org/munki/) - Webserver-based repository of packages and package metadata, that allows macOS administrators to manage software installs. +* [Rocketeer](http://rocketeer.autopergamene.eu/) - PHP task runner and deployment tool. +* [sup](https://github.com/pressly/sup/) - Super simple deployment tool - just Unix - think of it like 'make' for a network of servers. +* [Vlad the Deployer](https://github.com/seattlerb/vlad) - Deployment automation (rake based). + +## Diagramming + +*Tools used to create diagrams of networks, flows, etc.* + +* [DrawThe.Net](http://go.drawthe.net/) - Javascript tool that uses a YAML-formatted input to programmatically create large, complex, and visually solid diagrams. +* [Mermaid](https://mermaid-js.github.io/mermaid-live-editor/) - Javascript module with a unique, easy, shorthand syntax. Integrates into several other tools like Grafana. +* [Diagrams.net](https://app.diagrams.net/) - A.K.A. [Draw.io](https://app.diagrams.net/). Easy to use Diagram UI with a plethora of templates. ## Distributed Filesystems + *Network distributed filesystems.* * [Ceph](http://ceph.com/) - Distributed object store and file system. -* [DRBD](http://www.drbd.org/) - Disributed Replicated Block Device. +* [DRBD](http://drbd.linbit.com/) - Distributed Replicated Block Device. * [LeoFS](http://leo-project.net) - Unstructured object/data storage and a highly available, distributed, eventually consistent storage system. * [GlusterFS](http://www.gluster.org/) - Scale-out network-attached storage file system. +* [Go IPFS](https://github.com/ipfs/go-ipfs) - Implementation of [IPFS](http://ipfs.io/), a global, versioned, peer-to-peer filesystem that seeks to connect all computing devices with the same system of files. * [HDFS](http://hadoop.apache.org/) - Distributed, scalable, and portable file-system written in Java for the Hadoop framework. -* [Lustre](http://lustre.opensfs.org/) - A type of parallel distributed file system, generally used for large-scale cluster computing. +* [Lustre](http://lustre.org/) - Parallel distributed file system, generally used for large-scale cluster computing. +* [Minio](https://minio.io/) - Minio is an open source object storage server compatible with Amazon S3 APIs. ([Source Code](https://github.com/minio/minio)) `Apache-2.0` `Go` * [MooseFS](http://www.moosefs.org/) - Fault tolerant, network distributed file system. -* [MogileFS](http://mogilefs.org/) - Application level, network distributed file system. * [OpenAFS](http://www.openafs.org/) - Distributed network file system with read-only replicas and multi-OS support. +* [Ori Filesystem](http://ori.scs.stanford.edu/) - A Secure Distributed File System built for offline operation. +* [Perkeep](https://perkeep.org/) (née Camlistore) - A set of open source formats, protocols, and software for modeling, storing, searching, sharing and synchronizing data. +* [Swift](http://docs.openstack.org/developer/swift/) - A highly available, distributed, eventually consistent object/blob store. +* [SheepDog](https://sheepdog.github.io/sheepdog/) - A distributed Blockdevice, Rest, QEMU and distributed Filesystem storage. * [TahoeLAFS](https://tahoe-lafs.org/trac/tahoe-lafs) - secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system. * [XtreemFS](http://www.xtreemfs.org/) - XtreemFS is a fault-tolerant distributed file system for all storage needs. ## DNS + *DNS servers.* * [Bind](https://www.isc.org/downloads/bind/) - The most widely used name server software. +* [CoreDNS](https://coredns.io/) - Flexible DNS server written on Go. * [djbdns](http://cr.yp.to/djbdns.html) - A collection of DNS applications, including tinydns. * [Designate](https://wiki.openstack.org/wiki/Designate) - DNS REST API that support several DNS servers as its backend. * [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) - A lightweight service providing DNS, DHCP and TFTP services to small-scale networks. @@ -177,112 +310,211 @@ A curated list of amazingly awesome open source sysadmin resources inspired by [ * [NSD](http://www.nlnetlabs.nl/projects/nsd/) - Authoritative only, high performance, simple name server. * [PowerDNS](https://www.powerdns.com/) - DNS server with a variety of data storage back-ends and load balancing features. * [Unbound](http://unbound.net/) - Validating, recursive, and caching DNS resolver. -* [Yadifa](http://yadifa.eu/) - Lightweight authoritative Name Server with DNSSEC capabilities powering the .eu top-level domain. +* [Yadifa](http://www.yadifa.eu/) - Lightweight authoritative Name Server with DNSSEC capabilities powering the .eu top-level domain. -## Hosting Control Panels -*Web hosting control panels* +## Domains -* [Ajenti](http://ajenti.org/) - Control panel for Linux and BSD. -* [Feathur](http://feathur.com) - VPS Provisioning and Management Software. -* [ISPConfig](http://www.ispconfig.org) - Hosting control panel for Linux. -* [VestaCP](http://www.vestacp.com/) - Hosting panel for Linux but with Nginx. -* [Virtualmin](http://www.virtualmin.com/) - Control panel for Linux based on webmin. -* [ZPanel](http://www.zpanelcp.com/) - Control panel for Linux, BSD, and Windows. +*Domain management.* -## IMAP/POP3 -*IMAP/POP3 mail servers.* +* [DnsControl](https://stackexchange.github.io/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](https://domainmod.org) - Manage your domains and other internet assets in a central location. +* [octoDNS](https://github.com/github/octodns) - Set of tools and patterns that make it easy to manage your DNS records across multiple providers. -* [Courier IMAP/POP3](http://www.courier-mta.org/imap/) - Fast, scalable, enterprise IMAP and POP3 server. -* [Cyrus IMAP/POP3](http://cyrusimap.org/) - Intended to be run on sealed servers, where normal users are not permitted to log in. -* [Dovecot](http://www.dovecot.org/) - IMAP and POP3 server written primarily with security in mind. -* [Qpopper](http://www.eudora.com/products/unsupported/qpopper/) - One of the oldest and most popular server implementations of POP3. +## Editors -## IT Asset Management -*IT Assets Management software.* +*Open source code editors.* + +* [Atom Community](https://github.com/atom-community/atom) - A fork of [atom](https://github.com/atom/atom) A hackable text editor from Github. +* [Brackets](http://brackets.io/) - Code editor for web designers and front-end developers. +* [Eclipse](http://www.eclipse.org/) - IDE written in Java with an extensible plug-in system. +* [Geany](http://www.geany.org/) - GTK2 text editor. +* [GNU Emacs](http://www.gnu.org/software/emacs/) - An extensible, customizable text editor-and more. +* [Haroopad](http://pad.haroopress.com/) - Markdown editor with live preview. +* [ICEcoder](https://icecoder.net/) - Code editor awesomeness, built with common web languages. +* [jotgit](https://github.com/jdleesmiller/jotgit) - Git-backed real-time collaborative code editing. +* [KDevelop](https://www.kdevelop.org/) - IDE by the people behind KDE. +* [Light Table](http://lighttable.com/) - The next generation code editor. +* [Micro](https://micro-editor.github.io/) - A modern and intuitive terminal-based text editor +* [Notepad++](https://notepad-plus-plus.org/) - GPLv2 multi-language editor with syntax highlighting for Windows. +* [TextMate](https://github.com/textmate/textmate/) - A graphical text editor for OS X. +* [Vim](http://www.vim.org) - A highly configurable text editor built to enable efficient editing. +* [VSCodium](https://github.com/VSCodium/vscodium) - An open source cross-platform extensible code editor based on [VS Code by Microsoft](https://code.visualstudio.com/) removing their non-free additions. +* [Nano](http://nano-editor.org) - Easy to use, customizable text editor. -* [GLPI](http://www.glpi-project.org/spip.php?lang=en) - Information Resource-Manager with an additional Administration Interface. -* [OCS Inventory NG](http://www.ocsinventory-ng.org/en/) - Enables users to inventory their IT assets. -* [RackTables](http://racktables.org/) - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration. -* [Ralph](https://github.com/allegro/ralph) - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks. -* [Snipe IT](http://snipeitapp.com/) - Asset & license management software. +## Identity Management -## LDAP -*LDAP servers.* +*LDAP servers and other tools to manage accounts and identities.* -* [389 Directory Server](http://port389.org) - Developed by Red Hat. +### LDAP + +* [389 Directory Server](http://www.port389.org/) - Developed by Red Hat. * [Apache Directory Server](http://directory.apache.org/) - Apache Software Foundation project written in Java. -* [Fusion Directory](http://www.fusiondirectory.org) - Improve the Management of the services and the company directory based on OpenLDAP. +* [FreeRADIUS](http://freeradius.org/) - High performance and highly configurable multi-protocol policy/authentication server, supporting RADIUS, DHCPv4 and VMPS. * [OpenDJ](http://opendj.forgerock.org/) - Fork of OpenDS. * [OpenDS](https://opends.java.net/) - Another directory server written in Java. -* [OpenLDAP](http://openldap.org/) - Developed by the OpenLDAP Project. +* [OpenLDAP](http://www.OpenLDAP.org/) - Developed by the OpenLDAP Project. +* [FreeIPA](http://www.freeipa.org/) - Based on 389-DS. Includes Kerberos, DNS, as well as host based access control. + +### Tools and web interfaces + +* [Fusion Directory](https://www.fusiondirectory.org) - Improve the Management of the services and the company directory based on OpenLDAP. +* [Indieauth](https://indieauth.com/) - Sign in with your domain name (using the rel-me-auth protocol). +* [Libravatar](https://www.libravatar.org/) - Libravatar is a service which delivers your avatar (profile picture) to other websites. +* [LDAP Account Manager (LAM)](https://www.ldap-account-manager.org/lamcms/) - Web frontend for managing entries (e.g. users, groups, DHCP settings) stored in an LDAP directory. +* [OpenID Connect](http://openid.net/developers/libraries/) - A Simple Identity layer on top of OAuth 2.0. +* [OSIAM](http://osiam.github.io/) - Secure identity management solution providing REST based services for authentication and authorization. +* [Pomerium](https://www.pomerium.io/) - An identity and context aware access-proxy inspired by BeyondCorp. +* [Samba](https://www.samba.org/) – Active Directory and CIFS protocol implementation. +* [BounCA](https://bounca.org/) - A personal SSL Key / Certificate Authority web-based tool for creating self-signed certificates. +* [easy-rsa](https://github.com/OpenVPN/easy-rsa) - bash script to build and manage a PKI CA. +* [Smallstep Certificates](https://smallstep.com/certificates/) - A private certificate authority (X.509 & SSH) and related tools for secure automated certificate management. +* [ZITADEL](https://github.com/caos/zitadel) - Cloud-native Identity & Access Management solution providing a platform for secure authentication, authorization and identity management. + +### Single Sign-On (SSO) + +- [KeyCloak](https://www.keycloak.org) - Open Source Identity and Access Management ([Source Code](https://github.com/keycloak/keycloak)) `Apache-2.0` `Java` + +## IT Asset Management + +*IT Assets Management software.* + +* [GLPI](https://www.glpi-project.org/) - Information Resource-Manager with an additional Administration Interface. +* [OCS Inventory NG](https://ocsinventory-ng.org/) - Asset management and deployment solution for all devices in your IT Department. ([Source Code](https://github.com/OCSInventory-NG)) `GPL-2.0` `PHP/Perl` +* [OPSI](http://www.opsi.org) - Hardware and software inventory, client management, deployment, and patching for Linux and Windows. ([Source Code](https://github.com/opsi-org/)) `GPL-3.0/AGPL-3.0` `OVF/Python` +* [RackTables](http://racktables.org/) - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration. ([Source Code](https://github.com/RackTables/racktables), [Demo](https://www.racktables.org/demo.php)) `GPL-2.0` `PHP` +* [Ralph](https://ralph.allegro.tech/) - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks. ([Source Code](https://github.com/allegro/ralph), [Demo](https://github.com/allegro/ralph#live-demo)) `Apache-2.0` `Python/Docker` +* [Snipe IT](https://snipeitapp.com/) - Asset & license management software. ([Source Code](https://github.com/snipe/snipe-it)) `AGPL-3.0` `PHP` ## Log Management + *Log management tools: collect, parse, visualize ...* -* [Elasticsearch](http://www.elasticsearch.org/) - A Lucene Based Document store mainly used for log indexing, storage and analysis. +* [Elasticsearch](https://www.elastic.co/) - A Lucene Based Document store mainly used for log indexing, storage and analysis. * [Fluentd](http://www.fluentd.org/) - Log Collector and Shipper. * [Flume](https://flume.apache.org/) - Distributed log collection and aggregation system. -* [Graylog2](http://graylog2.org/) - Pluggable Log and Event Analysis Server with Alerting options. -* [Heka](http://hekad.readthedocs.org/en/latest/) - Stream processing system which may be used for log aggregation. -* [Kibana](http://www.elasticsearch.org/overview/kibana/) - Visualize logs and time-stamped data. -* [Logstash](http://logstash.net/) - Tool for managing events and logs. +* [GoAccess](http://goaccess.io/) - Real-time web log analyzer and interactive viewer that runs in a terminal or through the browser. ([Source Code](https://github.com/allinurl/goaccess)) `MIT` `C` +* [Graylog](https://www.graylog.org/) - Pluggable Log and Event Analysis Server with Alerting options. +* [Hindsight](http://mozilla-services.github.io/hindsight/) - Stream processing system which may be used for log aggregation (Replaces Heka). +* [Kibana](https://www.elastic.co/products/kibana) - Visualize logs and time-stamped data. +* [Logstash](https://www.elastic.co/products/logstash) - Tool for managing events and logs. +* [Loki](https://grafana.com/oss/loki/) - horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. * [Octopussy](http://www.octopussy.pm) - Log Management Solution (Visualize / Alert / Report). +## Mail Clients + +* [Claws Mail](http://www.claws-mail.org/) - Old school email client (and news reader), based on GTK+. +* [ImapSync](http://imapsync.lamiral.info/) – Simple IMAP migration tool for copying mailboxes to other servers. +* [Mutt](http://www.mutt.org/) - Small but very powerful text-based mail client. +* [Nylas Mail](https://www.nylas.com/nylas-mail/) - Extensible mail client. +* [Sylpheed](http://sylpheed.sraoss.jp/en/) – Still developed predecessor to Claws Mail, lightweight mail client. +* [Thunderbird](https://www.mozilla.org/de/thunderbird/) - Free email application that's easy to set up and customize. + ## Monitoring + *Monitoring software.* +* [Adagios](http://adagios.org/) - Web based Nagios interface for configuration and monitoring (replacement to the standard interface), and a REST interface, [SourceCode](https://github.com/opinkerfi/adagios), [Documentation](https://github.com/opinkerfi/adagios/wiki)) +* [Alerta](https://github.com/guardian/alerta) - Distributed, scaleable and flexible monitoring system. +* [Bloonix](https://bloonix-monitoring.org/) - Bloonix is a monitoring solution that helps businesses to ensure high availability and performance. `GPLv3` `Perl` +* [bolo](http://bolo.niftylogic.com/) - A Do-it-Yourself monitoring framework built to gather metrics, mine data and report on the systems in your network. +* [Bosun](http://bosun.org/) - Monitoring and alerting system by Stack Exchange ([Source Code](https://github.com/bosun-monitor/bosun), [Documentation](http://bosun.org/quickstart.html)) `MIT` `Go` * [Cacti](http://www.cacti.net) - Web-based network monitoring and graphing tool. * [Cabot](http://cabotapp.com/) - Monitoring and alerts, similar to PagerDuty. -* [check_mk](http://mathias-kettner.com/check_mk.html) - Collection of extensions for Nagios. +* [cadvisor](https://github.com/google/cadvisor) - Analyzes resource usage and performance characteristics of running containers ([Source Code](https://github.com/google/cadvisor)) `Apache` `Go` +* [checkmk](https://checkmk.com/) - Comprehensive solution for monitoring of applications, servers, and networks. ([Source Code](https://github.com/tribe29/checkmk)) `Python/PHP` * [Dash](https://github.com/afaqurk/linux-dash) - A low-overhead monitoring web dashboard for a GNU/Linux machine. -* [Icinga](https://www.icinga.org/) - Fork of Nagios. -* [LibreNMS](https://github.com/librenms/librenms/) - fork of Observium. -* [Monit](http://mmonit.com/monit/#home) - Small Open Source utility for managing and monitoring Unix systems. +* [EdMon](https://github.com/Edraens/EdMon) - A command-line monitoring application helping you to check that your hosts and services are available, with notifications support. `MIT` `Java` +* [ElastiFlow](https://github.com/robcowart/elastiflow) - Network flow Monitoring (Netflow, sFlow and IPFIX) with the Elastic Stack. +* [eZ Server Monitor](http://www.ezservermonitor.com) - A lightweight and simple dashboard monitor for Linux, available in Web and Bash application. +* [Flapjack](http://flapjack.io/) - Monitoring notification routing & event processing system. +* [Healthchecks](https://healthchecks.io/) - Monitoring for cron jobs, background services and scheduled tasks. +* [Icinga](https://www.icinga.com/) - Nagios fork that has since lapped nagios several times. Comes with the possibility of clustered monitoring - ([Source Code](https://github.com/Icinga)) - `GPLv2` +* [LibreNMS](http://www.librenms.org) - Fully featured network monitoring system that provides a wealth of features and device support. +* [Monit](http://mmonit.com/monit/#home) - Small utility for managing and monitoring Unix systems. * [Munin](http://munin-monitoring.org/) - Networked resource monitoring tool. * [Naemon](http://www.naemon.org/) - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features. -* [Nagios](http://www.nagios.org/) - Computer system, network and infrastructure monitoring software application. +* [Nagios](https://www.nagios.org/) - Computer system, network and infrastructure monitoring software application. +* [Netdata](https://www.netdata.cloud/) - Distributed, real-time, performance and health monitoring for systems and applications. Runs on Linux, FreeBSD, and MacOS. +* [NetXMS](https://www.netxms.org/) - Open Source network and infrastructure monitoring and management. ([Source Code](https://github.com/netxms/netxms)) * [Observium](http://www.observium.org/) - SNMP monitoring for servers and networking devices. Runs on linux. * [OMD](http://omdistro.org/) - The Open Monitoring Distribution. -* [Opsview](http://www.opsview.com/solutions/core) - Based on Nagios 4, Opsview Core is ideal for small IT and test environments. +* [Performance Co-Pilot](http://pcp.io) - Lightweight, distributed system performance and analysis framework. +* [PhpSysInfo](https://phpsysinfo.github.io/phpsysinfo/) - A customizable PHP script that displays information about your system nicely. +* [PHP Server Monitor](https://www.phpservermonitor.org/) - Open source tool to monitor your servers and websites +* [psdash](https://github.com/Jahaja/psdash) - A linux system information web dashboard using psut ils and flask. +* [pyDash](https://k3oni.github.io/pydash/) - Small web-based monitoring dashboard for linux. * [Riemann](http://riemann.io/) - Flexible and fast events processor allowing complex events/metrics analysis. -* [Sensu](http://sensuapp.org/) - Open source monitoring framework. -* [Sentry](https://getsentry.com/) - Application monitoring, event logging and aggregation. -* [Shinken](http://www.shinken-monitoring.org/) - Another monitoring framework. -* [Thruk](http://www.thruk.org/) - Multibackend monitoring webinterface with support for Naemon, Nagios, Icinga and Shinken. -* [Xymon](http://www.xymon.com/) - Network monitoring inspired by Big Brother. +* [rtop](https://github.com/rapidloop/rtop) - an interactive, remote system monitoring tool based on SSH. +* [Scrutiny](https://github.com/AnalogJ/scrutiny) - Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds +* [Sensu](https://sensuapp.org/) - Monitoring framework. +* [ServerStatus BotoX](https://github.com/BotoX/ServerStatus) - Display and monitor your servers statistics in a beatiful way. +* [ServerStatus moejda](https://github.com/mojeda/ServerStatus) - Server Status website script, displays uptime (days), free RAM, free HDD +* [Thruk](http://www.thruk.org/) - Multibackend monitoring web interface with support for Naemon, Nagios, Icinga and Shinken. +* [Uchiwa](https://uchiwa.io/) - Simple dashboard for sensu. +* [Vector](https://github.com/Netflix/vector/) - An on-host performance monitoring framework. +* [Xymon](https://www.xymon.com/) - Network monitoring inspired by Big Brother. * [Zabbix](http://www.zabbix.com/) - Enterprise-class software for monitoring of networks and applications. * [Zenoss](http://community.zenoss.org) - Application, server, and network management platform based on Zope. -## Metric & Metric Collection +### Status Pages + +**Please visit [awesome-selfhosted/Status / Uptime Pages](https://github.com/awesome-selfhosted/awesome-selfhosted#status--uptime-pages)** + + +### Metric & Metric Collection + *Metric gathering and display software.* -* [Collectd](http://collectd.org/) - System statistic collection daemon. -* [Collectl](http://collectl.sourceforge.net/) - High precision system performance metrics collecting tool. -* [Dashing](http://dashing.io/) - Ruby gem that allows for rapid statistical dashboard development. An all HTML5 approach allows for big screen displays in data centers or conference rooms. -* [Diamond](https://github.com/BrightcoveOS/Diamond) - Python based statistic collection daemon. -* [Ganglia](http://ganglia.sourceforge.net/) - High performance, scalable RRD based monitoring for grids and/or clusters of servers. Compatible with Graphite using a single collection process. -* [Grafana](http://grafana.org/) - A Graphite & InfluxDB Dashboard and Graph Editor. -* [Graphite](http://graphite.readthedocs.org/en/latest/) - Open source scaleable graphing server. -* [InfluxDB](http://influxdb.com/) - Open source distributed time series database with no external dependencies. -* [KairosDB](https://code.google.com/p/kairosdb/) - Fast distributed scalable time series database, fork of OpenTSDB 1.x. -* [OpenTSDB](http://opentsdb.net/) - Store and server massive amounts of time series data without losing granularity. -* [RRDtool](http://oss.oetiker.ch/rrdtool/) - Open source industry standard, high performance data logging and graphing system for time series data. -* [Statsd](https://github.com/etsy/statsd/) - Application statistic listener. +* Collectors only + * [Diamond](https://github.com/python-diamond/Diamond) - Python based statistic collection daemon. + * [Collectd](http://collectd.org/) - System statistic collection daemon. + * [Collectl](http://collectl.sourceforge.net/) - High precision system performance metrics collecting tool. + * [PGObserver](https://github.com/zalando/PGObserver) - Monitoring solution for PostgreSQL databases that also works with AWS RDS. + * [Statsd](https://github.com/etsy/statsd/) - Application statistic listener. + * [tcollector](http://opentsdb.net/docs/build/html/user_guide/utilities/tcollector.html) - System statistic collection daemon written in Python for OpenTSDB + * [Telegraf](https://github.com/influxdata/telegraf) - The plugin-driven server agent for collecting & reporting metrics. + +* Dashboards + * [Grafana](http://grafana.org/) - A Graphite & InfluxDB Dashboard and Graph Editor. + * [Ganglia](http://ganglia.sourceforge.net/) - High performance, scalable RRD based monitoring for grids and/or clusters of servers. Compatible with Graphite using a single collection process. + * [RRDtool](http://oss.oetiker.ch/rrdtool/) - Industry standard, high performance data logging and graphing system for time series data. + * [Dashing](http://dashing.io/) - 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](http://facette.io) - Time series data visualization and graphing software written in Go. + * [Freeboard](https://github.com/Freeboard/freeboard) - A damn-sexy front-end real-time dashboard for the internet of things. Transforms raw JSON into delicious UI. + +* Storage + * [OpenTSDB](http://opentsdb.net/) - Store and server massive amounts of time series data without losing granularity. + * [KairosDB](https://github.com/kairosdb/kairosdb) - Fast distributed scalable time series database, fork of OpenTSDB 1.x. + * [InfluxDB](https://influxdb.com/) - Distributed time series database with no external dependencies. + +* Packages + * [Graphite](http://graphite.readthedocs.org/en/latest/) - Scalable graphing server. + * [Packetbeat](https://www.elastic.co/products/beats) - Captures network traffic and displays it in a custom Kibana dashboard for easy viewing. + * [Prometheus](http://prometheus.io/) - Service monitoring system and time series database. + * [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) - Service monitoring system and time series database. ## Network Configuration Management + *Network configuration management tools.* -* [GestióIP](http://www.gestioip.net/) - An automated web based IPv4/IPv6 IP Address Management tool. -* [RANCID](http://www.shrubbery.net/rancid/) - Monitors network device's configurarion and maintain history of changes. +* [GNS3](https://www.gns3.com/) - Graphical network simulator that provides a variety of virtual appliances - ([Source Code](https://github.com/GNS3/gns3-gui/), [Documentation](https://docs.gns3.com/)) - `GPLv3` +* [Oxidized](https://github.com/ytti/oxidized) - A modern take on network device configuration monitoring with web interface and GIT storage. +* [phpIPAM](http://phpipam.net/) - Open source IP address management with [PowerDNS](https://www.powerdns.com/) integration. +* [RANCID](http://www.shrubbery.net/rancid/) - Monitors network device's configuration and maintain history of changes. * [rConfig](http://www.rconfig.com/) - Another network device configuration management tool. +* [trigger](https://github.com/trigger/trigger) - Robust network automation toolkit written in Python. ## Newsletters + *Newsletter software.* * [DadaMail](http://dadamailproject.com/) - Mailing List Manager, written in Perl. -* [phpList](http://www.phplist.com/) - Newsletter manager written in PHP. +* [phpList](https://www.phplist.com/) - Newsletter manager written in PHP. +* [LibreMailer](https://github.com/averna-syd/LibreMailer) - Libre Mailer is a modest and simple web based email marketing application. +* [Lewsnetter](https://github.com/bborn/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 @@ -291,250 +523,232 @@ A curated list of amazingly awesome open source sysadmin resources inspired by [ * [Hypertable](http://hypertable.org/) - C++ based BigTable-like DBMS, communicates through Thrift and runs either as stand-alone or on distributed FS such as Hadoop. * Document Store * [CouchDB](http://couchdb.apache.org/) - Ease of use, with multi-master replication document-oriented database system. - * [ElasticSearch](http://www.elasticsearch.org/) - Java based database, popular with log aggregation, and email archiving projects. - * [MongoDB](http://www.mongodb.org/) - Another document-oriented database system. + * [ElasticSearch](https://www.elastic.co/) - Java based database, popular with log aggregation, and email archiving projects. + * [MongoDB](https://www.mongodb.org/) - Another document-oriented database system. * [RavenDB](http://ravendb.net/) - Document based database with ACID/Transactional features. - * [RethinkDB](http://www.rethinkdb.com/) - Open source distributed document store database, focuses on JSON. + * [RethinkDB](http://www.rethinkdb.com/) - Distributed document store database, focuses on JSON. + * [eXist-DB](Https://www.exist-db.org/) - Open Source XML Database * Graph * [FlockDB](https://github.com/twitter/flockdb) - Twitter's distributed, fault-tolerant graph database. - * [Neo4j](http://www.neo4j.org/) - Open source graph database. + * [Neo4j](http://neo4j.com/) - Graph database. * Key-Value - * [LevelDB](https://code.google.com/p/leveldb/) - Google's high performance key/value database. + * [LevelDB](https://github.com/google/leveldb) - Google's high performance key/value database. * [Redis](http://redis.io/) - Networked, in-memory, key-value data store with optional durability. - * [Riak](http://basho.com/riak/) - Another fault-tolerant key-value NoSQL database. + * [Riak](http://docs.basho.com/) - Another fault-tolerant key-value NoSQL database. Comparison of NoSQL servers: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis ## Packaging +* [aptly](https://www.aptly.info/) - Swiss army knife for Debian repository management. ([Source Code](https://github.com/aptly-dev/aptly)) `MIT` `Go` * [fpm](https://github.com/jordansissel/fpm) - Versatile multi format package creator. -* [omnibus-ruby](https://github.com/opscode/omnibus-ruby) - Full stack, cross distro packaging software (Ruby). +* [omnibus-ruby](https://github.com/chef/omnibus) - Full stack, cross distro packaging software (Ruby). * [packman](http://packman.readthedocs.org) - Full stack, cross distro packaging software (Python). * [tito](https://github.com/dgoodwin/tito) - Builds RPMs for git-based projects. +## Project Management + +*Web-based project management and bug tracking systems*: see https://github.com/awesome-selfhosted/awesome-selfhosted#project-management + ## Queuing +* [ActiveMQ](https://activemq.apache.org/) - Java message broker. * [BeanstalkD](http://kr.github.io/beanstalkd/) - A simple, fast work queue. * [Gearman](http://gearman.org/) - Fast multi-language queuing/job processing platform. +* [Kafka](http://kafka.apache.org) - Extremely high performance publish/subscribe message system. * [NSQ](http://nsq.io/) - A realtime distributed messaging platform. * [RabbitMQ](http://www.rabbitmq.com/) - Robust, fully featured, cross distro queuing system. * [ZeroMQ](http://zeromq.org/) - Lightweight queuing system. ## RDBMS + *Relational DBMS.* -* [Firebird](http://www.firebirdsql.org/) - True universal open source database. +* [Firebird](http://www.firebirdsql.org/) - True universal database. * [Galera](http://galeracluster.com/) - 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](https://mariadb.org/) - Community-developed fork of the MySQL. -* [MySQL](http://dev.mysql.com/) - Most popular RDBMS server. -* [Percona Server](http://www.percona.com/software) - Enhanced, drop-in MySQL replacement. + * [adminer](https://www.adminer.org/) - Database management in a single PHP file ([Source code](https://github.com/vrana/adminer)) +* [Percona Server](https://www.percona.com/software) - Enhanced, drop-in MySQL replacement. * [PostgreSQL](http://www.postgresql.org/) - Object-relational database management system (ORDBMS). -* [PostgreSQL-XL](http://www.postgres-xl.org/) - Scalable Open Source PostgreSQL-based database cluster. +* [PostgreSQL-XL](http://www.postgres-xl.org/) - Scalable PostgreSQL-based database cluster. * [SQLite](http://sqlite.org/) - Library that implements a self-contained, serverless, zero-configuration, transactional SQL DBS. -## Security -*Security tools.* +## Remote Management -* [Denyhosts](http://denyhosts.sourceforge.net/) - Thwart SSH dictionary based attacks and brute force attacks. -* [Fail2Ban](http://www.fail2ban.org/wiki/index.php/Main_Page) - Scans log files and takes action on IPs that show malicious behavior. -* [SpamAssassin](https://spamassassin.apache.org/) - A powerful and popular email spam filter employing a variety of detection techniques. +* [Remmina](http://www.remmina.org/wp/) - A Feature rich remote desktop application for linux and other unixes. +* [Tiger VNC](http://tigervnc.org/) - 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](http://wiki.x2go.org/doku.php) - X2Go is an open source remote desktop software for Linux that uses the NX technology protocol. ## Service Discovery -* [Consul](http://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. +* [Consul](https://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. * [Doozerd](https://github.com/ha/doozerd) - Doozer is a highly-available, completely consistent store for small amounts of extremely important data. +* [etcd](https://github.com/coreos/etcd) - distributed K/V-Store, authenticating via SSL PKI and a REST HTTP Api for shared configuration and service discovery. * [ZooKeeper](http://zookeeper.apache.org/) - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. -## SMTP -*SMTP servers.* - -* [Exim](http://www.exim.org/) - Message transfer agent (MTA) developed at the University of Cambridge. -* [Haraka](http://haraka.github.io/) - A high-performance, pluginable SMTP server written in JavaScript. -* [MailCatcher](http://mailcatcher.me/) - Ruby gem that deploys a simply SMTP MTA gateway that accepts all mail and displays in web interface. Useful for debugging or development. -* [Maildrop](https://github.com/m242/maildrop) - Open Source disposable email SMTP server, also useful for development. -* [OpenSMTPD](https://opensmtpd.org/) - Secure SMTP server implementation from the OpenBSD project. -* [Postfix](http://www.postfix.org/) - Fast, easy to administer, and secure Sendmail replacement. -* [Qmail](http://cr.yp.to/qmail.html) - Secure Sendmail replacement. -* [Sendmail](http://www.sendmail.com/sm/open_source/) - Message transfer agent (MTA). - ## Software Containers + *Operating system–level virtualization.* -* [Bitnami](https://bitnami.com/) - Produces open source installers or software packages for web applications and development stacks as well as virtual appliances. -* [Docker](http://www.docker.com/) - Open platform for developers and sysadmins to build, ship, and run distributed applications. +* [Docker](http://www.docker.com/) - Platform for developers and sysadmins to build, ship, and run distributed applications. + * [Docker Compose](https://docs.docker.com/compose/) - Define and run multi-container Docker applications. + * [Docker Swarm](https://docs.docker.com/engine/swarm/) - Manage cluster of Docker Engines. + * [Portainer](https://portainer.io/) - Simple management UI for Docker. +* [LXC](https://linuxcontainers.org/lxc/) - Userspace interface for the Linux kernel containment features. + * [LXD](https://linuxcontainers.org/lxd/) – a container "hypervisor" and a better UX for LXC. * [OpenVZ](http://openvz.org) - Container-based virtualization for Linux. -## SSH -*SSH tools.* - -* [autossh](http://www.harding.motd.ca/autossh/) - Automatically respawn ssh session after network interruption. -* [Cluster SSH](http://sourceforge.net/projects/clusterssh/) - Controls a number of xterm windows via a single graphical console. -* [DSH](http://www.netfort.gr.jp/~dancer/software/dsh.html.en) - Dancer's shell / distributed shell - Wrapper for executing multiple remote shell commands from one command line. -* [Mosh](http://mosh.mit.edu/) - The mobile shell. -* [parallel-ssh](http://code.google.com/p/parallel-ssh/) - Provides parallel versions of OpenSSH and related tools. -* [SSH Power Tool](http://code.google.com/p/sshpt/) - Execute commands and upload files to many servers simultaneously without using pre-shared keys. - -## Statistics -*Analytics software.* - -* [Analog](http://www.analog.cx/) - The most popular logfile analyser in the world. -* [GoAccess](http://goaccess.io/) - Open source real-time web log analyzer and interactive viewer that runs in a terminal. -* [Piwik](http://piwik.org/) - Free and open source web analytics application. -* [Webalizer](http://www.webalizer.org/) - Fast, free web server log file analysis program. - -## Ticketing systems -*Web-based ticketing system.* - -* [Bugzilla](http://www.bugzilla.org/) - General-purpose bugtracker and testing tool originally developed and used by the Mozilla project. -* [Cerb](http://www.cerberusweb.com/) - A group-based e-mail management project built with a commercial open source license. -* [Flyspray](http://flyspray.org) - Web-based bug tracking system written in PHP. -* [MantisBT](http://www.mantisbt.org/) - Another web-based bug tracking system. -* [osTicket](http://osticket.com/) - Open source support ticket system. -* [Otrs](http://www.otrs.com/) - A free and open-source trouble ticket system software package that a company, organization, or other entity can use to assign tickets to incoming queries and track further communications about them. -* [Request Tracker](http://www.bestpractical.com/rt/) - Ticket-tracking system written in Perl. -* [TheBugGenie](http://www.thebuggenie.com) - Open source ticket system with extremely complete users rights granularity. - ## Troubleshooting + *Troubleshooting Tools.* +* [grml](https://grml.org) – bootable Debian Live CD with powerful CLI tools. * [mitmproxy](http://mitmproxy.org/) - A Python tool used for intercepting, viewing and modifying network traffic. Invaluable in troubleshooting certain problems. +* [mtr](https://www.bitwizard.nl/mtr/) - Network utility that combines traceroute and ping. +* [perf-tools](https://github.com/brendangregg/perf-tools) - Performance analysis tools based on Linux perf_events (aka perf) and ftrace. * [Sysdig](http://www.sysdig.org/) - Capture system state and activity from a running Linux instance, then save, filter and analyze. -* [Wireshark](http://www.wireshark.org/) - The world's foremost network protocol analyzer. - -## Project Management -*Web-based project management and bug tracking systems.* - -* [ChiliProject](https://www.chiliproject.org) - Fork of Redmine. -* [GitBucket](https://github.com/takezoe/gitbucket) Clone of GitHub written in Scala; single jar install. -* [GitLab](https://www.gitlab.com/) - Clone of GitHub written in Ruby. -* [Gogs](http://gogs.io/) - Written in Go. -* [OpenProject](https://www.openproject.org) - Project collaboration with open source. -* [Phabricator](http://phabricator.org/) Written in PHP. -* [Redmine](http://www.redmine.org/) - Written in ruby on rails. -* [The Bug Genie](http://www.thebuggenie.com/) - Written in PHP. -* [Trac](http://trac.edgewall.org/) - Written in python. +* [Wireshark](https://www.wireshark.org/) - The world's foremost network protocol analyzer. ## Version control + *Software versioning and revision control.* * [Fossil](http://www.fossil-scm.org/) - Distributed version control with built-in wiki and bug tracking. * [Git](http://git-scm.com/) - Distributed revision control and source code management (SCM) with an emphasis on speed. * [GNU Bazaar](http://bazaar.canonical.com/) - Distributed revision control system sponsored by Canonical. -* [Mercurial](http://mercurial.selenic.com/) - Another distributed revision control. +* [Mercurial](https://www.mercurial-scm.org/) - Another distributed revision control. * [Subversion](http://subversion.apache.org/) - Client-server revision control system. +* [Darcs](http://darcs.net/) - Patch-based distributed version control (more info: [wiki](http://darcs.net/Theory/PekkaPatchTheory)) ## Virtualization + *Virtualization software.* -* [Ganeti](https://code.google.com/p/ganeti/) - Cluster virtual server management software tool built on top of KVM and Xen. +* [Archipel](http://archipelproject.org/) - XMPP based virtualization management platform. +* [ConVirt](http://www.convirture.com/products_opensource.php) - Provides the core functionality for centrally managing your KVM or Xen virtualized environment. +* [Ganeti](http://www.ganeti.org/) - Cluster virtual server management software tool built on top of KVM and Xen. * [KVM](http://www.linux-kvm.org) - Linux kernel virtualization infrastructure. +* [OpenNebula](http://opennebula.org/) - Flexible enterprise cloud made simple. +* [OpenNode](http://opennodecloud.com) - Builds open-source infrastructure management software and implements cloud systems. * [oVirt](http://www.ovirt.org/) - Manages virtual machines, storage and virtual networks. -* [Packer](http://www.packer.io/) - A tool for creating identical machine images for multiple platforms from a single source configuration. +* [Packer](https://www.packer.io/) - A tool for creating identical machine images for multiple platforms from a single source configuration. +* [Proxmox VE](https://www.proxmox.com/proxmox-ve) - Virtualization management solution. +* [QEMU](http://www.qemu.org/) - QEMU is a generic machine emulator and virtualizer. * [Vagrant](https://www.vagrantup.com/) - Tool for building complete development environments. * [VirtualBox](https://www.virtualbox.org/) - Virtualization product from Oracle Corporation. +* [XCP-ng](http://www.xcp-ng.org/) - Based on Citrix XenServer, XCP-ng is a fully open source virtualization platform. * [Xen](http://www.xenproject.org/) - Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures. ## VPN + *VPN software.* +* [Firezone](https://www.firez.one/) - WireGuard based VPN Server and Firewall. +* [Headscale](https://github.com/juanfont/headscale) - Self-hostable fork of [Tailscale](https://tailscale.com), cross-platform clients, simple to use, built-in (currently experimental) monitoring tools. +* [ocserv](http://www.infradead.org/ocserv/) - Cisco AnyConnect-compatible VPN server * [OpenVPN](https://community.openvpn.net) - Uses a custom security protocol that utilizes SSL/TLS for key exchange. * [Pritunl](http://pritunl.com/) - OpenVPN based solution. Easy to set up. * [SoftEther](https://www.softether.org/) - Multi-protocol software VPN with advanced features -* [sshuttle](https://github.com/apenwarr/sshuttle) - Poor man's VPN. -* [strongSwan](http://www.strongswan.org/) - Complete IPsec implementation for Linux. +* [sshuttle](https://github.com/sshuttle/sshuttle) - Poor man's VPN. +* [strongSwan](https://www.strongswan.org/) - Complete IPsec implementation for Linux. * [tinc](http://www.tinc-vpn.org/) - Distributed p2p VPN. - -## XMPP -*XMPP servers.* - -* [ejabberd](http://www.ejabberd.im/) - XMPP instant messaging server written in Erlang/OTP. -* [Metronome IM](http://www.lightwitch.org/metronome) - Fork of Prosody IM. -* [MongooseIM](https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform) - Fork of ejabberd. -* [Openfire](http://www.igniterealtime.org/projects/openfire/) - Real time collaboration (RTC) server. -* [Prosody IM](http://prosody.im/) - XMPP server written in Lua. -* [Tigase](https://projects.tigase.org/projects/tigase-server) - XMPP server implementation in Java. - -## Webmails -*Webmail applications.* - -* [Mailpile](https://www.mailpile.is/) - A modern, fast web-mail client with user-friendly encryption and privacy features. -* [Roundcube](http://roundcube.net/) - Browser-based IMAP client with an application-like user interface. +* [WireGuard](https://www.wireguard.com/) - Very fast VPN based on elliptic curve and public key crypto. +* [Nebula](https://github.com/slackhq/nebula) - A scalable p2p VPN with a focus on performance, simplicity and security. ## Web + *Web servers.* -* [Apache](http://httpd.apache.org/) - Most popular web server. +* [Algernon](http://algernon.roboticoverlords.org/) - Web/application server that supports Lua, live-reload, templates, Sass and HTTP/2. +* [Apache](http://httpd.apache.org/) - A robust, commercial-grade, featureful implementation of an HTTP (Web) server. +* [Caddy](https://caddyserver.com/) - Lightweight, general-purpose web server supporting HTTP/2, automatic TLS and easy configuration. Written in Go. * [Cherokee](http://cherokee-project.com/) - Lightweight, high-performance web server/reverse proxy. +* [Hiawatha](https://www.hiawatha-webserver.org/) - Prioritises security, simplicity and performance. * [Lighttpd](http://www.lighttpd.net/) - Web server more optimized for speed-critical environments. * [Nginx](http://nginx.org/) - Reverse proxy, load balancer, HTTP cache, and web server. * [uWSGI](https://github.com/unbit/uwsgi/) - The uWSGI project aims at developing a full stack for building hosting services. -*Web Performance* +*Web Performance.* * [HAProxy](http://www.haproxy.org/) - Software based load Balancing, SSL offloading and performance optimization, compression, and general web routing. +* [Traefik](https://traefik.io/) - Traefik is a leading modern reverse proxy and load balancer. * [Varnish](https://www.varnish-cache.org/) - HTTP based web application accelerator focusing on optimizing caching and compression. - -## Wikis -*Wiki software.* - -* [DokuWiki](https://www.dokuwiki.org/dokuwiki) - Simple to use and highly versatile wiki that doesn't require a database. -* [Gollum](https://github.com/gollum/gollum) - A simple, Git-powered wiki with a sweet API and local frontend. -* [ikiwiki](http://ikiwiki.info/) - A wiki compiler. -* [Mediawiki](http://www.mediawiki.org/wiki/MediaWiki) - Used to power Wikipedia. -* [MoinMoin](http://moinmo.in/) - An advanced, easy to use and extensible WikiEngine with a large community of users. - * [Ōlelo Wiki](https://github.com/minad/olelo) - A a wiki that stores pages in a Git repository. -* [TiddlyWiki](http://tiddlywiki.com) - Complete interactive wiki in JavaScript. - # Resources + Various resources, such as books, websites and articles, for improving your skills and knowledge. ## Blogs -* [Code as Craft](http://codeascraft.com/) - Etsy's Ops blog, lots of technical posts. +* [Code as Craft](https://codeascraft.com/) - Etsy's Ops blog, lots of technical posts. * [DevOpsGuys](http://blog.devopsguys.com/) - Devops consultants who blog about operations. -* [Rackspace Developers](http://developer.rackspace.com/blog/) - Slightly biased blog with lots of Devops Topics. +* [Rackspace Developers](https://developer.rackspace.com/blog/) - Slightly biased blog with lots of Devops Topics. +* [RoseHosting Blog](https://www.rosehosting.com/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.* +* [Codex](http://www.starkandwayne.com/codex/) - How to deploy Cloud Foundry PaaS on infrastructures like AWS, OpenStack, Azure by Stark & Wayne, LLC. * [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts. * [The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win](http://itrevolution.com/books/phoenix-project-devops-book/) - How DevOps techniques can fix the problems that happen in IT organizations. * [The Practice of System and Network Administration](http://everythingsysadmin.com/books.html) - The first and second editions describes the best practices of system and network administration, independent of specific platforms or technologies. * [The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps](http://www.itpi.org/the-visible-ops-handbook-review.html) - Is a methodology designed to jumpstart implementation of controls and process improvement. -* [UNIX and Linux System Administration Handbook](http://www.admin.com/) - Approaches system administration from a practical perspective. +* UNIX and Linux System Administration Handbook (ISBN-13: 978-0131480056) - Approaches system administration from a practical perspective. -## Editors -*Open source code editors.* +## Communities / Forums -* [Atom](https://atom.io/) - A hackable text editor from Github. -* [Brackets](http://brackets.io/) - Open source code editor for web designers and front-end developers. -* [Eclipse](http://eclipse.org/) - IDE written in Java with an extensible plug-in system. -* [Geany](http://www.geany.org/) - GTK2 text editor. -* [GNU Emacs](http://www.gnu.org/software/emacs/) - An extensible, customizable text editor-and more. -* [Haroopad](http://pad.haroopress.com/) - Markdown editor with live preview. -* [ICEcoder](http://icecoder.net) - Code editor awesomeness, built with common web languages. -* [jotgit](https://github.com/jdleesmiller/jotgit) - Git-backed real-time collaborative code editing. -* [Light Table](http://www.lighttable.com/) - The next generation code editor. -* [Lime](http://limetext.org/) - Aims to provide an open source solution to Sublime Text -* [TextMate](https://github.com/textmate/textmate/) - A graphical text editor for OS X. -* [Vim](http://www.vim.org) - A highly configurable text editor built to enable efficient editing. +*For the social people.* + +* [ArsTechnica OpenForum](http://arstechnica.com/civis/) – IT Forum which is attached to a large news site. +* [Reddit](https://www.reddit.com) - Really, really large bulletin board system. + * [/r/Linux](https://www.reddit.com/r/linux) - News and information about Linux. + * [/r/LinuxQuestions](https://www.reddit.com/r/linuxquestions) + * [/r/SysAdmin](https://www.reddit.com/r/sysadmin/) +* [Spiceworks Community](https://community.spiceworks.com/start) – General enterprise IT news and small articles. +* [StackExchange Network](https://stackexchange.com/sites#technology) – Q&A communities. + * [Server Fault](https://serverfault.com/) – StackExchange community for system and network administrators. ## Newsletters -* [Servers for Hackers](http://serversforhackers.com/) - Newsletter for programmers who find themselves needing to know their way around a server. +* [Servers for Hackers](https://serversforhackers.com/) - Newsletter for programmers who find themselves needing to know their way around a server. +* [Web Operations Weekly](http://webopsweekly.com/) - A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal. ## Repositories + *Software package repositories.* -* [Dotdeb](http://www.dotdeb.org/) - Repository with LAMP updated packages for Debian. +* [AlternativeTo](http://alternativeto.net) - Find alternatives to software you know and discover new software. + +### Debian-based distributions + +* [deb.sury.org](https://deb.sury.org/) - Repository with LAMP updated packages for Debian and Ubuntu. + +### RPM-based distributions + +* [ElRepo](http://elrepo.org/tiki/tiki-index.php) - Community Repo for Enterprise Linux (RHEL, CentOS, etc). +* [EPEL](https://fedoraproject.org/wiki/EPEL) - Repository for RHEL and compatibles (CentOS, Scientific Linux). +* [IUS](https://ius.io/) - Community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions. * [Remi](http://rpms.famillecollet.com/) - Repository with LAMP updated packages for RHEL/Centos/Fedora. +* [Software Collections](https://www.softwarecollections.org) - Community Release of [Red Hat Software Collections](https://access.redhat.com/documentation/en/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](https://sysadmin.libhunt.com) - Your go-to SysAdmin Toolbox. Based on the list here. * [Ops School](http://www.opsschool.org) - Comprehensive program that will help you learn to be an operations engineer. * [Digital Ocean Tutorials](https://www.digitalocean.com/community/tutorials) - A surprisingly vast resource for getting the basics of certain applications, tools, or even systems administration topics. -# Contributing -Please see [CONTRIBUTING](https://github.com/kahun/awesome-sysadmin/blob/master/CONTRIBUTING.md) for details. +## Wikis + +*Useful Wikis for Sysadmins – not to be confused with Wiki software.* + +* [ArchWiki](https://wiki.archlinux.org/) – Arch Linux Wiki which has really nice written articles valid for other distros. +* [Gentoo Wiki](https://wiki.gentoo.org/) - Gentoo Linux Wiki with a lot in-detail description of Linux components. + +## License + +![cc license](http://i.creativecommons.org/l/by-sa/4.0/88x31.png) + +This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/) license.