From 7d61d77c2631c7a178772fbf1f0d97c91ae17a07 Mon Sep 17 00:00:00 2001 From: tolerryan <105945216+tolerryan@users.noreply.github.com> Date: Sun, 17 Aug 2025 23:25:02 -0500 Subject: [PATCH] Creating Semaphore --- roles/ind/semaphore/cron.vars | 34 +++++++++++++++++++ roles/ind/semaphore/docker-compose.yml | 37 ++++++++++---------- semaphore.tf | 47 ++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 20 deletions(-) create mode 100644 semaphore.tf diff --git a/roles/ind/semaphore/cron.vars b/roles/ind/semaphore/cron.vars index e69de29..5b3ef9c 100644 --- a/roles/ind/semaphore/cron.vars +++ b/roles/ind/semaphore/cron.vars @@ -0,0 +1,34 @@ +--- +cronjob: + + - name: apphome + job_name: "Daily /home/docker/ Backup" + job_minute: "0" + job_hour: "1" + job_day: "*" + user: "root" + job_command: "/home/docker/restic.sh --backup /home/docker/ " + + - name: weeklyapphomeverication + job_name: "Weekly /home/docker/ verification" + job_minute: "10" + job_hour: "3" + job_day: "1" + user: "root" + job_command: "/home/docker/restic.sh --verify /home/docker/" + + - name: appdata + job_name: "Daily /home/docker/ Backup" + job_minute: "0" + job_hour: "1" + job_day: "*" + user: "root" + job_command: "/home/docker/restic.sh --backup /data/ " + + - name: weeklyappdataverication + job_name: "Weekly /home/docker/ verification" + job_minute: "10" + job_hour: "3" + job_day: "1" + user: "root" + job_command: "/home/docker/restic.sh --verify /data/" \ No newline at end of file diff --git a/roles/ind/semaphore/docker-compose.yml b/roles/ind/semaphore/docker-compose.yml index 97ae20f..190ab7c 100644 --- a/roles/ind/semaphore/docker-compose.yml +++ b/roles/ind/semaphore/docker-compose.yml @@ -1,22 +1,19 @@ services: - -# semaphore server - semaphore: - ports: - - 3000:3000 - image: semaphoreui/semaphore:v2.13.14 - environment: - SEMAPHORE_DB_DIALECT: bolt - SEMAPHORE_ADMIN: semaadmin - SEMAPHORE_ADMIN_PASSWORD: G!$yrgMH8XkhPQ - SEMAPHORE_ADMIN_NAME: Admin - SEMAPHORE_ADMIN_EMAIL: admin@localhost - SEMAPHORE_USE_REMOTE_RUNNER: "True" - volumes: - - ./semaphore/data:/var/lib/semaphore - - ./semaphore/etc:/etc/semaphore - - ./semaphore/tmp:/tmp/semaphore + semaphore: + ports: + - 3000:3000 + image: semaphoreui/semaphore:v2.16.16 + environment: + SEMAPHORE_DB_DIALECT: bolt + SEMAPHORE_ADMIN: admin + SEMAPHORE_ADMIN_PASSWORD: changement + SEMAPHORE_ADMIN_NAME: admin + SEMAPHORE_ADMIN_EMAIL: password + volumes: + - /data/var:/var/lib/semaphore + - /data/etc/:/etc/semaphore + - /tmp/semaphore:/tmp/semaphore volumes: - ./semaphore/data: - ./semaphore/etc: - ./semaphore/tmp: + /data/var: + /data/etc/: + /tmp/semaphore: \ No newline at end of file diff --git a/semaphore.tf b/semaphore.tf new file mode 100644 index 0000000..016435a --- /dev/null +++ b/semaphore.tf @@ -0,0 +1,47 @@ +resource "proxmox_lxc" "semaphore" { + target_node = "ryuk" + hostname = "semaphore" + vmid = 226 + ostemplate = "cephfs:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst" + password = "terraform" + unprivileged = true + cores = 6 + memory = 2024 + start = true + tags = "terraform" + nameserver = "192.168.0.224" + ssh_public_keys = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFw70PrMsilcsqCrwW1I6PAt3anQbhmVg+t/HUfomug ryan@mxDesktop" + + features { + nesting = true + } + + rootfs { + storage = "local-lvm" + size = "128G" + } + + mountpoint{ + key = "0" + slot = 0 + storage = "CephSSD" + mp = "/data" + size = "128G" + } + + network { + name = "eth0" + bridge = "vmbr0" + ip = "192.168.0.62/24" + gw = "192.168.0.1" + + } + + provisioner "local-exec" { + command = "./.ansible.d/setup.sh $IP" + environment = { + IP = "192.168.0.62" + } + } + +}