Friendly
Ребят, может кто подскажет... Пытаюсь сделать максимально маленький докер-контейнер для electron-приложения. Есть железо с 1 и 2 гб оперативы, где я хочу его гонять. Само приложение на электроне (package.json и ещё 4 файла-скрипта) весят в архиве меньше 100 кб. Есть ли идеи что можно попробовать. Пытался собрать на основе Alpine с Glibc; пытался - с Arch и Ubuntu Core. Как только ставлю electron и все зависимости в ОС - любой контейнер сразу ~700~1000 мб. У меня итак есть контейнер на примерно 500 мб. задача - уменьшить его до 100~400 мб или меньше.
Friendly
Или как альтернативу рассматривал портировать это приложение на что-то другое; но дело в том что приложение работает с веб-сервисом, и его писал не я. Не хотелось бы его поломать.
CoMiGo / Косуля
электрон будет с собой тащить иксы и всё такое, а в контейнерах графика не нужна. Лучше переделать совсем чуть-чуть просто под node.js, раз у вас 4 файла-скрипта.
Danila
Может быть проще использовать Chromium в kiosk-режиме? Ощущение, что электрон прям не нужен
Danila
Мне кажется, там проще найти нужную сборку, чем с кучей надстроек Electron
CoMiGo / Косуля
единственное, зачем может понадобится электрон без гуя — это создание пдфок, но это пздц трактором грядки полоть
CoMiGo / Косуля
вы собираетесь иксы с контейнера прокидывать?
Friendly
Может быть проще использовать Chromium в kiosk-режиме? Ощущение, что электрон прям не нужен
Я думал об этом несколько раз. А можно ли ему скормить электрон-софтинку без переписывания?
Friendly
вы собираетесь иксы с контейнера прокидывать?
Нет, оно работает итак волшебно как-то то ли с xvfb то-ли с чем-то. Мне не надо видеть что там оно показывает и не надо ничего пробрасывать, но самому контейнеру графика нужна.
Danila
Я думал об этом несколько раз. А можно ли ему скормить электрон-софтинку без переписывания?
Смотря что у вас там написано, надо логику main-процесса смотреть. Может там просто запуск окон
Friendly
Это не скриншоты веб-страничек (я такое тоже делал, но тут задача другая) но так-то да, там в софтине загружаются странички. Просто авторизация в сервисе + странички.
Danila
Тогда очень похоже, что хватит Headless Chrome
CoMiGo / Косуля
тут вообще хватит ноды
CoMiGo / Косуля
веб-запросы жи
Friendly
Было бы прекрасно, да, если бы я знал как это адаптировать. Хэдлес хром вроде весит меньше чем нода + электрон + его зависимости
Danila
тут вообще хватит ноды
Может там js на страничках?
CoMiGo / Косуля
Может там js на страничках?
js тоже данные не из воздуха берёт
Friendly
Если кто-то может взглянуть профессиональным глазом, я могу скинуть скелетный архив приложухи, можете мне в ЛС написать? Если есть такие добровольцы конечно. =))
Vlad
Привет. Здесь актуальны вопросы по поводу отладки електрона в vscode? Использую electron-vue в качестве UI. Не могу присоединить дебаггер к renderer процессу - падает с таймаутом: cannot connect to runtime process... launch.json приложу...
Electron.js releases
v10.0.0-nightly.20200325 https://github.com/electron/electron/releases/tag/v10.0.0-nightly.20200325 v10.0.0-nightly.20200325
OMG2SMART4YOU
Всем привет!
OMG2SMART4YOU
Хотел спросить у вас, у электрона есть ли такая функция как иконка на панели задач?
Yevhen
трэй, да
OMG2SMART4YOU
трэй, да
спасибо за подсказку)
Vladimir
Добрый день, как в электроне получить tasklist? (Список запущенных процессов)
Андрей
А чем process не устраивает?
Anonymous
Всем q, у меня возникла проблема с подключением SQLite к приложению Electron, использую boilerplate react-electron-ts-webpack
Anonymous
Решил посмотреть ту директорию и заметил, что у меня есть такая папка, но немного иной версии(4.1, а не 3.1)
Anonymous
Сам boilerplate: https://github.com/Devtography/electron-react-typescript-webpack-boilerplate Предпринимал данные шаги: 1. Настройка node externals в Webpack 2. Rebuild (electron-rebuild -f -w sqlite3 -v 4.1.1) 3. Postinstall (https://stackoverflow.com/questions/32504307/how-to-use-sqlite3-module-with-electron)
Андрей
Там на гите инструкция есть
Anonymous
можно ссылочку пожалуйста?)
Anonymous
Ау @AndreyTkachV
Андрей
Сек
Андрей
https://www.npmjs.com/package/sqlite3
Андрей
Там внизу custom build for electron
Андрей
Пропишешь версию электрона и сделаешь билд
Андрей
npm install sqlite3 --build-from-source --sqlite_libname=sqlcipher --sqlite=`brew --prefix` --runtime=electron --target=1.7.6 --dist-url=https://atom.io/download/electron
Anonymous
А где узнать целевую версию электрона? В package.json, или так и указать 1.7.6?
Oleh
Да, а что, не совпадает?
Anonymous
"electron": "^3.1.13", данная строка меня очень смутила
Oleh
Ну должно значит и быть 3-я версия
Anonymous
Спасибо, сейчас попробую)
Anonymous
Не работает, завершилось с кучей ошибок
Anonymous
Даже не знаю, что мне выделить из этого огромного лога ошибок
Андрей
Андрей
Под чем билд делаешь? Винда мак или Линукс?
Anonymous
npm install sqlite3 --build-from-source --sqlite_libname=sqlcipher --sqlite=brew --prefix --runtime=electron --target=3.1.13 --dist-url=https://atom.io/download/electron
Anonymous
Сижу на Windows 10
Anonymous
а, ясно
Андрей
npm install sqlite3 --build-from-source --runtime=electron --target=3.1.13 --dist-url=https://atom.io/download/electron
Андрей
И поставь npn install —global —production windows-build-tools
Андрей
И поставь npn install —global —production windows-build-tools
В консоле с правами администратора запусти
Андрей
Anonymous
Может быть npM вместо npN?
Anonymous
оно так и должно висеть? До этого тонны текста выводились
Andrew
Нажми Control C
Андрей
Visual studio поставь
Андрей
Там окружение нужно сразу настроить чтобы норм потом билдить
Anonymous
Visual studio поставь
Инструменты или саму IDE?
Андрей
Можешь все в комплексе
Андрей
Тебе ещё пригодится
Anonymous
VS 2019 уже давно стоит)
Андрей
Ты сразу делаешь npm install sqlite
Андрей
А потом уже билд
Anonymous
Убрал node externals, схлопотал данную ошибку
Андрей
Сейчас последовательность распишу
Андрей
1) npm i sqlite3 2) npm install --global --production windows-build-tools --vs2015 3) npm install sqlite3 --build-from-source --runtime=electron --target=3.1.13 --dist-url=https://atom.io/download/electron
Anonymous
секунду
Anonymous
работает
Андрей
👍
Anonymous
Андрей
1) npm install @aws-sdk/eventstream-marshaller 2) require("@aws-sdk/eventstream-marshaller");