Skip to content

Mayurifag/mayurifag.ru

Repository files navigation

Ansible playbook for provisioning mayurifag.ru

Linters

Requires

VPS

  • DNS A records for your TLD and wildcard (*)
  • Debian 12+
  • Open ports on server provider' side

Mac/PC

  • Ansible python3 -m pip install --user ansible
  • (only MacOS) - passlib python3 -m pip install --user passlib (to use crypto module from ansible)
  • Setup inventory (if key not added, be prepared to add ansible_ssh_pass and that after general server setup)

Instructions

Initial setup

git clone https://github.com/Mayurifag/mayurifag.ru.git
cd mayurifag.ru
cp -rfp inventories/sample inventories/my-provision
# Now you are required to change my-provision files.
# or ln from some place like that:
# ln -s /Volumes/exfat/OpenCloud/Personal/Software/dotfiles/my-provision/ inventories/my-provision
# Dont forget you are required to generate ssh key and copy public into provision
ansible-galaxy install -r requirements.yml

Production deployment

TL;DR

make boostrap # run once, its cleaning known_hosts and makes ssh configuration
make deploy "traefik,mus" # or make deploy-all if you are sure

Optional steps

  • Make new ssh config section for convenience and using tmux by default
# ~/.ssh/config
Host change_that
    HostName change.that
    User admin_user # Change user
    Port 2222 # change port
    RequestTTY yes
    RemoteCommand tmux attach -d || tmux new-session -s main

Applications List

This list changed a lot through years, I'm trying to remove things I do not use.

Name Subdomain Auth Watchtower
3proxy app +
3x-ui 3x app
BentoPDF pdf ldap +
ConvertX convert ldap +
EchoIP ip none +
Gitea git todo
Glance rss none +
MkDocs docs ldap +
Mini-QR qr ldap +
mayurifag.github.io ldap +
mus mus ldap +
Navidrome navidrome app +
lldap ldap ldap +
OPDShelf opds ldap +
OpenCloud cloud ldap
Portainer portainer app +
TG AI Manager tg ldap +
Traefik / Crowdsec traefik ldap
Tinyauth auth ldap +
Watchtower HTTP API watchtower app +

Refer to POST_INSTALL.md for after deployment info.

TODO

  • make commands should be refactored. I want to see for each deploy where things are deployed and have easy instrumentation to change that because for now i have 2 machines with different ip/domains.

On hold

  • https://github.com/pranshuparmar/witr - wait debian repos to include it
  • Bandwhich - will require downloading binary to root - wait for deb repo
  • When Tinyauth will be an OIDC provider
    • make it work for opencloud
    • Portainer - setup automatic LDAP
  • zerobyte - webapp for restic backups - wait until developed stable version
  • Track finances selfhosted
  • ufw

Thinking if I need it / probably wont do - ideas / notes

About

♻️ Ansible inventory with bunch of dockerized services

Topics

Resources

Stars

Watchers

Forks

Contributors