71e0e351ef
Add link to Brendan Gregg's perf-tools |
||
---|---|---|
CONTRIBUTING.md | ||
LICENSE.txt | ||
README.md |
Awesome Sysadmin
A curated list of amazingly awesome open source sysadmin resources. Please read CONTRIBUTING if you wish to add software and consider donating to the FLOSS projects you use regularly.
- Awesome Sysadmin
- Automation
- Backups
- Build and software organization tools
- ChatOps
- Client Management
- Cloning
- Cloud Computing
- Cloud Orchestration
- Cloud Storage
- Code Review
- Collaborative Software
- Configuration Management Database
- Configuration Management
- Continuous Integration & Continuous Deployment
- Control Panels
- Deployment Automation
- Distributed Filesystems
- DNS
- Editors
- Identity Management
- IT Asset Management
- Log Management
- Mail Clients
- Mail Servers
- Monitoring
- Metric & Metric Collection
- Network Configuration Management
- Newsletter
- NoSQL
- Packaging
- Project Management
- Queuing
- RDBMS
- Security
- Service Discovery
- Software Containers
- SSH
- Statistics
- Status Pages
- Ticketing systems
- Troubleshooting
- Version control
- Virtualization
- VPN
- XMPP
- Web
- Wiki Software
- Resources
Automation
Automation build.
- Apache Ant - Automation build tool, similar to make, written in Java.
- Apache Maven - Build automation tool mainly for Java.
- Bazel - Google's build system.
- GNU Make - The most popular automation build tool for many purposes.
- Gradle - Another build automation system.
- Rake - Build automation tool similar to Make, written in and extensible in Ruby.
Backups
Backup software.
- Amanda - Client-server model backup tool.
- Attic - A deduplicating backup program written in Python.
- Bareos - A fork of Bacula backup tool.
- Backupninja - Lightweight, extensible meta-backup system.
- Brebis - A fully automated backup checker
- Burp - Network backup and restore program.
- Duplicity - Encrypted bandwidth-efficient backup using the rsync algorithm.
- Elkarbackup - Backup solution based on RSnapshot with a simple web interface
- Lsyncd - File Monitor which spawns a process to synchronize the changes (rsync by default).
- Obnam - An easy, secure, snapshots-based backup program with data de-duplication.
- Rdiff-backup - An easy A remote incremental backup of all your files.
- Rsnapshot - Filesystem Snapshotting Utility.
- Snebu – Snapshot backup with global multi-client deduplication and transparent compression.
- UrBackup - Another client-server backup system.
- DREBS - AWS EBS backup script that supports strategies.
- ZBackup - A versatile deduplicating backup tool.
Build and software organization tools
Build and software organization tools.
- EasyBuild - EasyBuild builds software and modulefiles for High Performance Computing (HPC) systems in an efficient way.
- environment-modules Lmod - Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem.
- HPCBIOS - HPCBIOS is an effort to setup a common, well-documented and reproducible, environment spanning across multiple HPC systems & sites, inclusive of documentation.
ChatOps
Conversation-driven development and management. See https://www.reddit.com/r/chatops for more information.
- CloudBot - The simple, fast, expandable Python IRC bot.
- Eggdrop - the world's most popular IRC bot, designed for flexibility and ease of use, and is freely distributable under the GNU GPL.
- Err - a plugin based chatbot designed to be easily deployable, extensible and maintainable.
- Hubot - A customizable, life embetterment robot.
- Lazlo - A chatops automation framework in Go.
- Lita - A robot companion for your company's chat room.
Client management
Managing software on desktop computers.
- OCS Inventory NG - Inventory, deployment and network scan.
- Opsi (open PC server integration) - Client Management for Windows based on Debian.
- WAPT - Network-wide (un)installation, configuration and upgrades of Windows based software.
- WPKG - Software deployment, upgrade and removal program for Windows.
Cloning
Cloning software.
- Clonezilla - Partition and disk imaging/cloning program.
- Fog - Another computer cloning solution.
Cloud Computing
- AppScale - Cloud software with Google App Engine compatibility.
- Archipel - Manage and supervise virtual machines using Libvirt.
- CloudStack - Cloud computing software for creating, managing, and deploying infrastructure cloud services.
- Cobbler - Cobbler is a Linux installation server that allows for rapid setup of network installation environments.
- Cracow Cloud One - Polish Private Cloud - The CC1 system provides a complete solution for Private Cloud Computing.
- Eucalyptus - Private cloud software with AWS compatibility.
- Flynn - PaaS
- Mesos - Develop and run resource-efficient distributed systems.
- OpenNebula - User-driven cloud management platform for sysadmins and devops.
- Openshift - PaaS product from Red Hat.
- OpenStack - Build private and public clouds.
- The Foreman - Complete lifecycle management tool for physical and virtual servers. FOSS.
- Tsuru - Tsuru is an extensible Platform as a Service software.
Cloud Orchestration
- BOSH - IaaS orchestration platform originally written for deploying and managing Cloud Foundry PaaS, but also useful for general purpose distributed systems.
- Cloudify - TOSCA-based cloud orchestration software platform written in Python and YAML.
- CloudSlang - Flow-based orchestration tool for managing deployed applications, with Docker capabilities.
- Juju - Cloud orchestration tool which manages services as charms, YAML configuration and deployment script bundles.
- Kubernetes - Orchestration system for Docker containers - (Source Code, Documentation)
Apache
Go
- MCollective - Ruby framework to manage server orchestration, developed by Puppet labs.
- Overcast - Deploy VMs across different cloud providers, and run commands and scripts across any or all of them in parallel via SSH.
- Rundeck - Simple orchestration tool.
- Salt - Fast, scalable and flexible systems management software written in Python/ZeroMQ.
- StackStorm - Event Driven Operations and ChatOps platform for infrastructure management. Written in Python
Cloud Storage
- git-annex assistant - A synchronised folder on each of your OSX and Linux computers, Android devices, removable drives, NAS appliances, and cloud services.
- ownCloud - Provides universal access to your files via the web, your computer or your mobile devices.
- Pydio - Pydio (formerly AjaXplorer) is a mature solution for file sharing and synchronization.
- Seafile - Another Cloud Storage solution.
- SparkleShare - Provides cloud storage and file synchronization services. By default, it uses Git as a storage backend.
- Swift - A highly available, distributed, eventually consistent object/blob store.
- Syncthing - System for private, encrypted and authenticated distribution of data.
Code Review
Web Based collaborative code review system.
- Gerrit - Based on the Git version control, it facilitates software developers to review modifications to the source code and approve or reject those changes.
- Phabricator - Code review tool build by facebook and used by WikiMedia, FB, dropbox etc. Comes with an integrated wiki, bug tracker, VC integration and a CLI tool called arcanist.
- Review Board - Available as free software under the MIT License.
Collaborative Software
Collaborative software or groupware suites.
- Citadel/UX - Collaboration suite (messaging and groupware) that is descended from the Citadel family of programs.
- EGroupware - Groupware software written in PHP.
- Horde Groupware - PHP based collaborative software suite that includes email, calendars, wikis, time tracking and file management.
- Kolab - Another groupware suite.
- SOGo - Collaborative software server with a focus on simplicity and scalability.
- Zimbra - Collaborative software suite, that includes an email server and web client.
Configuration Management Database
Configuration management database (CMDB) software.
- i-doit - IT Documentation and CMDB.
- iTop - Complete ITIL web based service management tool.
- Ralph - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks.
- Clusto - Helps you keep track of your inventory, where it is, how it's connected, and provides an abstracted interface for interacting with the elements of the infrastructure.
- Collins - At Tumblr, it's the infrastructure source of truth and knowledge.
Configuration Management
Configuration management tools.
- Ansible - It's written in Python and manages the nodes over SSH.
- CFEngine - Lightweight agent system. Configuration state is specified via a declarative language.
- Chef - It's written in Ruby and Erlang and uses a pure-Ruby DSL.
- Pallet - Infrastructure definition, configuration and management via a Clojure DSL.
- Puppet - It's written in Ruby and uses Puppet's declarative language or a Ruby DSL.
- Salt - It's written in Python.
- Slaughter - It's written in Perl.
Continuous Integration & Continuous Deployment
Continuous integration/deployment software.
- Buildbot - Python-based toolkit for continuous integration.
- Drone - Continuous integration server built on Docker and configured using YAML files.
- GitLab CI - Based off of ruby. They also provide GitLab, which manages git repositories.
- Go - Continuous delivery server.
- Jenkins - An extendable continuous integration server.
Control Panels
Web hosting and server or service control panels
- Web hosting
- DNS
- Atomia DNS - DNS management system.
- PDNS Gui - WebGUI which aids in administering domains and records for PowerDNS with MySQL.
- Poweradmin - Friendly web-based DNS administration tool for PowerDNS server.
- Revision Control
- iF.SVNAdmin - WebGUI to manage Subversion repositories and User/Group permissions.
- SCM-Manager - The easiest way to share and manage your Git, Mercurial and Subversion repositories.
- WebSVN - Opensource web subversion repository browser.
- Virtualization
- Feathur - VPS Provisioning and Management Software.
- Panamax - Project that makes deploying complex containerized apps as easy as Drag-and-Drop.
- OpenVZ Web Panel - Web panel to control your OpenVZ servers.
- Virtkick - A simple orchestrator. Manage virtual machines or Docker containers easily.
- WebVirtMgr - libvirt-based Web interface for managing virtual machines.
- Server
- Ajenti - Control panel for Linux and BSD.
- Cockpit - New multi-server web interface for Linux servers written in C.
- Virtualmin - Control panel for Linux based on webmin.
- Webmin - Linux server control panel.
- Others
Deployment Automation
Tools and scripts to support deployments to your servers.
- Capistrano - Deploy your application to any number of machines simultaneously, in sequence or as a rolling set via SSH (rake based).
- Fabric - Python library and cli tool for streamlining the use of SSH for application deployment or systems administration tasks.
- Mina - Really fast deployer and server automation tool (rake based).
- Rocketeer - PHP task runner and deployment tool.
- Vlad the Deployer - Deployment automation (rake based).
Distributed Filesystems
Network distributed filesystems.
- Ceph - Distributed object store and file system.
- DRBD - Distributed Replicated Block Device.
- LeoFS - Unstructured object/data storage and a highly available, distributed, eventually consistent storage system.
- GlusterFS - Scale-out network-attached storage file system.
- HDFS - Distributed, scalable, and portable file-system written in Java for the Hadoop framework.
- Lustre - Parallel distributed file system, generally used for large-scale cluster computing.
- MooseFS - Fault tolerant, network distributed file system.
- MogileFS - Application level, network distributed file system.
- OpenAFS - Distributed network file system with read-only replicas and multi-OS support.
- TahoeLAFS - secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.
- XtreemFS - XtreemFS is a fault-tolerant distributed file system for all storage needs.
DNS
DNS servers.
- Bind - The most widely used name server software.
- djbdns - A collection of DNS applications, including tinydns.
- Designate - DNS REST API that support several DNS servers as its backend.
- dnsmasq - A lightweight service providing DNS, DHCP and TFTP services to small-scale networks.
- Knot - High performance authoritative-only DNS server.
- NSD - Authoritative only, high performance, simple name server.
- PowerDNS - DNS server with a variety of data storage back-ends and load balancing features.
- Unbound - Validating, recursive, and caching DNS resolver.
- Yadifa - Lightweight authoritative Name Server with DNSSEC capabilities powering the .eu top-level domain.
Editors
Open source code editors.
- Atom - A hackable text editor from Github.
- Brackets - Code editor for web designers and front-end developers.
- Eclipse - IDE written in Java with an extensible plug-in system.
- Geany - GTK2 text editor.
- GNU Emacs - An extensible, customizable text editor-and more.
- Haroopad - Markdown editor with live preview.
- ICEcoder - Code editor awesomeness, built with common web languages.
- jotgit - Git-backed real-time collaborative code editing.
- KDevelop - IDE by the people behind KDE.
- Light Table - The next generation code editor.
- Lime - Aims to provide an open source solution to Sublime Text
- TextMate - A graphical text editor for OS X.
- Vim - A highly configurable text editor built to enable efficient editing.
- Nano - Easy to use, customizable text editor.
Identity Management
LDAP servers and other tools to manage accounts and identities.
LDAP
- 389 Directory Server - Developed by Red Hat.
- Apache Directory Server - Apache Software Foundation project written in Java.
- OpenDJ - Fork of OpenDS.
- OpenDS - Another directory server written in Java.
- OpenLDAP - Developed by the OpenLDAP Project.
Tools and web interfaces
- Fusion Directory - Improve the Management of the services and the company directory based on OpenLDAP.
- FreeIPA - Security management solution, can manage LDAP, KRB, DNS, sudo, and more
- LDAP Account Manager (LAM) - Web frontend for managing entries (e.g. users, groups, DHCP settings) stored in an LDAP directory.
- Samba – Active Directory and CIFS protocol implementation.
IT Asset Management
IT Assets Management software.
- GLPI - Information Resource-Manager with an additional Administration Interface.
- OCS Inventory NG - Enables users to inventory their IT assets.
- RackTables - Datacenter and server room asset management like document hardware assets, network addresses, space in racks, networks configuration.
- Ralph - Asset management, DCIM and CMDB system for large Data Centers as well as smaller LAN networks.
- Snipe IT - Asset & license management software.
Log Management
Log management tools: collect, parse, visualize ...
- Elasticsearch - A Lucene Based Document store mainly used for log indexing, storage and analysis.
- Fluentd - Log Collector and Shipper.
- Flume - Distributed log collection and aggregation system.
- Graylog2 - Pluggable Log and Event Analysis Server with Alerting options.
- Heka - Stream processing system which may be used for log aggregation.
- Kibana - Visualize logs and time-stamped data.
- Logstash - Tool for managing events and logs.
- Octopussy - Log Management Solution (Visualize / Alert / Report).
Mail Clients
- Claws Mail - Old school email client (and news reader), based on GTK+.
- Mutt - Small but very powerful text-based mail client.
- Thunderbird - Free email application that's easy to set up and customize.
- N1 - Extensible mail client.
Mail servers/webmail
See https://github.com/kickball/awesome-selfhosted#email
Monitoring
Monitoring software.
- Adagios - Web based Nagios interface for configuration and monitoring (replacement to the standard interface), and a REST interface (Demo, SourceCode, Documentation)
- Alerta - Distributed, scaleable and flexible monitoring system.
- Bosun - Monitoring and alerting system by Stack Exchange (Source Code, Documentation)
MIT
Go
- Cacti - Web-based network monitoring and graphing tool.
- Cabot - Monitoring and alerts, similar to PagerDuty.
- cadvisor - Analyzes resource usage and performance characteristics of running containers (Source Code)
Apache
Go
- check_mk - Collection of extensions for Nagios.
- Dash - A low-overhead monitoring web dashboard for a GNU/Linux machine.
- Flapjack - Monitoring notification routing & event processing system.
- Icinga - Nagios fork that has since lapped nagios several times. Comes with the possibility of clustered monitoring - (Source Code) -
GPLv2
- LibreNMS - Fully featured network monitoring system that provides a wealth of features and device support.
- Monit - Small utility for managing and monitoring Unix systems.
- Munin - Networked resource monitoring tool.
- Linux Dash - A simple, low-overhead web dashboard for GNU / Linux. (~1MB) (Demo)
- Naemon - Network monitoring tool based on the Nagios 4 core with performance enhancements and new features.
- Nagios - Computer system, network and infrastructure monitoring software application.
- Node-Bell - Real-time anomalies detection for periodic time series, metrics monitor.
- Observium - SNMP monitoring for servers and networking devices. Runs on linux.
- OMD - The Open Monitoring Distribution.
- PhpSysInfo - A customizable PHP script that displays information about your system nicely
- Riemann - Flexible and fast events processor allowing complex events/metrics analysis.
- Sensu - Monitoring framework.
- Sentry - Application monitoring, event logging and aggregation.
- ServerStatus BotoX - Display and monitor your servers statistics in a beatiful way.
- ServerStatus moejda - Server Status website script, displays uptime (days), free RAM, free HDD
- Shinken - Another monitoring framework.
- Thruk - Multibackend monitoring web interface with support for Naemon, Nagios, Icinga and Shinken.
- Xymon - Network monitoring inspired by Big Brother.
- Zabbix - Enterprise-class software for monitoring of networks and applications.
- Zenoss - Application, server, and network management platform based on Zope.
Metric & Metric Collection
Metric gathering and display software.
-
Collectors only
- Diamond - Python based statistic collection daemon.
- Collectd - System statistic collection daemon.
- Collectl - High precision system performance metrics collecting tool.
- Statsd - Application statistic listener.
- tcollector - System statistic collection daemon written in Python for OpenTSDB
-
Dashboards
- Grafana - A Graphite & InfluxDB Dashboard and Graph Editor.
- Ganglia - High performance, scalable RRD based monitoring for grids and/or clusters of servers. Compatible with Graphite using a single collection process.
- RRDtool - Industry standard, high performance data logging and graphing system for time series data.
- Dashing - Ruby gem that allows for rapid statistical dashboard development. An all HTML5 approach allows for big screen displays in data centers or conference rooms.
- Facette - Time series data visualization and graphing software written in Go.
- Freeboard - A damn-sexy front-end real-time dashboard for the internet of things. Transforms raw JSON into delicious UI.
-
Storage
-
Packages
- Prometheus - Service monitoring system and time series database.
- Packetbeat - Captures network traffic and displays it in a custom Kibana dashboard for easy viewing.
- Graphite - Scalable graphing server.
Network Configuration Management
Network configuration management tools.
- GestióIP - An automated web based IPv4/IPv6 IP Address Management tool.
- Oxidized - A modern take on network device configuration monitoring with web interface and GIT storage.
- RANCID - Monitors network device's configuration and maintain history of changes.
- rConfig - Another network device configuration management tool.
- trigger - Robust network automation toolkit written in Python.
Newsletters
Newsletter software.
- DadaMail - Mailing List Manager, written in Perl.
- phpList - Newsletter manager written in PHP.
- LibreMailer - Libre Mailer is a modest and simple web based email marketing application.
- Lewsnetter - E-mail marketing application (create and send e-mail newsletter via SES). Includes subscription management, delivery, bounce and complaint notification, templates, and some stats.
NoSQL
NoSQL databases.
- Column-Family
- Apache HBase - Hadoop database, a distributed, big data store.
- Cassandra - Distributed DBMS designed to handle large amounts of data across many servers.
- Hypertable - C++ based BigTable-like DBMS, communicates through Thrift and runs either as stand-alone or on distributed FS such as Hadoop.
- Document Store
- CouchDB - Ease of use, with multi-master replication document-oriented database system.
- ElasticSearch - Java based database, popular with log aggregation, and email archiving projects.
- MongoDB - Another document-oriented database system.
- RavenDB - Document based database with ACID/Transactional features.
- RethinkDB - Distributed document store database, focuses on JSON.
- Graph
- Key-Value
Comparison of NoSQL servers: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
Packaging
- fpm - Versatile multi format package creator.
- omnibus-ruby - Full stack, cross distro packaging software (Ruby).
- packman - Full stack, cross distro packaging software (Python).
- tito - Builds RPMs for git-based projects.
Project Management
Web-based project management and bug tracking systems: see https://github.com/Kickball/awesome-selfhosted#project-management
Queuing
- ActiveMQ - Java message broker.
- BeanstalkD - A simple, fast work queue.
- Gearman - Fast multi-language queuing/job processing platform.
- Kafka - Extremely high performance publish/subscribe message system.
- NSQ - A realtime distributed messaging platform.
- RabbitMQ - Robust, fully featured, cross distro queuing system.
- ZeroMQ - Lightweight queuing system.
RDBMS
Relational DBMS.
- Firebird - True universal database.
- Galera - Galera Cluster for MySQL is an easy-to-use high-availability solution with high system up-time, no data loss, and scalability for future growth.
- MariaDB - Community-developed fork of the MySQL.
- adminer - Database management in a single PHP file (Source code)
- Percona Server - Enhanced, drop-in MySQL replacement.
- PostgreSQL - Object-relational database management system (ORDBMS).
- PostgreSQL-XL - Scalable PostgreSQL-based database cluster.
- SQLite - Library that implements a self-contained, serverless, zero-configuration, transactional SQL DBS.
Security
Security tools.
- Blackbox - Safely store secrets in Git/Mercurial. Provides tooling to automatically encrypt secrets like passwords.
- Bro - Bro is a powerful framework for network analysis and security monitoring.
- Denyhosts - Thwart SSH dictionary based attacks and brute force attacks.
- Fail2Ban - Scans log files and takes action on IPs that show malicious behavior.
- fwknop - Protects ports via Single Packet Authorization in your firewall.
- Glastopf - A low-interaction web application honeypot to emulate vulnerabilities and gather attack data.
- Kippo - A medium-interaction SSH honeypot, mostly used as a standalone SSH daemon with a configurable Filesystem sandbox.
- Linux Malware Detect - A malware scanner for Linux designed around the threats faced in shared hosted environments.
- OSSEC - OSSEC is a HIDS that performs log analysis, FIM, rootkit detection, and much more.
- OSQuery - Query your servers status and info using a SQL like interface.
- pfSense - Firewall and Router FreeBSD distribution.
- Snort - Network intrusion prevention system (NIPS) and network intrusion detection system (NIDS).
- SpamAssassin - A powerful and popular email spam filter employing a variety of detection technique.
- Nmap - Nmap is a free and open source utility for network discovery and security auditing.
Service Discovery
- Consul - Consul is a tool for service discovery, monitoring and configuration.
- Doozerd - Doozer is a highly-available, completely consistent store for small amounts of extremely important data.
- etcd - distributed K/V-Store, authenticating via SSL PKI and a REST HTTP Api for shared configuration and service discovery.
- ZooKeeper - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
Software Containers
Operating system–level virtualization.
- Docker - Platform for developers and sysadmins to build, ship, and run distributed applications.
- LXC - Userspace interface for the Linux kernel containment features.
- OpenVZ - Container-based virtualization for Linux.
SSH
SSH tools.
- Advanced SSH config - Enhances ssh_config file capabilities, completely transparent.
- autossh - Automatically respawn ssh session after network interruption.
- Cluster SSH - Controls a number of xterm windows via a single graphical console.
- DSH - Dancer's shell / distributed shell - Wrapper for executing multiple remote shell commands from one command line.
- Mosh - The mobile shell.
- parallel-ssh - Provides parallel versions of OpenSSH and related tools.
- ssh-cert-authority - A democratic SSH certificate authority.
- ssh-ca - Allows giving ssh access to servers without putting a users key on the server, as well as expiring access.
- SSH Power Tool - Execute commands and upload files to many servers simultaneously without using pre-shared keys.
- sshrc - sources ~/.sshrc on your local computer after logging in remotely.
- stormssh - A command line tool to manage SSH connections.
Statistics
Analytics software.
- AWStats - Generates web, streaming, ftp or mail server statistics graphically.
- GoAccess - Real-time web log analyzer and interactive viewer that runs in a terminal.
- Open Web Analytics - Add web analytics to websites using JS, PHP or REST APIs.
- Piwik - Web analytics application.
- Webalizer - Fast web server log file analysis.
Status Pages
- Cachet - Status page system written in PHP.
- Stashboard - Status page for cloud services and APIs.
- System Status Dashboard (SSD) - Overview about an organization's infrastructure health status.
- Staytus - Staytus is a complete solution for publishing the latest information about any issues with your web applications, networks or services.
Ticketing systems
Web-based ticketing system.
- Bugzilla - General-purpose bugtracker and testing tool originally developed and used by the Mozilla project.
- Cerb - Group-based e-mail management project.
- Flyspray - Web-based bug tracking system written in PHP.
- MantisBT - Web-based bug tracking system.
- osTicket - Simple support ticket system.
- OTRS - Trouble ticket system for assigning tickets to incoming queries and tracking further communications.
- Request Tracker - Ticket-tracking system written in Perl.
- TheBugGenie - Ticket system with extensive user rights system.
Troubleshooting
Troubleshooting Tools.
- grml – bootable Debian Live CD with powerful CLI tools.
- mitmproxy - A Python tool used for intercepting, viewing and modifying network traffic. Invaluable in troubleshooting certain problems.
- perf-tools - Performance analysis tools based on Linux perf_events (aka perf) and ftrace.
- Sysdig - Capture system state and activity from a running Linux instance, then save, filter and analyze.
- Wireshark - The world's foremost network protocol analyzer.
Version control
Software versioning and revision control.
- Fossil - Distributed version control with built-in wiki and bug tracking.
- Git - Distributed revision control and source code management (SCM) with an emphasis on speed.
- GNU Bazaar - Distributed revision control system sponsored by Canonical.
- Mercurial - Another distributed revision control.
- Subversion - Client-server revision control system.
Virtualization
Virtualization software.
- Archipel - XMPP based virtualization management platform.
- ConVirt - Provides the core functionality for centrally managing your KVM or Xen virtualized environment.
- Ganeti - Cluster virtual server management software tool built on top of KVM and Xen.
- KVM - Linux kernel virtualization infrastructure.
- OpenNebula - Flexible enterprise cloud made simple.
- OpenNode - Builds open-source infrastructure management software and implements cloud systems.
- oVirt - Manages virtual machines, storage and virtual networks.
- Packer - A tool for creating identical machine images for multiple platforms from a single source configuration.
- Proxmox VE - Virtualization management solution.
- QEMU - QEMU is a generic machine emulator and virtualizer.
- Vagrant - Tool for building complete development environments.
- VirtualBox - Virtualization product from Oracle Corporation.
- Xen - Virtual machine monitor for 32/64 bit Intel / AMD (IA 64) and PowerPC 970 architectures.
VPN
VPN software.
- OpenVPN - Uses a custom security protocol that utilizes SSL/TLS for key exchange.
- Pritunl - OpenVPN based solution. Easy to set up.
- SoftEther - Multi-protocol software VPN with advanced features
- sshuttle - Poor man's VPN.
- strongSwan - Complete IPsec implementation for Linux.
- tinc - Distributed p2p VPN.
XMPP
XMPP servers.
- ejabberd - XMPP instant messaging server written in Erlang/OTP.
- Metronome IM - Fork of Prosody IM.
- MongooseIM - Fork of ejabberd.
- Openfire - Real time collaboration (RTC) server.
- Prosody IM - XMPP server written in Lua.
- Tigase - XMPP server implementation in Java.
XMPP Web Clients
- Candy - Multi user XMPP client written in Javascript.
- Kaiwa - Web based chat client in the style of common paid alternatives.
- Lets-Chat - A self hosted chat suite written in Node.
Web
Web servers.
- Apache - Most popular web server.
- Cherokee - Lightweight, high-performance web server/reverse proxy.
- Lighttpd - Web server more optimized for speed-critical environments.
- Nginx - Reverse proxy, load balancer, HTTP cache, and web server.
- uWSGI - The uWSGI project aims at developing a full stack for building hosting services.
Web Performance
- HAProxy - Software based load Balancing, SSL offloading and performance optimization, compression, and general web routing.
- Varnish - HTTP based web application accelerator focusing on optimizing caching and compression.
Wiki Software
See https://github.com/Kickball/awesome-selfhosted#wikis
Resources
Various resources, such as books, websites and articles, for improving your skills and knowledge.
Blogs
- Code as Craft - Etsy's Ops blog, lots of technical posts.
- DevOpsGuys - Devops consultants who blog about operations.
- Rackspace Developers - Slightly biased blog with lots of Devops Topics.
Books
Sysadmin related books.
- The Linux Command Line - A book about the Linux command line by William Shotts.
- The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win - How DevOps techniques can fix the problems that happen in IT organizations.
- The Practice of System and Network Administration - 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 - Is a methodology designed to jumpstart implementation of controls and process improvement.
- UNIX and Linux System Administration Handbook - Approaches system administration from a practical perspective.
Communities / Forums
For the social people.
- ArsTechnica OpenForum – IT Forum which is attached to a large news site.
- Reddit - Really, really large bulletin board system.
- /r/Linux - News and information about Linux.
- /r/LinuxQuestions
- /r/SysAdmin
- Spiceworks Community – General enterprise IT news and small articles.
- StackExchange Network – Q&A communities.
- Server Fault – StackExchange community for system and network administrators.
Newsletters
- Servers for Hackers - Newsletter for programmers who find themselves needing to know their way around a server.
- Web Operations Weekly - A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal.
Repositories
Software package repositories.
- AlternativeTo - Find alternatives to software you know and discover new software.
Debian-based distributions
- Dotdeb - Repository with LAMP updated packages for Debian.
RPM-based distributions
- ElRepo - Community Repo for Enterprise Linux (RHEL, CentOS, etc).
- EPEL - Repository for RHEL and compatibles (CentOS, Scientific Linux).
- Remi - Repository with LAMP updated packages for RHEL/Centos/Fedora.
- Software Collections - Community Release of Red Hat Software Collections. Provides updated packages of Ruby, Python, etc. for CentOS/Scientific Linux 6.x.
Websites
Useful sysadmin related websites.
- Ops School - Comprehensive program that will help you learn to be an operations engineer.
- Digital Ocean Tutorials - A surprisingly vast resource for getting the basics of certain applications, tools, or even systems administration topics.
Wikis
Useful Wikis for Sysadmins – not to be confused with Wiki software.
- ArchWiki – Arch Linux Wiki which has really nice written articles valid for other distros.
- Gentoo Wiki - Gentoo Linux Wiki with a lot in-detail description of Linux components.
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license.