#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: ~