Skip to content
/ infra Public

My self-hosted Linux environment, deployed and managed with Ansible and Podman.

License

Notifications You must be signed in to change notification settings

chrisx8/infra

Repository files navigation

chrisx8/infra

This repo is an Ansible monorepo for my self-hosted Linux environment.

Usage

Setup

First, make sure you have Python 3.12 and uv installed.

Then, install repo dependencies, including Ansible, Ansible collections, ansible-lint, pre-commit hooks, and other Python packages:

./utils/envsetup.sh

After initial setup, simply activate the virtualenv when working in this repo:

source ./activate

Shell functions

Once you activate the virtualenv with ./activate, some shell aliases will be available.

Available shell aliases:

  • anplay: run ansible-playbook
  • anvault: run ansible-vault
  • chkall: run pre-commit checks on all files

Update environment

With the virtualenv activated, run the update script, which will update Python packages, Ansible collections, and pre-commit hooks:

./utils/envupdate.sh

License

GNU GPLv3

Copyright (c) 2021-2024 Chris Xiao

About

My self-hosted Linux environment, deployed and managed with Ansible and Podman.

Resources

License

Stars

Watchers

Forks