Add aicoder user with opencode, Claude Code, and tmux
Dedicated aicoder user for AI coding tools. OpenCode and Claude Code installed per-user, service runs from ~/codeprojects. Also fixes forgejo-shell and SSH passthrough ordering in playbook. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
397d4fcc48
commit
72f691e25c
44
playbook.yml
44
playbook.yml
|
|
@ -354,14 +354,44 @@
|
||||||
group: "{{ login_user }}"
|
group: "{{ login_user }}"
|
||||||
mode: '0644'
|
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:
|
ansible.builtin.shell:
|
||||||
cmd: curl -fsSL https://opencode.ai/install | bash
|
cmd: curl -fsSL https://opencode.ai/install | bash
|
||||||
args:
|
args:
|
||||||
creates: /home/{{ login_user }}/.opencode/bin/opencode
|
creates: /home/aicoder/.opencode/bin/opencode
|
||||||
become_user: "{{ login_user }}"
|
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
|
- name: Create opencode systemd service
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
|
|
@ -374,9 +404,9 @@
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
User={{ login_user }}
|
User=aicoder
|
||||||
WorkingDirectory=/home/{{ login_user }}
|
WorkingDirectory=/home/aicoder/codeprojects
|
||||||
ExecStart=/home/{{ login_user }}/.opencode/bin/opencode serve --port 3000 --hostname 0.0.0.0
|
ExecStart=/home/aicoder/.opencode/bin/opencode serve --port 3000 --hostname 0.0.0.0
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue