# - remove unnecessary and size consuming .git directory
# - remove ant package
# copy sources
COPY . /opt/yacy_search_server/
RUN rm -rf /opt/yacy_search_server/.git &&\
apt-get update &&\
apt-get install -yq ant &&\
ant compile -f /opt/yacy_search_server/build.xml &&\
apt-get purge -yq --auto-remove ant &&\
apt-get clean &&\
rm -rf /var/lib/apt/lists/*
RUN\
# Set initial admin password: "yacy" (encoded with custom yacy md5 function net.yacy.cora.order.Digest.encodeMD5Hex())
# > java -classpath classes net.yacy.cora.order.Digest -strfhex "admin:The YaCy access is limited to administrators. If you don't know the password, you can change it using <yacy-home>/bin/passwd.sh <new-password>:docker"
sed -i "/adminAccountBase64MD5=/c\adminAccountBase64MD5=MD5:8cffbc0d66567a0987a4aba1ec46d63c" /opt/yacy_search_server/defaults/yacy.init &&\
sed -i "/adminAccountForLocalhost=/c\adminAccountForLocalhost=false" /opt/yacy_search_server/defaults/yacy.init &&\
# Intially enable HTTPS: this is the most secure option for remote administrator authentication
sed -i "/server.https=false/c\server.https=true" /opt/yacy_search_server/defaults/yacy.init &&\
# Create user and group yacy: this user will be used to run YaCy main process