Skip to content

Commit

Permalink
Merge pull request #15 from Macleykun/ansible-playbook
Browse files Browse the repository at this point in the history
Add ansible playbook
  • Loading branch information
Dadoum authored Mar 2, 2024
2 parents 75128d5 + b7d5b51 commit 2ff3c1b
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,10 @@ DC=ldc2 dub build -c "static" --build-mode allAtOnce -b release --compiler=ldc2
stat anisette-v3-server
```

## Ansible

If you want to quickly setup anisette-v3 with ansible, just use the setup-anisette-v3-ansible.yaml playbook.
Setup your inventory and choose your desired host in the playbook. Tweak your parameters/ansible.cfg for the remote_user you use. Requires root.
```bash
ansible-playbook -i inventory setup-anisette-v3-ansible.yaml -k
```
94 changes: 94 additions & 0 deletions setup-anisette-v3-ansible.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
- name: Setup anisette-v3
hosts: ur.host.ip.addr
gather_facts: false
become: True
tasks:
- name: Setup podman
ansible.builtin.package:
name: podman
state: present

- name: Setup rootless user
ansible.builtin.user:
name: rootless
register: rootless_usr

- name: Make sure acl is installed for rootless
ansible.builtin.package:
name: acl
state: present

- name: enable linger
ansible.builtin.command:
cmd: "loginctl enable-linger rootless"
creates: /var/lib/systemd/linger/rootless

- name: Setup anisette-v3 container
containers.podman.podman_container:
name: anisette-v3
image: docker.io/dadoum/anisette-v3-server:latest
labels:
io.containers.autoupdate: registry
PODMAN_SYSTEMD_UNIT: pod-anisette-v3.service
state: created
rm: true
volume: /home/Alcoholic/.config/anisettev3/lib/
publish: 6969:6969
become_user: rootless

- name: Generate systemd unit file for anisette-v3 container
containers.podman.podman_generate_systemd:
name: anisette-v3
restart_policy: "always"
container_prefix: "pod"
new: true
dest: "/home/rootless/.config/systemd/user"
no_header: true
become_user: rootless

- name: Ensure anisettev3 container is started and enabled
ansible.builtin.systemd:
name: pod-anisette-v3
daemon_reload: true
state: started
scope: "user"
enabled: true
become_user: rootless
environment: # If you ever do systemctl stuff as the rootless user with containers, you must set that XDG variable so that you fix: Failed to connect to bus: No medium found, maybe good practise to put that export line into .bashrc mmm?
XDG_RUNTIME_DIR: /run/user/{{rootless_usr.uid}}

- name: Configure podman-auto-update on rootless
ansible.builtin.systemd:
name: podman-auto-update
daemon_reload: true
state: started
scope: "user"
enabled: true
become_user: rootless
environment: # If you ever do systemctl stuff as the rootless user with containers, you must set that XDG variable so that you fix: Failed to connect to bus: No medium found, maybe good practise to put that export line into .bashrc mmm?
XDG_RUNTIME_DIR: /run/user/{{rootless_usr.uid}}

- name: Configure podman-auto-update.timer on rootless
ansible.builtin.systemd:
name: podman-auto-update.timer
daemon_reload: true
state: started
scope: "user"
enabled: true
become_user: rootless
environment: # If you ever do systemctl stuff as the rootless user with containers, you must set that XDG variable so that you fix: Failed to connect to bus: No medium found, maybe good practise to put that export line into .bashrc mmm?
XDG_RUNTIME_DIR: /run/user/{{rootless_usr.uid}}

# - name: Configure podman-auto-update.timer to run every minute
# ansible.builtin.lineinfile:
# line: "OnUnitActiveSec=1min"
# insertbefore: "^Persistent"
# path: /home/rootless/.config/systemd/user/timers.target.wants/podman-auto-update.timer
# notify: Restart podman-auto-update.timer

# - name: Configure podman-auto-update.timer to not randomly delay
# ansible.builtin.lineinfile:
# line: "RandomizedDelaySec=1"
# regexp: "^RandomizedDelaySec"
# path: /home/rootless/.config/systemd/use

0 comments on commit 2ff3c1b

Please sign in to comment.