GithubHelp home page GithubHelp logo

buckarooh / ansible_home Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jgoutin/ansible_home

0.0 0.0 0.0 595 KB

A collection of Ansible roles for home free software self-hosting.

Home Page: https://galaxy.ansible.com/jgoutin/home

License: GNU General Public License v3.0

Python 28.75% Jinja 71.25%

ansible_home's Introduction

Ansible Role: "jgoutin.home.clamav" Ansible Role: "jgoutin.home.common" Ansible Role: "jgoutin.home.coturn" Ansible Role: "jgoutin.home.kodi" Ansible Role: "jgoutin.home.musicplayer" Ansible Role: "jgoutin.home.mail" Ansible Role: "jgoutin.home.mpd" Ansible Role: "jgoutin.home.nextcloud" Ansible Role: "jgoutin.home.nginx" Ansible Role: "jgoutin.home.php_fpm" Ansible Role: "jgoutin.home.postgresql" Ansible Role: "jgoutin.home.redis" Ansible Role: "jgoutin.home.rpmfusion" Ansible Role: "jgoutin.home.squid"

This is a collection of Ansible roles for free software self-hosting.

This collection mainly targets individuals or eventually small companies, but is done with professional quality standards.

These roles are done with in mind:

  • Up to date and fully featured software.
  • Security.
  • Minimal maintenance.

To achieve well the two first points, Fedora is used as the base OS because it always provides up-to-date versions of software and advanced security feature like SELinux by default. To again improve the security, optional system-wide hardening can be applied and many security-related configurations are available. To achieve the minimal maintenance, auto-updates (with auto-reboot, if required) are set for all packages every day.

Of course, there are always drawbacks with all choices. In that case, it is the risk of an update that breaks something and makes the service unavailable.

If you absolutely require a perfectly stable service with a 99.99% availability, use some other role based on LTS OS and software versions. No guarantee is provided with the use of these roles.

Roles

For more information on roles, please refer to the documentation.

Main roles

  • common: Perform common machine initialisation tasks like configuring: auto-updates, firewall, NTP server, SSH and OS security hardening,...
  • nextcloud: Install a Nextcloud server.
  • musicplayer: Install a standalone music player, by default Lollypop.
  • kodi: Install a Kodi home theater personal computer.
  • mail: Install a mail server using Postfix and Dovecot.
  • mpd: Install a Music Player Daemon server.
  • squid: Install Squid caching proxy server.

The common role is intended to be used with all other roles and may be required by some of them.

Dependencies roles

These roles are used as main roles dependencies, but is it also possible to use them directly:

  • clamav: Install ClamAV antivirus.
  • coturn: Install CoTURN TURN/STUN server.
  • nginx: Install a Nginx web server.
  • postgresql: Install a PostgreSQL database.
  • php_fpm: Install a PHP-FPM server.
  • redis: Install Redis in memory data store.
  • rpmfusion: Enable RPMFusion repositories.

Installation

This collection is available on Ansible Galaxy.

ansible-galaxy collection install jgoutin.home

Example Playbook

---
- hosts: all
  become: true
  collections:
    - jgoutin.home
  roles:
    - common
    - kodi

ansible_home's People

Contributors

jgoutin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.