GithubHelp home page GithubHelp logo

kopano-image's Introduction

Kopano-Image

this docker image deploys kopano based on apache and php Note: You need a kopano serial key to build and use kopano.

Requirements

To use this kopano image you need a running mta agent like postfix and a running mysql/mariadb database. It it also recommended to use a webproxy like nginx for ssl encryption and https redirection.

Create the following 2 schemata:

CREATE DATABASE kopano;
CREATE DATABASE zpush;

Create a user which access rights to both schemata:

CREATE USER 'kopano'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON kopano.* TO 'kopano'@'%';
GRANT ALL PRIVILEGES ON zpush.* TO 'kopano'@'%';

To use this image you need a running mysql database with user, password and database name. Kopano will create the database schema on startup if it does not already exist. You also need a mta-agent like postfix to use this kopano image.

Quickstart

Build Image

docker build --build-arg KOPANO_SERIAL=<SERIAL>  -t <image_name>:<image_version>

Run Container

docker run -d \
        -p 80:80 \
        -e MYSQL_HOST=<MYSQL_HOST> \
        -e MYSQL_USER=<MYSQL_USER> \
        -e MYSQL_PASSWORD=<MYSQL_PASSWORD> \
        -e MYSQL_NAME=kopano \
        -e MYSQL_NAME_ZPUSH=zpush \
        -e SMTP_SERVER=<SMTP_HOST> \
        --hostname <HOSTNAME> \
        <image>:<version>

Kopano with persistent storage

docker run -d \
        -p 80:80 \
        -p 993:993 \
        -p 2003:2003 \
        -e MYSQL_HOST=<MYSQL_HOST> \
        -e MYSQL_USER=<MYSQL_USER> \
        -e MYSQL_PASSWORD=<MYSQL_PASSWORD> \
        -e MYSQL_NAME=kopano \
        -e MYSQL_NAME_ZPUSH=zpush \
        -e SMTP_SERVER=<SMTP_HOST> \
        --hostname <HOSTNAME> \
        -v /etc/localtime:/etc/localtime,ro \
        -v <BASE_PATH>/search/:/var/lib/kopano/search/ \
         -v <BASE_PATH>/attachments/:/var/lib/kopano/attachments \
        <image>:<version>

Configuration

Parameters:

Parameter Function Default Value
SYSTEM_EMAIL system email address postmaster@localhost
MYSQL_HOST database host
MYSQL_PORT database port 3306
MYSQL_NAME kopano datbase name kopano
MYSQL_NAME_ZPUSH z-push datbase name kopano
MYSQL_USER database user kopano
MYSQL_PASSWORD database password kopano
LOG_LEVEL log level (1[ERROR] - 6[DEBUG]) 3
TIMEZONE timezone Europe/Berlin
SMTP_SERVER used smtp server
LANG kopano and system language de_DE.UTF-8
ATTACHMENT_STORAGE attachment storage configuaration [database,files, s3] database
ATTACHMENT_S3_HOSTNAME when ATTACHMENT_STORAGE=s3, s3 hostname
ATTACHMENT_S3_PROTOCOL when ATTACHMENT_STORAGE=s3, s3 access protocol http
ATTACHMENT_S3_ACCESS_KEY when ATTACHMENT_STORAGE=s3, s3 access key (user)
ATTACHMENT_S3_SECRET_ACCESS_KEY when ATTACHMENT_STORAGE=s3, s3 secret access key (password)
ATTACHMENT_S3_BUCKET_NAME when ATTACHMENT_STORAGE=s3, s3 bucket name kopano-attachments
DISABLED_FEATURES kopano features "imap pop3"

Ports

The following ports can be exposed:

Port Function
80 http
993 imap
2003 lmtp

kopano-image's People

Contributors

fbartels avatar guitarmarx avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fbartels

kopano-image's Issues

use dockerize to check if database is online before starting kopano-server

Hi, one more thing.

In

kopano-image/entrypoint.sh

Lines 144 to 155 in ebc19cf

while [ $statuscode -ne 0 ]
do
service kopano-server start
service kopano-server status
statuscode=$?
echo "Returncode: " $statuscode
if [ $statuscode -ne 0 ];then
tail -n 4 /var/log/kopano/server.log
fi
done
you are looping until kopano-server has started (as per your comment to wait for the database). This could be simplified by using dockerize. See https://github.com/fbartels/kopano-docker/blob/compose/core/start-service.sh#L43-L48 for an example.

(additionally you many want to start the other kopano services only after kopano-server has started)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.