Use lightburn without docker
This commit is contained in:
parent
1e0e997f17
commit
27ec180b79
12 changed files with 79 additions and 113 deletions
|
|
@ -66,6 +66,17 @@ security_scanner:
|
||||||
tags:
|
tags:
|
||||||
- fablab
|
- fablab
|
||||||
|
|
||||||
|
lightburn-download:
|
||||||
|
stage: prepare
|
||||||
|
image: alpine
|
||||||
|
script:
|
||||||
|
- mkdir -p packer/ansible/roles/lightburn/files
|
||||||
|
- 'wget -O packer/ansible/roles/lightburn/files/lightburn.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "${CI_SERVER_URL}/api/v4/projects/fablab%2Flightburn-patched/jobs/artifacts/main/download?job=patch-Linux64"'
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- packer/ansible/roles/lightburn/files/lightburn.zip
|
||||||
|
expire_in: 4 hours
|
||||||
|
|
||||||
.squashfs_template: &squashfs_template
|
.squashfs_template: &squashfs_template
|
||||||
image: $DOCKER_IMAGE_BUILDER
|
image: $DOCKER_IMAGE_BUILDER
|
||||||
stage: build
|
stage: build
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
- role: firefox
|
- role: firefox
|
||||||
- role: windowmanager
|
- role: windowmanager
|
||||||
- role: inkscape
|
- role: inkscape
|
||||||
|
- role: lightburn
|
||||||
- role: fablab
|
- role: fablab
|
||||||
- role: hardware
|
- role: hardware
|
||||||
- role: docker
|
- role: docker
|
||||||
|
|
@ -109,3 +110,6 @@
|
||||||
Du hast Dich mit einem Gast-Account angemeldet. Alle Daten werden nach
|
Du hast Dich mit einem Gast-Account angemeldet. Alle Daten werden nach
|
||||||
der Anmeldung gelöscht. Wenn Du Deine Daten dauerhaft speichern
|
der Anmeldung gelöscht. Wenn Du Deine Daten dauerhaft speichern
|
||||||
möchtest, lege Dir bitte einen Account an!
|
möchtest, lege Dir bitte einen Account an!
|
||||||
|
lightburn:
|
||||||
|
devices:
|
||||||
|
- https://raw.githubusercontent.com/fablab-nea/LaserKutter/main/lightburn/LaserKutter.lbdev
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Name=LightBurn
|
|
||||||
GenericName=LightBurn
|
|
||||||
Comment=Laser Cutter Job Control Application
|
|
||||||
Exec=x-terminal-emulator -e 'sudo /usr/local/bin/lightburn'
|
|
||||||
Icon=/usr/local/share/lightburn/lightburn.png
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Categories=Graphics
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
. /etc/default/lightburn
|
|
||||||
|
|
||||||
if [ ! -z "$SUDO_COMMAND" ] && [ "$SUDO_COMMAND" = "$0" ]; then
|
|
||||||
home="$(getent passwd "$SUDO_UID" | cut -d: -f6)"
|
|
||||||
export PUID="$SUDO_UID"
|
|
||||||
export PGID="$SUDO_GID"
|
|
||||||
else
|
|
||||||
home="$HOME"
|
|
||||||
export PUID=$(id -u)
|
|
||||||
export PGID=$(id -g)
|
|
||||||
fi
|
|
||||||
|
|
||||||
config_dir="$home/.config/lightburn"
|
|
||||||
|
|
||||||
mkdir -p "$config_dir"
|
|
||||||
|
|
||||||
media="/media/$(id -un $PUID)"
|
|
||||||
if [ -e "$media" ]; then
|
|
||||||
media_volume="-v $media:/media"
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run \
|
|
||||||
--rm \
|
|
||||||
-e PUID \
|
|
||||||
-e PGID \
|
|
||||||
-e DISPLAY \
|
|
||||||
-v /tmp/.X11-unix/:/tmp/.X11-unix/ \
|
|
||||||
-v $config_dir:/config/ \
|
|
||||||
-v $home:/workdir/ \
|
|
||||||
$media_volume \
|
|
||||||
--network=none \
|
|
||||||
"$LIGHTBURN_DOCKER_IMAGE"
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
---
|
|
||||||
- file:
|
|
||||||
path: /usr/local/share/lightburn
|
|
||||||
state: directory
|
|
||||||
mode: "0755"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: copy icon
|
|
||||||
copy:
|
|
||||||
src: lightburn/lightburn.png
|
|
||||||
dest: /usr/local/share/lightburn/lightburn.png
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: copy script
|
|
||||||
copy:
|
|
||||||
src: lightburn/lightburn.sh
|
|
||||||
dest: /usr/local/bin/lightburn
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0755"
|
|
||||||
|
|
||||||
- name: add lightburn configuration
|
|
||||||
template:
|
|
||||||
src: lightburn/lightburn.j2
|
|
||||||
dest: /etc/default/lightburn
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: add lightburn to applications menu
|
|
||||||
copy:
|
|
||||||
src: lightburn/lightburn.desktop
|
|
||||||
dest: /usr/share/applications/lightburn.desktop
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: add group
|
|
||||||
group:
|
|
||||||
name: lightburn
|
|
||||||
system: yes
|
|
||||||
|
|
||||||
- name: add sudoers config
|
|
||||||
copy:
|
|
||||||
content: "%lightburn ALL=/usr/local/bin/lightburn, NOPASSWD:/usr/local/bin/lightburn\n"
|
|
||||||
dest: /etc/sudoers.d/lightburn
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: "0644"
|
|
||||||
|
|
||||||
- name: ensure guest-account settings directory exists
|
|
||||||
file:
|
|
||||||
path: /etc/guest-account
|
|
||||||
state: directory
|
|
||||||
mode: "0755"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: add lightburn group to guest account
|
|
||||||
lineinfile:
|
|
||||||
path: /etc/guest-account/groups
|
|
||||||
line: lightburn
|
|
||||||
create: yes
|
|
||||||
|
|
@ -18,9 +18,6 @@
|
||||||
- import_tasks: visicut.yml
|
- import_tasks: visicut.yml
|
||||||
tags:
|
tags:
|
||||||
- fablab:visicut
|
- fablab:visicut
|
||||||
- import_tasks: lightburn.yml
|
|
||||||
tags:
|
|
||||||
- fablab:lightburn
|
|
||||||
- import_tasks: prusa.yml
|
- import_tasks: prusa.yml
|
||||||
tags:
|
tags:
|
||||||
- fablab:prusa
|
- fablab:prusa
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
LIGHTBURN_DOCKER_IMAGE='{{ fablab.lightburn.dockerimage }}'
|
|
||||||
1
packer/ansible/roles/lightburn/.gitignore
vendored
Normal file
1
packer/ansible/roles/lightburn/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
*.zip
|
||||||
6
packer/ansible/roles/lightburn/files/lightburn.desktop
Normal file
6
packer/ansible/roles/lightburn/files/lightburn.desktop
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=LightBurn
|
||||||
|
Exec=/opt/LightBurn/LightBurn
|
||||||
|
Icon=/opt/LightBurn/LightBurn.png
|
||||||
|
Type=Application
|
||||||
|
Categories=Graphics;VectorGraphics;Engineering;
|
||||||
34
packer/ansible/roles/lightburn/tasks/devices.yml
Normal file
34
packer/ansible/roles/lightburn/tasks/devices.yml
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
- name: Download devices files
|
||||||
|
uri:
|
||||||
|
url: "{{ device_url }}"
|
||||||
|
return_content: true
|
||||||
|
loop: "{{ lightburn.devices }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: device_url
|
||||||
|
register: lightburn_downloaded_devices
|
||||||
|
|
||||||
|
- name: Create lightburn settings
|
||||||
|
set_fact:
|
||||||
|
lightburn_devices: "{{ lightburn_devices | default([]) + [device_settings] }}"
|
||||||
|
vars:
|
||||||
|
device_settings: "{{ (device.content | from_json)['DeviceList'][0] }}"
|
||||||
|
loop: "{{ lightburn_downloaded_devices.results }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: device
|
||||||
|
label: "{{ device_settings.DisplayName }}"
|
||||||
|
|
||||||
|
- name: Create settings directory
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- /etc/skel/.config
|
||||||
|
- /etc/skel/.config/LightBurn
|
||||||
|
|
||||||
|
- name: Create settings file
|
||||||
|
copy:
|
||||||
|
dest: /etc/skel/.config/LightBurn/prefs.ini
|
||||||
|
content: "{{ lightburn_settings | to_nice_json() }}"
|
||||||
|
vars:
|
||||||
|
lightburn_settings:
|
||||||
|
DeviceList: "{{ lightburn_devices }}"
|
||||||
13
packer/ansible/roles/lightburn/tasks/install.yml
Normal file
13
packer/ansible/roles/lightburn/tasks/install.yml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
- name: Extract zip file
|
||||||
|
unarchive:
|
||||||
|
src: lightburn.zip
|
||||||
|
dest: /opt
|
||||||
|
- name: Create applications directory
|
||||||
|
file:
|
||||||
|
path: /usr/local/share/applications/
|
||||||
|
state: directory
|
||||||
|
- name: Copy desktop file
|
||||||
|
copy:
|
||||||
|
src: lightburn.desktop
|
||||||
|
dest: /usr/local/share/applications/lightburn.desktop
|
||||||
10
packer/ansible/roles/lightburn/tasks/main.yml
Normal file
10
packer/ansible/roles/lightburn/tasks/main.yml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- block:
|
||||||
|
- import_tasks: install.yml
|
||||||
|
tags:
|
||||||
|
- lightburn:install
|
||||||
|
- import_tasks: devices.yml
|
||||||
|
tags:
|
||||||
|
- lightburn:devices
|
||||||
|
tags:
|
||||||
|
- lightburn
|
||||||
Loading…
Add table
Add a link
Reference in a new issue