53 lines
1.2 KiB
YAML
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
|