Added bootstrap role with the tasks, defaults and handlers necessary for the playbooks
This commit is contained in:
216
roles/bootstrap/defaults/core_pkgs@Debian.yml
Normal file
216
roles/bootstrap/defaults/core_pkgs@Debian.yml
Normal file
@@ -0,0 +1,216 @@
|
||||
---
|
||||
#@TODO: packages needed: mail server, URL shortener, music player daemon
|
||||
server_pkgs:
|
||||
#@NOTE version control
|
||||
- package: git-all
|
||||
version: ~
|
||||
#@NOTE reverse proxy
|
||||
- package: caddy
|
||||
version: ~
|
||||
#@NOTE database management service
|
||||
- package: sqlite3
|
||||
version: ~
|
||||
#@NOTE database management service
|
||||
- package: postgresql
|
||||
version: ~
|
||||
#@NOTE onion router, relay or server
|
||||
- package: tor
|
||||
version: ~
|
||||
#@NOTE FTP service
|
||||
- package: proftpd-core
|
||||
version: ~
|
||||
#@NOTE antivirus module for extending FTP service
|
||||
- package: proftpd-mod-clamav
|
||||
version: ~
|
||||
#@NOTE cryptographic module for extending FTP service
|
||||
- package: proftpd-mod-crypto
|
||||
version: ~
|
||||
#@NOTE IRC chat service
|
||||
- package: inspircd
|
||||
version: ~
|
||||
#@NOTE IRC extended services
|
||||
- package: anope
|
||||
version: ~
|
||||
- package: gnunet
|
||||
version: ~
|
||||
#@NOTE CLI download manager service
|
||||
- package: aria2
|
||||
version: ~
|
||||
#@NOTE crowdsourced security stack
|
||||
- package: crowdsec
|
||||
version: ~
|
||||
#@NOTE TURN and STUN server
|
||||
- package: coturn
|
||||
version: ~
|
||||
server_pkgs_ext:
|
||||
#@NOTE VPN tunnel
|
||||
- package: tailscale
|
||||
version: ~
|
||||
key_orig_is_url: yes
|
||||
key: https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg
|
||||
key_dest: /usr/share/keyrings/tailscale-archive-keyring.gpg
|
||||
repo_orig_is_url: yes
|
||||
repo: https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list
|
||||
repo_dest: /etc/apt/sources.list.d/tailscale.list
|
||||
virtualization_pkgs:
|
||||
#@NOTE container engine
|
||||
- package: podman
|
||||
version: ~
|
||||
#@NOTE container engine configuration manager
|
||||
- package: podman-compose
|
||||
version: ~
|
||||
#@NOTE container engine
|
||||
- package: distrobox
|
||||
version: ~
|
||||
pkgmanager_pkgs:
|
||||
- package: snapd
|
||||
version: ~
|
||||
- package: flatpak
|
||||
version: ~
|
||||
cli_pkgs:
|
||||
#@NOTE terminal
|
||||
- package: kitty
|
||||
version: ~
|
||||
#@NOTE vi/vim-based text editor
|
||||
- package: neovim
|
||||
version: ~
|
||||
#@NOTE antivirus client
|
||||
- package: clamav
|
||||
version: ~
|
||||
#@NOTE intrusion prevention software framework
|
||||
- package: fail2ban
|
||||
version: ~
|
||||
#@NOTE SSL certificate tool
|
||||
- package: certbot
|
||||
version: ~
|
||||
#@NOTE Overlay file encryption tool
|
||||
- package: gocryptfs
|
||||
version: ~
|
||||
#@NOTE these should be available on the system by default
|
||||
# #@NOTE encryption, authentication and signature key manager
|
||||
# - package: gnupg
|
||||
# version: ~
|
||||
# - package: gnupg-agent
|
||||
# version: ~
|
||||
# - package: gnupg-l10n
|
||||
# version: ~
|
||||
# - package: gnupg-utils
|
||||
# version: ~
|
||||
# #@NOTE userspace filesystem utility
|
||||
# - package: fuse3
|
||||
# version: ~
|
||||
cli_pkgs_ext:
|
||||
#@NOTE markdown rendering or syntax highlighting
|
||||
- package: glow
|
||||
version: ~
|
||||
key_orig_is_url: yes
|
||||
key: https://repo.charm.sh/apt/gpg.key
|
||||
key_dest: /etc/apt/keyrings/charm.gpg
|
||||
repo_orig_is_url: no
|
||||
repo: repos.Debian/charm.list
|
||||
repo_dest: /etc/apt/sources.list.d/charm.list
|
||||
transcoding_pkgs:
|
||||
#@NOTE media-handling suite
|
||||
- package: ffmpeg
|
||||
version: ~
|
||||
#@NOTE VP9 video codec
|
||||
- package: libvpx9
|
||||
version: ~
|
||||
media_pkgs:
|
||||
#@NOTE media playtime synchronization server
|
||||
- package: syncplay-server
|
||||
version: ~
|
||||
coding_pkgs:
|
||||
#@NOTE NodeJS Javascript runtime environment
|
||||
- package: nodejs
|
||||
version: ~
|
||||
#@NOTE NodeJS documentation
|
||||
- package: nodejs-doc
|
||||
version: ~
|
||||
#@NOTE NodeJS package manager
|
||||
- package: npm
|
||||
version: ~
|
||||
#@NOTE NodeJS Reactjs web framework
|
||||
- package: node-react
|
||||
version: ~
|
||||
#@NOTE NodeJS expressjs web framework
|
||||
- package: node-express
|
||||
version: ~
|
||||
#@NOTE Elixir virtualized programming language
|
||||
- package: elixir
|
||||
version: ~
|
||||
#@NOTE Elixir/ErLand package manager
|
||||
- package: erlang-hex
|
||||
version: ~
|
||||
#@NOTE Crystal programming language
|
||||
- package: crystal
|
||||
version: ~
|
||||
#@NOTE Crystal documentation
|
||||
- package: crystal-doc
|
||||
version: ~
|
||||
#@NOTE Crystal package manager
|
||||
- package: shards
|
||||
version: ~
|
||||
#@NOTE Python programming language
|
||||
- package: python3
|
||||
version: ~
|
||||
#@NOTE Python package manager
|
||||
- package: pip
|
||||
version: ~
|
||||
#@NOTE Python web framework
|
||||
- package: python3-flask
|
||||
version: ~
|
||||
#@NOTE Ruby programming language
|
||||
- package: ruby-standalone
|
||||
version: ~
|
||||
#@NOTE Ruby package manager
|
||||
- package: ruby-rubygems
|
||||
version: ~
|
||||
#@NOTE Ruby web framework
|
||||
- package: ruby-rails
|
||||
version: ~
|
||||
#@NOTE Rust programming language
|
||||
- package: rustc
|
||||
version: ~
|
||||
#@NOTE Rust documentation
|
||||
- package: rust-doc
|
||||
version: ~
|
||||
#@NOTE Rust package manager
|
||||
- package: cargo
|
||||
version: ~
|
||||
#@NOTE Rust package manager documentation
|
||||
- package: cargo-doc
|
||||
version: ~
|
||||
#@NOTE Rust toolchain
|
||||
- package: rustup
|
||||
version: ~
|
||||
#@NOTE Lua programming language
|
||||
- package: lua5.1
|
||||
version: ~
|
||||
#@NOTE Lua documentation
|
||||
- package: lua5.1-doc
|
||||
version: ~
|
||||
#@NOTE Lua package manager
|
||||
- package: luarocks
|
||||
version: ~
|
||||
#@NOTE LLVM to Javascript compiler (needed for WASMoon module)
|
||||
- package: emscripten
|
||||
version: ~
|
||||
#@NOTE LLVM to Javascript compiler (needed for WASMoon module)
|
||||
- package: emscripten-doc
|
||||
version: ~
|
||||
#@NOTE R programming language
|
||||
- package: r-base
|
||||
version: ~
|
||||
#@NOTE R programming language
|
||||
- package: r-base
|
||||
version: ~
|
||||
#@NOTE PHP programming language
|
||||
- package: php
|
||||
version: ~
|
||||
#@NOTE PHP interpreter server
|
||||
- package: php-fpm
|
||||
version: ~
|
||||
#@NOTE PHP dependency manager
|
||||
- package: composer
|
||||
version: ~
|
4
roles/bootstrap/defaults/custom_pkgs@Debian.yml
Normal file
4
roles/bootstrap/defaults/custom_pkgs@Debian.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
#@NOTE list your packages consistent with format of 'core_pkgs@Debian.yml'
|
||||
#@NOTE no other keys/variables at top-level allowed than 'my_pkgs'
|
||||
my_pkgs: ~
|
52
roles/bootstrap/defaults/main/core_images@podman.yml
Normal file
52
roles/bootstrap/defaults/main/core_images@podman.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
#@TODO: additional self-hosted services to consider for images:
|
||||
#@NOTE https://awesome-selfhosted.net
|
||||
core_cimages:
|
||||
#@NOTE bash ssh service
|
||||
#@NOTE https://hub.docker.com/r/linuxserver/openssh-server
|
||||
- uri: docker.io/linuxserver/openssh-server
|
||||
tag: latest
|
||||
#@NOTE the below should only be used if not using caddy on host for webdev
|
||||
# #@NOTE Apache web service with PHP
|
||||
# #@NOTE https://hub.docker.com/_/php
|
||||
# #@NOTE https://hub.docker.com/_/httpd
|
||||
# - uri: docker.io/php
|
||||
# tag: apache
|
||||
#@NOTE cloud service
|
||||
#@NOTE https://nextcloud.com/blog/how-to-install-the-nextcloud-all-in-one-on-linux/
|
||||
#@NOTE https://github.com/nextcloud/all-in-one/blob/main/compose.yaml
|
||||
- uri: docker.io/nextcloud/aio-postgresql
|
||||
tag: latest
|
||||
#@NOTE OpenPGP public keyservice
|
||||
#@NOTE https://hockeypuck.io/install-docker.html
|
||||
- uri: docker.io/hockeypuck/hockeypuck
|
||||
tag: 2.0.14
|
||||
recc_cimages:
|
||||
#@NOTE livestreaming web service
|
||||
#@NOTE https://owncast.online/quickstart/container/
|
||||
- uri: docker.io/owncast/owncast
|
||||
tag: latest
|
||||
#@NOTE XMPP chat service
|
||||
#@NOTE https://prosody.im/doc/docker
|
||||
- uri: docker.io/prosody/prosody
|
||||
tag: latest
|
||||
#@NOTE matrix chat service
|
||||
#@NOTE https://element-hq.github.io/synapse/latest/setup/installation.html#docker-images-and-ansible-playbooks
|
||||
- uri: docker.io/matrixdotorg/synapse
|
||||
tag: latest
|
||||
#@NOTE budgeting web service
|
||||
#@NOTE https://actualbudget.org/docs/install/docker
|
||||
- url: docker.io/actualbudget/actual-server
|
||||
tag: latest-alpine
|
||||
#@NOTE grocery and household management web service
|
||||
#@NOTE https://hub.docker.com/r/linuxserver/grocy
|
||||
- url: docker.io/linuxserver/grocy
|
||||
tag: latest
|
||||
#@NOTE workout management web service
|
||||
#@NOTE https://wger.readthedocs.io/en/latest/production/docker.html
|
||||
- url: docker.io/wger/server
|
||||
tag: latest
|
||||
#@NOTE recipe management web service
|
||||
#@NOTE https://docs.mealie.io/documentation/getting-started/installation/installation-checklist/
|
||||
- url: docker.io/hkotel/mealie
|
||||
tag: latest
|
4
roles/bootstrap/defaults/main/custom_images@podman.yml
Normal file
4
roles/bootstrap/defaults/main/custom_images@podman.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
#@NOTE list your packages consistent with format of 'core_images@podman.yml'
|
||||
#@NOTE no other keys/variables at top-level allowed than 'my_cimages'
|
||||
my_cimages: ~
|
14
roles/bootstrap/defaults/main/general.yml
Normal file
14
roles/bootstrap/defaults/main/general.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
admins: ~
|
||||
guests: ~
|
||||
users: ~
|
||||
roots: ~
|
||||
pubkeys: ~
|
||||
root_acct: ~
|
||||
nonlogin_method: ~
|
||||
extra_packages: ~
|
||||
official_name: ~
|
||||
official_email: ~
|
||||
gpg_sign_id: ~
|
||||
homedir: ~
|
||||
cimages: ~
|
Reference in New Issue
Block a user