53 lines
1.2 KiB
YAML

---
- set_fact:
# TODO: Construct this out of information in ansible_facts
asset_name: sunshine-ubuntu-22.04-amd64.deb
- name: get latest version
uri:
url: https://api.github.com/repos/LizardByte/Sunshine/releases/latest
headers: '{{github_auth_headers}}'
register: latest
- set_fact:
assets: '{{latest.json.assets}}'
asset_query: '[?contains(name, `{{asset_name}}`)] | [0]'
- debug: var=assets
- debug: var=asset_query
- set_fact:
asset: '{{assets | json_query(asset_query)}}'
- debug: var=asset
- name: download deb file
get_url:
url: '{{asset.browser_download_url}}'
dest: '/tmp/{{asset_name}}'
- name: install package from deb file
become: true
apt:
deb: '/tmp/{{asset_name}}'
- name: remove deb file
file:
state: absent
path: '/tmp/{{asset_name}}'
- name: fix systemd unit
become: true
copy:
path: /usr/lib/systemd/user/sunshine.service
content: |
[Unit]
Description=Sunshine is a self-hosted game stream host for Moonlight.
StartLimitIntervalSec=500
StartLimitBurst=5
[Service]
ExecStart=/usr/bin/sunshine
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=xdg-desktop-autostart.target