diff options
Diffstat (limited to 'ansible/init.yaml')
| -rw-r--r-- | ansible/init.yaml | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/ansible/init.yaml b/ansible/init.yaml new file mode 100644 index 0000000..7facd59 --- /dev/null +++ b/ansible/init.yaml @@ -0,0 +1,60 @@ +- name: Init server deps + hosts: all + remote_user: root + + vars: + app_dir: "/home/{{ username }}/invoice" + nvm_sh_dir: "/home/{{ username }}/.nvm/nvm.sh" + + tasks: + - name: Create system user + ansible.builtin.user: + name: "{{ username }}" + group: users + create_home: yes + shell: /bin/bash + append: yes + + - name: Check if invoice directory exists + ansible.builtin.file: + path: "{{ app_dir }}" + state: directory + owner: "{{ username }}" + group: users + mode: "0755" + + - name: Add github to known hosts + shell: | + mkdir -p home/{{ username }}/.ssh/ + ssh-keyscan github.com >> home/{{ username }}/.ssh/known_hosts + args: + executable: /bin/bash + become: true + become_user: "{{ username }}" + + + - name: Check if nvm is installed + ansible.builtin.stat: + path: "{{ nvm_sh_dir }}" + register: nvm_stat + + - name: Install nvm + shell: > + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh + | bash + when: not nvm_stat.stat.exists + + - name: Install node.js + shell: | + . {{ nvm_sh_dir }} + nvm install 24.13.0 + args: + executable: /bin/bash + creates: "/home/{{ username }}/.nvm/versions/node/v24.13.0" + + - name: Install pm2 + shell: | + . {{ nvm_sh_dir }} + npm list -g pm2 || npm install -g pm2 + args: + executable: /bin/bash |
