Skip to content
Snippets Groups Projects
Commit f0e56507 authored by benedikt.kroening's avatar benedikt.kroening
Browse files

docker-wip

parent 31adb65f
No related branches found
No related tags found
No related merge requests found
...@@ -99,6 +99,12 @@ case $key in ...@@ -99,6 +99,12 @@ case $key in
-s|--singlenode) -s|--singlenode)
export INSTALL_TYPE=singlenode export INSTALL_TYPE=singlenode
shift
;;
--cluster)
export INSTALL_TYPE=cluster
shift shift
;; ;;
--config) --config)
...@@ -123,14 +129,25 @@ set -- "${POSITIONAL[@]}" # restore positional parameters ...@@ -123,14 +129,25 @@ set -- "${POSITIONAL[@]}" # restore positional parameters
if [[ -z "${INSTALL_TYPE}" ]]; then if [[ -z "${INSTALL_TYPE}" ]]; then
echo "Using default docker image type: singlenode" echo "No build type was specified. (either singlenode or cluster)"
export INSTALL_TYPE=singlenode #export INSTALL_TYPE=singlenode
exit 99
fi fi
STARTED_AT=$(date) STARTED_AT=$(date)
if [[ "${INSTALL_TYPE}" == "singlenode" ]]; then if [[ "${INSTALL_TYPE}" == "singlenode" ]]; then
# ensure that all components will be "force" installed if on singlenode # ensure that all components will be "force" installed if on singlenode
docker build --no-cache --rm -f docker/singlenode.dockerfile -t singlenode:latest . docker build --no-cache --rm -f ${SCRIPT_DIR}/singlenode/Dockerfile -t singlenode:latest ${SCRIPT_DIR}/../
elif [[ "${INSTALL_TYPE}" == "cluster" ]]; then
#exportProperties ${SCRIPT_DIR}/cluster/config
# TODO: propper image tag versioning
echo "Building OX frontend image ..."
docker build --no-cache --rm -f ${SCRIPT_DIR}/cluster/frontend.Dockerfile -t open-xchange-frontend:latest ${SCRIPT_DIR}/../
echo "Building OX middleware image ..."
docker build --no-cache --rm -f ${SCRIPT_DIR}/cluster/middleware.Dockerfile -t open-xchange-middleware:latest ${SCRIPT_DIR}/../
else else
# let the environment variables do the selection magic # let the environment variables do the selection magic
......
# This file contains docker configuration.
# It uses a seperate database and mailserver host.
# You have to take care that those hosts are available (see docker-compose.yml)
# Mail configuration
OX_MAIL_HOST=dovecot
OX_MAIL_DOMAIN=docker.qa.open-xchange.com
# Noreply specific settings
OX_ENV_NOREPLY_SERVER=${OX_MAIL_HOST}
OX_ENV_NOREPLY_ADDRESS=noreply@${OX_MAIL_DOMAIN}
OX_ENV_NOREPLY_LOGIN=${OX_ENV_NOREPLY_ADDRESS}
OX_ENV_NOREPLY_PASSWORD=secret
# Database specific configuration (currently external host with name "database" is used)
DATABASE_TYPE=mariadb
DATABASE_ROOT_USER=root
DATABASE_ROOT_PASS=secret
DATABASE_HOST_NAME=database
DATABASE_HOST_PORT=3306
# OX Backend specific configuration
OX_ADMINMASTER_USER=oxadminmaster
OX_ADMINMASTER_PASS=secret
OX_SERVER_NAME=singlenode
OX_CLUSTER_NAME=singlenode
OX_HAZELCAST_ENABLED=true
OX_CONFIGDB_USER=openexchange
OX_CONFIGDB_PASS=secret
OX_CONFIGDB_NAME=configdb
# Default setup settings
# This will install a basic singlenode setup
INSTALL_MIDDLEWARE=true
INSTALL_FRONTEND=true
INSTALL_GUARD=false
INSTALL_DOCUMENTS=false
INSTALL_DOCUMENTCONVERTER=false
INSTALL_DATABASE=false
INSTALL_DOVECOT=false
OX_ENV_QA=true
OX_CLIENT_ONBOARDING=true
OX_ENV_QA_TESTING_UI_ENABLED=false
OX_ENV_QA_TESTING_UI_AUTOSTART=false
OX_ENV_QA_TESTING_UI_REPO_URL=https://gitlab.open-xchange.com/frontend/core
OX_ENV_QA_TESTING_UI_REPO_BRANCH=develop
OX_ENV_QA_TESTING_UI_URL_PROVISIONING=http://singlenode/
OX_ENV_QA_TESTING_UI_URL_APPSUITE=http://singlenode/appsuite
OX_ENV_QA_TESTING_UI_MXDOMAIN=${OX_MAIL_DOMAIN}
OX_ENV_QA_TESTING_UI_CONTEXTID=1337
OX_ENV_QA_TESTING_UI_SELENIUM_HOST=selenium-chrome-develop
OX_ENV_QA_TESTING_UI_IMAP_SERVER=dovecot
OX_ENV_QA_TESTING_UI_SMTP_SERVER=dovecot
# Copyright (C) 2019 OX Software GmbH
#
# This file is part of OX Automation.
#
# OX Automation is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OX Automation is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Benedikt Kroening <benedikt.kroening@open-xchange.com>
#
# This docker-container will contain everything required for an OX groupware node
# Database and mailserver need to be deployed seperately
ARG DISTRIBUTION=debian
ARG RELEASE=stretch
FROM ${DISTRIBUTION}:${RELEASE}
ENV DATABASE_HOST_NAME=database
ENV OX_MAIL_HOST=dovecot.qa.open-xchange.com
ENV OX_MAIL_DOMAIN=qa.open-xchange.com
ENV DATABASE_TYPE=mariadb
ENV DATABASE_ROOT_USER=root
ENV DATABASE_ROOT_PASS=secret
ENV DATABASE_HOST_NAME=database
ENV DATABASE_HOST_PORT=3306
ENV OX_ADMINMASTER_USER=oxadminmaster
ENV OX_ADMINMASTER_PASS=secret
ENV OX_MAIL_HOST=dovecot.qa.open-xchange.com
ENV OX_MAIL_DOMAIN=qa.open-xchange.com
ENV OX_SERVER_NAME=docker
ENV OX_CLUSTER_NAME=docker
ENV OX_HAZELCAST_ENABLED=false
ENV OX_CONFIGDB_USER=openexchange
ENV OX_CONFIGDB_PASS=secret
ENV OX_CONFIGDB_NAME=configdb
ENV OX_ENV_QA=true
# these are the defaults for a full ox groupware image
ENV INSTALL_FRONTEND=true
ENV INSTALL_MIDDLEWARE=true
ENV INSTALL_GUARD=true
ENV INSTALL_DOCUMENTS=false
ENV INSTALL_DOCUMENTCONVERTER=false
ENV INSTALL_DATABASE=false
ENV INSTALL_TYPE=docker-singlenode
ADD . /ox-installer
RUN /ox-installer/ox-installer.sh --docker --config /ox-installer/docker/config
RUN chsh -s /bin/bash open-xchange && \
echo PATH=$PATH:/opt/open-xchange/sbin/ >> ~/.bashrc && \
mkdir /var/run/apache2 && \
cp -a -u /opt/open-xchange/etc/. /opt/open-xchange/etc.dist && \
cp -R /ox-installer/docker/_rootfs/etc/* /etc/
EXPOSE 8009
EXPOSE 80
EXPOSE 443
VOLUME [ "/var/opt/filestore" ]
VOLUME [ "/opt/open-xchange/init-done" ]
ENTRYPOINT [ "/ox-installer/docker/entrypoint.sh" ]
CMD [ "supervisord" ]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment