Add(module): add amap module Add(module): add common lib and services Add(module): add base structure for keycloak Add(module): add base structure for rocket Add(module): add n8n and windmill modules Add(docker): add install docker script in common module Add(template): add root for aldon.fr and mathieu.wiki in traefik.service template
97 lines
2.5 KiB
YAML
97 lines
2.5 KiB
YAML
#cloud-config
|
|
hostname: ${hostname}
|
|
local-hostname: ${hostname}
|
|
fqdn: ${hostname}.${domain}
|
|
manage_etc_hosts: true
|
|
|
|
users:
|
|
- default
|
|
- name: ${hostname}
|
|
groups: sudo
|
|
shell: /bin/bash
|
|
sudo: ALL=(ALL) NOPASSWD:ALL
|
|
ssh_authorized_keys:
|
|
- ${ssh_key}
|
|
|
|
disable_root: true
|
|
|
|
package_update: true
|
|
package_upgrade: false
|
|
|
|
packages:
|
|
- git
|
|
- nfs-common
|
|
- curl
|
|
- nginx
|
|
|
|
mounts:
|
|
- [ "192.168.1.12:/main/backups", "/backups", "nfs", "defaults,_netdev,x-systemd.requires=network-online.target", "0", "0" ]
|
|
|
|
write_files:
|
|
- path: /opt/environment/.env
|
|
permissions: "0644"
|
|
content: |
|
|
${env-file-content}
|
|
- path: /opt/gateway/install-traefik.sh
|
|
permissions: "0755"
|
|
content: |
|
|
${install-traefik-script}
|
|
- path: /opt/gateway/install-docker.sh
|
|
permissions: "0755"
|
|
content: |
|
|
${install-docker-script}
|
|
- path: /opt/gateway/install-crowdsec.sh
|
|
permissions: "0755"
|
|
content: |
|
|
${install-crowdsec-script}
|
|
- path: /etc/systemd/system/traefik.service
|
|
permissions: "0755"
|
|
content: |
|
|
${traefik-service}
|
|
- path: /usr/share/nginx/error-pages/502.html
|
|
permissions: "0644"
|
|
content: |
|
|
${nginx-error-502}
|
|
- path: /etc/nginx/sites-available/default
|
|
permissions: "0644"
|
|
content: |
|
|
${nginx-error-configuration}
|
|
- path: /usr/local/bin/restore-backup.sh
|
|
permissions: "0755"
|
|
content: |
|
|
${restore-backup-script}
|
|
- path: /etc/systemd/system/restore-backup.service
|
|
permissions: "0644"
|
|
content: |
|
|
${restore-backup-service}
|
|
- path: /usr/local/bin/backup.sh
|
|
permissions: "0755"
|
|
content: |
|
|
${create-backup-script}
|
|
- path: /etc/systemd/system/create-backup.timer
|
|
permissions: "0644"
|
|
content: |
|
|
${create-backup-timer}
|
|
- path: /etc/systemd/system/create-backup.service
|
|
permissions: "0644"
|
|
content: |
|
|
${create-backup-service}
|
|
|
|
bootcmd:
|
|
- hostnamectl set-hostname ${hostname}
|
|
|
|
runcmd:
|
|
# Backup setup
|
|
- mkdir -p /backups
|
|
- mount -t nfs ${proxmox_host_ip}:/main/backups /backups
|
|
- systemctl enable --now create-backup.timer
|
|
# Crowdsec / Terraform setup
|
|
- /opt/gateway/install-docker.sh
|
|
- /opt/gateway/install-crowdsec.sh
|
|
- /opt/gateway/install-traefik.sh
|
|
- ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled
|
|
- systemctl start nginx.service
|
|
- systemctl start restore-backup
|
|
|
|
final_message: |
|
|
Base system ready for ${hostname} |