From c92a0d0703c99addf5970a86afb93d8e4a82fcf3 Mon Sep 17 00:00:00 2001 From: cyrnel Date: Sun, 14 Sep 2025 13:02:21 -0400 Subject: [PATCH] feat: Add cloud-init file --- scripts/cloud-init/README.md | 5 +++ scripts/cloud-init/cloud-init.yaml | 49 ++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 scripts/cloud-init/README.md create mode 100644 scripts/cloud-init/cloud-init.yaml diff --git a/scripts/cloud-init/README.md b/scripts/cloud-init/README.md new file mode 100644 index 00000000..c7d68875 --- /dev/null +++ b/scripts/cloud-init/README.md @@ -0,0 +1,5 @@ +# cloud-init + +This folder contains cloud-init files for installing Abra and its dependencies. + +For more information, see diff --git a/scripts/cloud-init/cloud-init.yaml b/scripts/cloud-init/cloud-init.yaml new file mode 100644 index 00000000..4bba274d --- /dev/null +++ b/scripts/cloud-init/cloud-init.yaml @@ -0,0 +1,49 @@ +#cloud-config + +package_update: true +package_upgrade: true +package_reboot_if_required: true + +# https://packages.debian.org/bookworm/docker.io +packages: + - ca-certificates + - curl + - docker.io + - docker-compose + # https://stackoverflow.com/a/74084180 + - apparmor + +# https://docs.coopcloud.tech/operators/tutorial/#server-setup +runcmd: + - curl -fsSL https://install.abra.coopcloud.tech | env HOME=/root bash + - docker swarm init + - docker network create -d overlay proxy + +write_files: + # Add abra to PATH and set EDITOR + - path: /etc/profile.d/custom_path.sh + content: | + export PATH=$PATH:$HOME/.local/bin + export EDITOR=vim + owner: root:root + permissions: '0755' + # Send container log to journald: https://docs.coopcloud.tech/operators/handbook/#how-do-i-persist-container-logs-after-they-go-away + - path: /etc/docker/daemon.json + content: | + { + "log-driver": "journald", + "log-opts": { + "labels":"com.docker.swarm.service.name" + } + } + owner: root:root + permissions: '0644' + # Rotate logs + - path: /etc/systemd/journald.conf + content: | + [Journal] + Storage=persistent + SystemMaxUse=5G + MaxFileSec=1month + owner: root:root + permissions: '0644'