You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yacy_search_server/snap/snapcraft.yaml

58 lines
2.7 KiB

# Configuration file for YaCy Snap packaging with Snapcraft (see https://snapcraft.io/)
name: yacy-search
version: '1.921'
summary: YaCy peer-to-peer search engine and intranet search appliance
description: |
YaCy is a decentralized search engine software.
Its search results come from a network of independent peers,
where no single entity decides what gets listed, or in which order results appear.
YaCy nodes can also be placed in intranet environment
which makes YaCy a replacement for commercial enterprise search solutions.
grade: stable
confinement: strict
icon: addon/YaCy256x256.png
apps:
yacy-search:
environment:
# needed to run wkhtmltopdf from YaCy within the Snap for Snapshots generation
# with wkhtmltopdf 0.12.2.4 included with Ubuntu 16.04 LTS (recommended minimum system to build Snaps in 2018)
QT_QPA_PLATFORM_PLUGIN_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms"
command: sh "$SNAP/yacy/addon/snap/snapStartYACY.sh"
# Interfaces authorizations requirements
# network-bind - to allow acting as an HTTP server and client
# desktop - to launch the default desktop navigator when starting (with xdg-open command) - not strictly necessary
# home - not strictly necessary but can be convenient for some features to have read/write access to files outside the snap data folders, notably
# - to index files in Intranet mode
# - for index, dump, vocabulary import/export features
# x11 - needed by wkhtmltopdf to generate Snapshots using WebKit engine - not necessary when Snapshots feature is not used
plugs: [network-bind, desktop, home, x11]
passwd: # set the YaCy administrator password
command: sh "$SNAP/yacy/addon/snap/snapPasswd.sh"
# Interfaces authorizations requirements
# network - to allow requesting the ConfigAccounts_p HTTP API when the server is running
plugs: [network]
stop: # stop the YaCy server
command: sh "$SNAP/yacy/addon/snap/snapStopYACY.sh"
# Interfaces authorizations requirements
# network - to allow requesting the Steering.html API
plugs: [network]
parts:
yacy-search:
# Additional packages
# curl : needed by the passwd.sh script to call a YaCy API when the server is running
# wkhtmltopdf : needed by the snapshot generation feature.
# Conversion from PDF snapshots to images is done using the pure java pdfbox library, as imagemagick is more difficult to propertly embed within a Snap
stage-packages: [curl, wkhtmltopdf]
plugin: ant
ant-build-targets:
- clean
- dist
source: https://github.com/yacy/yacy_search_server.git
build-packages:
- openjdk-8-jdk
override-build: |
snapcraftctl build
tar -xzf RELEASE/yacy*.tar.gz -C "$SNAPCRAFT_PART_INSTALL/"