Download and Installation of YaCy

YaCy is available as packages for Linux, Windows, Macintosh and also as Docker Image. You can also install YaCy on any other operation system either by compiling it yourself or using a tarball. YaCy needs Java 8, OpenJDK 8 is recommended.

Improve this doc

Please Support YaCy

YaCy is libre software - licensed GPL-2+. Downloads are provided for free! Please consider to become a permanent supporter of YaCy to ensure that YaCy can actively be developed!

Become a YaCy Patron






One-Time Donation

   5 €   25 €   50 € 


Installation

Installation is very easy on any system. If it looks complex here it's just because we give directions in great detail.

Compile YaCy yourself

You can download and build your own YaCy with these simple steps. This is probably the best and easiest ways for everyone who knwos how to use a command line interface. You need:

Then run:

git clone https://github.com/yacy/yacy_search_server.git
cd yacy_search_server
ant clean all dist

The compiled tarball will then be in the RELEASE folder.

To start YaCy from your compiled code, simply run:

./startYACY.sh

YaCy for Windows

YaCy for Linux and other OS

You must install Java 8 on your computer if you don't have it already, and start the YaCy start shell script. YaCy can run under a normal user account, no root rights are needed if Java 8 is already installed.

wget https://download.yacy.net/yacy_v1.924_20210209_10069.tar.gz
tar xfz yacy_v1.924_20210209_10069.tar.gz
cd yacy
./startYACY.sh

Installing from start to finish would look something like this, depending on your distro.

sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -y openjdk-8-jre-headless
wget https://download.yacy.net/yacy_v1.924_20210209_10069.tar.gz
tar xfz yacy_v1.924_20210209_10069.tar.gz
cd yacy
./startYACY.sh

On Macintosh

Docker

Running YaCy in docker is easy. If you don't hava docker installed, get it from https://docs.docker.com/get-docker/ (for Mac, Windows and Linux) or read the instructions from https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/ to install docker on Raspberry Pi or any other ARM-based devices.

The Official YaCy Images are hosted on Dockerhub at https://hub.docker.com/r/yacy/yacy_search_server

We provide amd64, arm64v8 and arm32v7 versions with the following tags:

i.e. to install YaCy in intel-based environmnts, run:

docker run -d --name yacy_search_server -p 8090:8090 -p 8443:8443 -v yacy_search_server_data:/opt/yacy_search_server/DATA --restart unless-stopped --log-opt max-size=200m --log-opt max-file=2 yacy/yacy_search_server:latest

then open http://localhost:8090 in your web-browser.

The default login for YaCy on Docker is admin:yacy

To upgrade YaCy, follow the default upgrade pattern for docker images, i.e.

docker stop yacy_search_server
docker rm yacy_search_server
docker pull yacy/yacy_search_server:latest

.. and restart the container with the same command that you used initially to run the container, i.e. (like above)

docker run -d --name yacy_search_server -p 8090:8090 -p 8443:8443 -v yacy_search_server_data:/opt/yacy_search_server/DATA --restart unless-stopped --log-opt max-size=200m --log-opt max-file=2 yacy/yacy_search_server:latest

This will mount the data volume from the upgraded yacy instance.

Configuration with Environment Variables

All of the environment variables (see https://github.com/yacy/yacy_search_server/blob/master/defaults/yacy.init ) can be overwritten with the docker run command. The environment variables are named like those in the yacy.init files, with all . (dot) replaced with _ (underscore), all uppercase and prefixed with YACY_.

For example: the default peer name can be set with network.unit.agent in yacy.init. To pre-set this value during docker run time, set the environmnt variable YACY_NETWORK_UNIT_AGENT. The correspondig run command would be:

docker run -d --name yacy_search_server -p 8090:8090 -p 8443:8443 -e YACY_NETWORK_UNIT_AGENT=Choomba -v yacy_search_server_data:/opt/yacy_search_server/DATA --restart unless-stopped --log-opt max-size=200m --log-opt max-file=2 yacy/yacy_search_server:latest

This can also be used to re-start a previously started image to overwrite the already stored configuration values.

Backup and restore of DATA folder

All data from YaCy is written into the data folder which is stored in the docker volume yacy_search_server_data. To back-up that DATA folder to /tmp/DATA.tar.gz, just run

docker stop yacy_search_server
docker run --rm -v yacy_search_server_data:/opt/yacy_search_server/DATA -v /tmp:/tmp openjdk:8-stretch bash -c "cd /opt/yacy_search_server && tar -cf - DATA | xz -q -3v -T0 > /tmp/DATA.tar.xz"
docker start yacy_search_server

To restore the DATA folder from /tmp/DATA.tar.gz, run

docker stop yacy_search_server
docker run --rm -v yacy_search_server_data:/opt/yacy_search_server/DATA -v /tmp:/tmp openjdk:8-stretch bash -c "cd /opt/yacy_search_server && rm -rf DATA/* && tar xf /tmp/DATA.tar.xz"
docker start yacy_search_server

Kubernetes

# optional: for a quick and easy installation of Kubernetes, run minikube
minikube start
minikube dashboard

# optional: if you want to run YaCy in a new namespace (does not work with minikube dashboard)
kubectl create namespace searchlab
kubectl config set-context --current --namespace=searchlab

# create deployment
kubectl create deployment yacy --image=yacy/yacy_search_server:latest --replicas=1 --port=8090
kubectl get deployment yacy -o wide # optional: show attributes of deployment
kubectl logs -f deployment.apps/yacy # optional: show logs of deployment

# create service
kubectl create service nodeport yacy --node-port=30890 --tcp=8090:8090
kubectl get service yacy -o wide # optional: show service configuration

# optional: access service in minicube
minikube service list
minikube service yacy
minikube service yacy -n searchlab # in case you are running in namespace 'searchlab'

# optional: shut down the YaCy deployment
kubectl delete service yacy
kubectl delete deployment yacy

# optional: switch back to default namespace
config set-context --current --namespace=default

Any OS with Java 8

Automatic development builds can be obtained from https://download.yacy.net/.

Get the Source Code

The source code is inside the generic tarball. It is recommended you clone the Git repository at https://github.com/yacy/yacy_search_server.