Skip to content

Instantly share code, notes, and snippets.

@joicemjoseph
Last active March 30, 2024 15:03
Show Gist options
  • Star 41 You must be signed in to star a gist
  • Fork 19 You must be signed in to fork a gist
  • Save joicemjoseph/c8283e55669594b5e5ef to your computer and use it in GitHub Desktop.
Save joicemjoseph/c8283e55669594b5e5ef to your computer and use it in GitHub Desktop.

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
    • Froxlor - Easy to use panel for Linux with Nginx and PHP-FPM support.
    • ISPConfig - Hosting control panel for Linux.
    • Sentora - Control panel for Linux, BSD, and Windows based on ZPanel.
    • VestaCP - Hosting panel for Linux but with Nginx.
  • 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

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

    • OpenTSDB - Store and server massive amounts of time series data without losing granularity.
    • KairosDB - Fast distributed scalable time series database, fork of OpenTSDB 1.x.
    • InfluxDB - Distributed time series database with no external dependencies.
  • 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
    • FlockDB - Twitter's distributed, fault-tolerant graph database.
    • Neo4j - Graph database.
  • Key-Value
    • LevelDB - Google's high performance key/value database.
    • Redis - Networked, in-memory, key-value data store with optional durability.
    • Riak - Another fault-tolerant key-value NoSQL database.

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

Packaging

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

Project Management

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.
  • 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.
  • 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.

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

Books

Sysadmin related books.

Communities / Forums

For the social people.

Newsletters

  • Servers for Hackers - Newsletter for programmers who find themselves needing to know their way around a server.
  • Web Operations Weekly - 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

cc license

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment