# 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/"