300 lines
7.6 KiB
YAML
300 lines
7.6 KiB
YAML
#SPDX-License-Identifier: MIT-0
|
|
---
|
|
# vars file for bootstrap
|
|
# @TODO make list or dictionary of software to be installed in bootstrap task
|
|
software:
|
|
pkgs:
|
|
# @NOTE keep fields or keys constant; otherwise will have to edit handler notifiers and listeners elsewhere
|
|
failtwoban:
|
|
name:
|
|
apt: fail2ban
|
|
gocryptfs:
|
|
name:
|
|
apt: gocryptfs
|
|
lua-lang:
|
|
name:
|
|
apt: lua5.4
|
|
lua-docs:
|
|
name:
|
|
apt: luadoc
|
|
lua-pkg:
|
|
name:
|
|
apt: luarocks
|
|
python-lang:
|
|
name:
|
|
apt: python3
|
|
python-pkg:
|
|
name:
|
|
apt: python3-pip
|
|
python-linter:
|
|
name:
|
|
apt: python3-doc8
|
|
python-docs:
|
|
name:
|
|
apt: python3-doc
|
|
rust-lang:
|
|
name:
|
|
apt: rustc # @NOTE alternative: rustup
|
|
rust-pkg:
|
|
name:
|
|
apt: cargo
|
|
rust-debugger:
|
|
name:
|
|
apt: rust-analyzer
|
|
rust-linter:
|
|
name:
|
|
apt: rust-clippy
|
|
rust-docs:
|
|
name:
|
|
apt: rust-doc
|
|
java-lang:
|
|
name:
|
|
apt: default-jdk-headless
|
|
java-docs:
|
|
name:
|
|
apt: default-jdk-doc
|
|
java-runtime:
|
|
name:
|
|
apt: default-jre-headless
|
|
kotlin-lang:
|
|
name:
|
|
apt: kotlin
|
|
swift-lang:
|
|
name:
|
|
apt: swiftlang
|
|
swift-docs:
|
|
name:
|
|
apt: swiftlang-doc
|
|
erlang-lang:
|
|
name:
|
|
apt: erlang
|
|
erlang-pkg:
|
|
name:
|
|
apt: erlang-hex
|
|
erlang-docs:
|
|
name:
|
|
apt: erlang-doc
|
|
elixir-lang:
|
|
name:
|
|
apt: elixir
|
|
crystal-lang:
|
|
name:
|
|
apt: crystal
|
|
crystal-docs:
|
|
name:
|
|
apt: crystal-doc
|
|
# @TODO replace below commented with an NVM-style installation (v22): https://nodejs.org/en/download
|
|
# javascript-lang:
|
|
# name:
|
|
# apt: nodejs
|
|
# javascript-pkg:
|
|
# name:
|
|
# apt: npm
|
|
# javascript-linter:
|
|
# name:
|
|
# apt: eslint
|
|
javascript-docs:
|
|
name:
|
|
apt: nodejs-doc
|
|
php-lang:
|
|
name:
|
|
apt: php
|
|
php-docs:
|
|
name:
|
|
apt: php-common
|
|
php-debugger:
|
|
name:
|
|
apt: php-xdebug
|
|
php-pkg:
|
|
name:
|
|
apt: composer
|
|
# php-ldap:
|
|
# name:
|
|
# apt: php-ldap
|
|
html-linter:
|
|
name:
|
|
apt: tidy
|
|
json-linter:
|
|
name:
|
|
apt: jsonlint
|
|
yaml-linter:
|
|
name:
|
|
apt: yamllint
|
|
pandoc:
|
|
name:
|
|
apt: pandoc
|
|
distrobox:
|
|
name:
|
|
apt: distrobox
|
|
fastfetch:
|
|
name:
|
|
apt: fastfetch
|
|
# @TODO manually install the commented below on current active new VPS, then uncomment
|
|
# duplicity:
|
|
# name:
|
|
# apt: duplicity
|
|
# pass:
|
|
# name:
|
|
# apt: pass
|
|
# sonicpi:
|
|
# name:
|
|
# apt: sonic-pi-server
|
|
# sonicpi-docs:
|
|
# name:
|
|
# apt: sonic-pi-server-doc
|
|
# supercollider:
|
|
# name:
|
|
# apt: supercollider
|
|
# supercollider-docs:
|
|
# name:
|
|
# apt: supercollider-common
|
|
# supercollider-plugins:
|
|
# name:
|
|
# apt: sc3-plugins-language
|
|
qrencode:
|
|
name:
|
|
apt: qrencode
|
|
ffmpeg:
|
|
name:
|
|
apt: ffmpeg
|
|
ffmpeg-docs:
|
|
name:
|
|
apt: ffmpeg-doc
|
|
graphicsmagick:
|
|
name:
|
|
apt: graphicsmagick
|
|
graphicsmagick-compatibility:
|
|
name:
|
|
apt: graphicsmagick-imagemagick-compat
|
|
timg:
|
|
name:
|
|
apt: timg
|
|
tmux:
|
|
name:
|
|
apt: tmux
|
|
# @TODO add glow apt repository in install@linux bootstrap role play before uncommenting the below
|
|
# glow:
|
|
# name:
|
|
# apt: glow
|
|
# @TODO add ZFS apt repository in install@linux bootstrap role play before uncommenting the below
|
|
# zfs:
|
|
# name:
|
|
# apt: zfsutils-linux
|
|
# @TODO manually install the commented below on current active new VPS, then uncomment
|
|
# dpkg-dev:
|
|
# name:
|
|
# apt: dpkg-dev
|
|
# ldap-utils:
|
|
# name:
|
|
# apt: ldap-utils
|
|
# slapd:
|
|
# name:
|
|
# apt: slapd
|
|
proftpd-mod-crypto:
|
|
name:
|
|
apt: proftpd-mod-crypto
|
|
# proftpd-mod-ldap:
|
|
# name:
|
|
# apt: proftpd-mod-ldap
|
|
# @TODO manually install the commented below on current active new VPS, then uncomment
|
|
# proftpd-mod-clamav:
|
|
# name:
|
|
# apt: proftpd-mod-clamav
|
|
proftpd:
|
|
name:
|
|
apt: proftpd
|
|
proftpd-docs:
|
|
name:
|
|
apt: proftpd-doc
|
|
rsync:
|
|
name:
|
|
apt: rsync
|
|
# rclone:
|
|
# name:
|
|
# apt: rsync
|
|
aria:
|
|
name:
|
|
apt: aria2
|
|
# mopidy:
|
|
# name:
|
|
# apt: mopidy
|
|
# mopidy-mpd:
|
|
# name:
|
|
# apt: mopidy-mpd
|
|
# caddy:
|
|
# name:
|
|
# apt: caddy
|
|
snaps:
|
|
nextcloud:
|
|
name: nextcloud
|
|
channel: ~
|
|
opts:
|
|
- "nextcloud:php.memory-limit=512M"
|
|
- "nextcloud:nextcloud.cron-interval=10m"
|
|
- "nextcloud:http.compression=true"
|
|
- "nextcloud:ports.http=81"
|
|
# @TODO see how to set these options: https://help.nextcloud.com/t/how-to-configure-nextcloud-snap/216036#p-649442-trusted-domains-configuration-8
|
|
# @TODO see how to set these options: https://help.nextcloud.com/t/how-to-configure-nextcloud-snap/216036#p-649442-trusted-proxy-configuration-9
|
|
containers:
|
|
ariang:
|
|
name: https://docker.io/p3terx/ariang
|
|
tag: latest
|
|
links:
|
|
quartz:
|
|
name: quartz
|
|
src: https://github.com/jackyzha0/quartz.git
|
|
branch: v4
|
|
version: ~
|
|
output: ~
|
|
config:
|
|
git:
|
|
sys:
|
|
editor: nvim
|
|
proftpd:
|
|
name: "{{ hostvars[inventory_hostname].fqdn.split('.')[0] }}"
|
|
auth_filepaths:
|
|
users_path: /etc/proftpd/ftpd.passwd
|
|
groups_path: /etc/proftpd/ftpd.group
|
|
msg:
|
|
welcome: "Our head librarians Furcas and Marbas welcome you!"
|
|
vusers:
|
|
webmaster:
|
|
username: webmaster
|
|
id_of: "{{ ['caddy', 'www-data'][0] }}"
|
|
gid_of: "{{ ['caddy', 'www-data'][0] }}"
|
|
# @TODO create vaulted password for this ProFTPd virtual user
|
|
password: !vault |
|
|
$ANSIBLE_VAULT;1.2;AES256;vps1-webmaster
|
|
63633938633139636663623166343836643839306538373762393834393230336334383334303163
|
|
3465323831366163386265353664313932383664373838660a363463303364373963353638396462
|
|
65356135623030653533333766623865643065303739386538636662303537376466333039613363
|
|
3932313334643163650a303336623031613964356433363536373236303266663735343939383930
|
|
3636
|
|
services: [http,https]
|
|
smuggler:
|
|
username: smuggler
|
|
id_of: "{{ hostvars[inventory_hostname].users.ftp.username }}"
|
|
gid_of: "{{ hostvars[inventory_hostname].users.ftp.group | default(hostvars[inventory_hostname].users.ftp.username) }}"
|
|
# @TODO create vaulted password for this ProFTPd virtual user
|
|
password: !vault |
|
|
$ANSIBLE_VAULT;1.2;AES256;vps1-smuggler
|
|
38396565313866383761303137343431613830643436666431316434393362623035623031656263
|
|
6537313630393433336133643166363564383163616232320a623034636664353864613862353366
|
|
38303663363665663366336131663431383936306131616262376162653837326163393561323465
|
|
3734333031323330300a353562353035323731303732323534613938353935393433646235356137
|
|
62336333666362383665623466353337303134623966663061366235303261653333
|
|
services: []
|
|
tls_paths:
|
|
cert: "/usr/local/share/ca-certificates/{{ hostvars[inventory_hostname].fqdn }}.crt"
|
|
privkey: "/usr/local/share/ca-certificates/{{ hostvars[inventory_hostname].fqdn }}.key"
|
|
nextcloud:
|
|
users:
|
|
admin:
|
|
username: admin
|
|
# @TODO change this password to ansible-vaulted actual choice password later
|
|
password: password123 # @NOTE placeholder
|
|
aria:
|
|
checksum: ~
|
|
secret: ~
|
|
|