commit
f13ffd5975
@ -0,0 +1,46 @@
|
||||
# Build a docker image from latest YaCy sources
|
||||
|
||||
# Base image : latest stable Debian
|
||||
FROM debian:latest
|
||||
|
||||
# Install needed packages
|
||||
RUN apt-get update && apt-get install -yq \
|
||||
default-jdk \
|
||||
default-jre-headless \
|
||||
ant \
|
||||
git
|
||||
|
||||
# set current working dir
|
||||
WORKDIR /opt
|
||||
|
||||
# clone main YaCy git repository (we need to clone git repository to generate correct version when building from source)
|
||||
RUN git clone https://github.com/yacy/yacy_search_server.git
|
||||
|
||||
# trace content of source directory
|
||||
RUN ls -la /opt/yacy_search_server
|
||||
|
||||
# set current working dir
|
||||
WORKDIR /opt/yacy_search_server
|
||||
|
||||
# Compile with ant
|
||||
RUN ant compile
|
||||
|
||||
# Set initial admin password : "docker" (encoded with custom yacy md5 function net.yacy.cora.order.Digest.encodeMD5Hex())
|
||||
RUN sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:e672161ffdce91be4678605f4f4e6786" /opt/yacy_search_server/defaults/yacy.init
|
||||
|
||||
# make some cleaning to reduce image size
|
||||
RUN rm -rf .git \
|
||||
&& apt-get purge -yq --auto-remove \
|
||||
default-jdk \
|
||||
ant \
|
||||
git \
|
||||
&& apt-get clean
|
||||
|
||||
# Expose port 8090
|
||||
EXPOSE 8090
|
||||
|
||||
# Set data volume : can be used to persist yacy data and configuration
|
||||
VOLUME ["/opt/yacy_search_server/DATA"]
|
||||
|
||||
# Start yacy ind debug mode (-d) to display console logs and to wait for yacy process
|
||||
CMD sh /opt/yacy_search_server/startYACY.sh -d
|
@ -0,0 +1,67 @@
|
||||
# Yacy Docker image from latest sources
|
||||
|
||||
[](https://cloud.docker.com/stack/deploy/?repo=https://github.com/luccioman/yacy_search_server/tree/docker/docker)
|
||||
|
||||
## Getting built image from Docker Hub
|
||||
|
||||
docker pull luccioman/yacy
|
||||
|
||||
Repository URL : (https://hub.docker.com/r/luccioman/yacy/)
|
||||
|
||||
## Building image yourself
|
||||
|
||||
Using yacy_search_server/docker/Dockerfile :
|
||||
|
||||
cd yacy_search_server/docker
|
||||
docker build .
|
||||
|
||||
## Default admin account
|
||||
|
||||
login : admin
|
||||
|
||||
password : docker
|
||||
|
||||
You should modify this default password with page /ConfigAccounts_p.html when exposing publicly your YaCy container.
|
||||
|
||||
## Usage
|
||||
|
||||
### First start
|
||||
|
||||
#### Most basic
|
||||
|
||||
docker run luccioman/yacy
|
||||
|
||||
YaCy web interface is then exposed at http://[container_ip]:8090.
|
||||
You can retrieve the container IP address with `docker inspect`.
|
||||
|
||||
#### Easier to handle
|
||||
|
||||
docker run --name yacy -p 8090:8090 luccioman/yacy
|
||||
|
||||
--name option allow easier management of your container (without it, docker automatically generate a new name at each startup).
|
||||
|
||||
-p option map host port and container port, allowing web interface access through the usual http://localhost:8090.
|
||||
|
||||
#### With persistent data volume
|
||||
|
||||
docker run -v [your_host/data/directory]:/opt/yacy_search_server/DATA luccioman/yacy
|
||||
|
||||
This allow your container to reuse a data directory form the host.
|
||||
|
||||
#### As background process
|
||||
|
||||
docker run -d luccioman/yacy
|
||||
|
||||
### Next starts
|
||||
|
||||
#### As attached process
|
||||
|
||||
docker start -a yacy
|
||||
|
||||
#### As background process
|
||||
|
||||
docker start yacy
|
||||
|
||||
### Shutdown
|
||||
|
||||
* Use "Shutdown" button in administration web interface
|
@ -0,0 +1,6 @@
|
||||
yacy:
|
||||
image: 'luccioman/yacy:latest'
|
||||
ports:
|
||||
- '8090:8090'
|
||||
restart: on-failure
|
||||
autoredeploy: true
|
Loading…
Reference in new issue