diff --git a/playbook.yml b/playbook.yml index f09dbdf..6da1311 100644 --- a/playbook.yml +++ b/playbook.yml @@ -354,14 +354,44 @@ group: "{{ login_user }}" mode: '0644' - # --- OpenCode --- + # --- OpenCode / Claude Code --- - - name: Install opencode + - name: Create aicoder user + ansible.builtin.user: + name: aicoder + shell: /bin/bash + home: /home/aicoder + create_home: yes + + - name: Create codeprojects directory + ansible.builtin.file: + path: /home/aicoder/codeprojects + state: directory + owner: aicoder + group: aicoder + mode: '0755' + + - name: Install tmux + ansible.builtin.apt: + name: tmux + state: present + + - name: Install opencode for aicoder ansible.builtin.shell: cmd: curl -fsSL https://opencode.ai/install | bash args: - creates: /home/{{ login_user }}/.opencode/bin/opencode - become_user: "{{ login_user }}" + creates: /home/aicoder/.opencode/bin/opencode + become_user: aicoder + + - name: Install Claude Code for aicoder + ansible.builtin.shell: + cmd: npm install -g @anthropic-ai/claude-code + args: + creates: /home/aicoder/.npm-global/lib/node_modules/@anthropic-ai/claude-code + become_user: aicoder + environment: + NPM_CONFIG_PREFIX: /home/aicoder/.npm-global + PATH: "/home/aicoder/.npm-global/bin:{{ ansible_env.PATH }}" - name: Create opencode systemd service ansible.builtin.copy: @@ -374,9 +404,9 @@ [Service] Type=simple - User={{ login_user }} - WorkingDirectory=/home/{{ login_user }} - ExecStart=/home/{{ login_user }}/.opencode/bin/opencode serve --port 3000 --hostname 0.0.0.0 + User=aicoder + WorkingDirectory=/home/aicoder/codeprojects + ExecStart=/home/aicoder/.opencode/bin/opencode serve --port 3000 --hostname 0.0.0.0 Restart=on-failure RestartSec=5