Skip to content

Repository files navigation

Tristan's Home Server

A set of ansible scripts for setting up my home server.

Services

These scripts set up the following services:

Usage

  1. Clone the repository
    git clone https://github.com/thavelick/home-server.git
    cd home-server
  2. Install Ansible

    See the Ansible documentation

  3. Create an inventory file:
    cat > hosts <<EOF
    [servers]
    my-server.dev.local
    
    [servers.vars]
    certbot_admin_email=tristan@example.com
    dynamicdns_password=aaaaaaaa11111111aaaaaaaa11111111
    nextcloud_admin_user=your-hidden-password
    local_network=192.168.1.0/16
    marginalia_api_key=your_api_key
    miniflux_admin_password=good-password
    miniflux_db_user_password=such-a-great-password
    openvpn_provider=your-provider
    openvpn_config=uk_london
    openvpn_username=p83748378
    openvpn_password=ptrlkn1nt
    parent_domain=dev.local
    wallabag_secret="my super secret secret"
    wallabag_email=tristan@example.com
    wallabag_email_password=a-really-good-password
    wallabag_admin_user=wallabag
    wallabag_admin_password=an-even-better-password
    searxng_secret_key=another-secret-key
    searxng_just_auth_password="choose a password for searxng"
    searxng_just_auth_salt="just a random string"
    home_assistant_google_service_account_private_key="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
    home_assistant_google_service_account_private_key_id=your_private_key_id
    EOF
  4. Set up DNS At Name cheap
  5. Install Ansible Dependencies
    ansible-galaxy install -r requirements.yml
  6. Run the playbook:
    ansible-playbook -i hosts playbook.yml
  7. Copy/Upload zim files for kiwix to {{kiwix_site_root}}/data
  • I thought about automating this, but many of these files are huge, making them easier to copy locally if you have them, and it's often difficult to determine which is the newest or best zim file in an automated fashion
  1. Visit all the sites!

Watching Twitch on a Roku

Twitch Enhanced Broadcasting streams bundle audio and video into a single fMP4 rendition. Roku's player expects one elementary stream per rendition, so those streams fail with error 970 or play with no audio. The fmp4_demux_proxy role runs a proxy that splits them apart.

It does nothing until the Roku is pointed at it. In the Stitch channel, go to Settings -> Proxy URL and enter the server's address on the LAN:

http://<server-ip>:8080

Leave that field empty to disable the proxy; regular Twitch streams are unaffected either way.

About

A set of ansible scripts for setting up my home server.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages