electron-builder now publishes latest-linux.yml / latest.yml and embeds app-update.yml plus package-type, so electron-updater runs pacman -U or dpkg -i through pkexec for packages and updates the per-user NSIS install without elevation. The app checks only when asked (menu item), asks before downloading and before installing, and J621_UPDATE_URL overrides the feed for tests or forks. deploy/push_desktop.sh builds and publishes the artifacts to deploy/data/desktop, which the frontend nginx mounts read-only at /desktop/. Verified detection and up-to-date handling against a local feed with the packaged Arch build.
71 lines
1.6 KiB
YAML
71 lines
1.6 KiB
YAML
appId: io.j621.desktop
|
|
productName: J621
|
|
copyright: Copyright (c) 2026 JakeBreath — Jake Labs Non-Commercial Software Licence
|
|
|
|
# Update feed served by the frontend nginx (deploy/data/desktop, published
|
|
# with deploy/push_desktop.sh). Baked into resources/app-update.yml; override
|
|
# at runtime with J621_UPDATE_URL for a fork or a test feed.
|
|
publish:
|
|
provider: generic
|
|
url: https://j621.rainbow-herring.ts.net/desktop
|
|
|
|
directories:
|
|
output: release
|
|
buildResources: build
|
|
|
|
# The Electron main process and preload live in dist/ (tsc output). The SPA is
|
|
# copied from the web build as an extra resource and served over app://j621.
|
|
files:
|
|
- dist/**
|
|
- package.json
|
|
|
|
extraResources:
|
|
- from: ../frontend/dist
|
|
to: dist
|
|
filter:
|
|
- "**/*"
|
|
|
|
linux:
|
|
target:
|
|
- deb
|
|
- pacman
|
|
category: AudioVideo
|
|
synopsis: Desktop client for the J621 self-hosted media archive
|
|
description: >-
|
|
J621 is a self-hosted browser for an e621-linked media library. This
|
|
desktop build talks to a J621 backend over the network, the same way the
|
|
web app does.
|
|
icon: build/icon.png
|
|
syncDesktopName: true
|
|
|
|
pacman:
|
|
compression: zstd
|
|
artifactName: ${name}-${version}.pkg.tar.zst
|
|
# Electron's shared-library requirements on Arch (the electron-builder
|
|
# defaults still list an ancient Electron 2 dependency set).
|
|
depends:
|
|
- gtk3
|
|
- nss
|
|
- libxss
|
|
- libxtst
|
|
- xdg-utils
|
|
- at-spi2-core
|
|
- libsecret
|
|
- libnotify
|
|
- alsa-lib
|
|
- libcups
|
|
- libdrm
|
|
- mesa
|
|
- libxkbcommon
|
|
|
|
win:
|
|
target:
|
|
- nsis
|
|
icon: build/icon.ico
|
|
|
|
nsis:
|
|
oneClick: false
|
|
perMachine: false
|
|
allowToChangeInstallationDirectory: true
|
|
shortcutName: J621
|