Add initial working state
This commit is contained in:
commit
99b1b78cfc
3 changed files with 80 additions and 0 deletions
62
deploy.yml
Normal file
62
deploy.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
- name: Deploy vencloud
|
||||
hosts: all
|
||||
remote_user: root
|
||||
tasks:
|
||||
- name: Set architecture specific variables
|
||||
set_fact:
|
||||
arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}"
|
||||
- name: Create vencloud user
|
||||
ansible.builtin.user:
|
||||
name: vencloud
|
||||
system: true
|
||||
comment: vencloud service user
|
||||
shell: /usr/bin/bash
|
||||
- name: Install dependencies
|
||||
ansible.builtin.package:
|
||||
name: sudo,git
|
||||
state: present
|
||||
- name: Clone vencloud repository
|
||||
ansible.builtin.git:
|
||||
repo: 'https://github.com/vencord/vencloud'
|
||||
dest: /home/vencloud/vencloud
|
||||
become: true
|
||||
become_user: vencloud
|
||||
- name: Download golang
|
||||
ansible.builtin.get_url:
|
||||
url: https://go.dev/dl/go1.24.1.linux-{{arch}}.tar.gz
|
||||
dest: /home/vencloud/golang.tar.gz
|
||||
checksum: sha256:cb2396bae64183cdccf81a9a6df0aea3bce9511fc21469fb89a0c00470088073
|
||||
become: true
|
||||
become_user: vencloud
|
||||
register: golang_download
|
||||
- name: Delete old golang
|
||||
ansible.builtin.file:
|
||||
path: /home/vencloud/go
|
||||
state: absent
|
||||
when: golang_download.changed
|
||||
become: true
|
||||
become_user: vencloud
|
||||
- name: Extract golang
|
||||
ansible.builtin.unarchive:
|
||||
src: /tmp/golang.tar.gz
|
||||
dest: /home/vencloud
|
||||
remote_src: true
|
||||
when: golang_download.changed
|
||||
become: true
|
||||
become_user: vencloud
|
||||
- name: Build vencloud
|
||||
ansible.builtin.command:
|
||||
cmd: /home/vencloud/go/bin/go build -o backend
|
||||
chdir: /home/vencloud/vencloud
|
||||
become: true
|
||||
become_user: vencloud
|
||||
- name: Upload systemd service file
|
||||
ansible.builtin.copy:
|
||||
src: vencloud.service
|
||||
dest: /etc/systemd/system/vencloud.service
|
||||
- name: Restart vencloud
|
||||
ansible.builtin.systemd:
|
||||
name: vencloud
|
||||
state: restarted
|
||||
enabled: true
|
||||
daemon_reload: true
|
3
inventory.yml
Normal file
3
inventory.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
all:
|
||||
hosts:
|
||||
vencloud:
|
15
vencloud.service
Normal file
15
vencloud.service
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Unit]
|
||||
Description=Vencord cloud settings server
|
||||
After=network-online.target
|
||||
ConditionPathExists=/home/vencloud/vencloud/.env
|
||||
|
||||
[Service]
|
||||
ExecStart=/home/vencloud/vencloud/backend
|
||||
User=vencloud
|
||||
ProtectHome=read-only
|
||||
ProtectSystem=strict
|
||||
NoNewPrivileges=true
|
||||
EnvironmentFile=/home/vencloud/vencloud/.env
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Add table
Reference in a new issue