Replies: 1 comment
-
With Container, you have to deal with the file system seperation, which leads to several complications:
With systemd, Periphery runs on the host, with no seperation with the host filesystem, making all these confusing file system mapping issues go away. The fact is, Periphery is designed to communicate directly with the system, so the container separation gets in the way. I can see why this requires more trust in the application to operate outside container, but also note that you can leverage the So overall, I prefer It sounds like you like systemctl, in your case I'd say yeah, use systemctl, and do the deploy with Ansible. Like I mentioned before, its fully automatable as well, and you can do it as a Komodo Stack deployed on git push. - name: Deploy Periphery
hosts: periphery
tasks:
- name: Ensure config dir
file:
path: "{{ HOME }}/.config/komodo"
state: directory
mode: '0755'
- name: Download config
get_url:
url: https://your.git.provider/komodo/periphery/raw/branch/main/periphery.config.toml
dest: "{{ HOME }}/.config/komodo/periphery.config.toml"
mode: '0644'
- name: Ensure service dir
file:
path: "{{ HOME }}/.config/systemd/user"
state: directory
mode: '0755'
- name: Download service
get_url:
url: https://your.git.provider/komodo/periphery/raw/branch/main/periphery.service
dest: "{{ HOME }}/.config/systemd/user/periphery.service"
mode: '0644'
- name: Ensure bin dir
file:
path: "{{ HOME }}/.local/bin"
state: directory
mode: '0755'
- name: Download bin
get_url:
url: https://github.com/mbecker20/komodo/releases/download/v1.16.12/periphery-x86_64 # or -aarch64
dest: "{{ HOME }}/.local/bin/periphery"
mode: '0755'
- name: Restart periphery
shell: |
systemctl --user daemon-reload
systemctl --user restart periphery
args:
executable: /bin/bash services:
ansible:
image: alpine/ansible
user: 1000:1000
network_mode: host
working_dir: /project
command: ansible-playbook -i hosts.ini playbook.yaml --extra-vars "HOME=$HOME"
volumes:
- /etc/passwd:/etc/passwd
- $HOME/.ssh:$HOME/.ssh
- ./.ansible:$HOME/.ansible
- ./hosts.ini:/project/hosts.ini
- ./playbook.yaml:/project/playbook.yaml 🦎 |
Beta Was this translation helpful? Give feedback.
-
That is the question. 😅
I am a fan of systemd. I know it gets a bunch of hate but with my Arch setups it has done a lot more good than bad.
I wanted to know, is there a significant resource or performance benefit to justify the effort of changing Komodo and/or periphery from docker containers to native-run binaries?
My original perspective was "well, they're FOR Docker, might as well run them there", but I would appreciate input from the 🐴 👄.
Beta Was this translation helpful? Give feedback.
All reactions