Kolab

Kolab Groupware是一个安全、可扩展、可靠、灵活、功能齐全的协作套件。(Kolab Groupware is a secure, scalable, reliable, flexible, full-featured collaboration suite.)

  • 所有者: kvaps/docker-kolab
  • 平台: Linux, Windows, Docker
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Kolab Groupware是一个安全、可扩展、可靠、灵活、功能齐全的协作套件。它是由众多知名且经过验证的组件或标准任务组成,如电子邮件,目录服务和Web服务。

Kolab增加了组件之间的智能交互,Web管理界面,忙闲列表管理等。各种客户可以访问Kolab,其中包括Kontact(KDE),Outlook(Windows)和Horde(Web)。

主要特性:完全无缝支持混合客户端环境 (Outlook / KDE / Web)
  • Web管理界面
  • 支持的语言:Deutsch,English,Francais,Neerlandais
  • 提供邮箱用户和联系人的共享通讯簿
  • POP3以及IMAP4(rev1)访问邮件
  • 客户端可以完全支持S / MIME电子邮件加密(官方Sphinx可互操作)。

Kolab完全是免费和开源软件(a.k.a. FOSS),并使用开放标准。我们将了解为什么这对我们很重要,并希望此后对您来说很重要。

Kolab群件社区已经存在了十多年,是来自各行各业的人们的充满活力的混合体 -- 包括技术、艺术、政治、医疗、法律、后勤、军事和你所拥有的。

Kolab Groupware是您选择自己动手(DIY)自己的邮件服务器的各种软件之间的粘合剂,并增加了协作功能、手机同步、本地集成到桌面操作系统平台,如Mac OS X,Linux和Windows -- 采用随时可用的集成产品,具有独特的统一外观。

这是从头开始构建的,考虑到安全性,隐私和用户控制,重用最好的免费软件。因此,Kolab Groupware的独特之处在于它既安全又完全免费软件。因此,我们的社区座右铭是“做对与否”。

Kolab Groupware组成

Kolab服务器是由最好的免费和开源软件组件构建的,大部分(如果不是全部)都可以通过您喜欢的Linux发行版获得。但是,这样的Linux发行版可能不像人们希望Kolab Groupware提供最新和最好的功能那样是最新的,或者可能只是具有与Groupware环境通常可接受的不同的更新策略。

Kolab服务器由以下6个组件组成,可以分布在多个系统中。可以使用提供的元包安装这些组件中的每一个。

组件

要在单个系统上安装所有组件,可以使用kolab元数据包,引入所有其他软件包和依赖项。

  • IMAP -- Kolab Groupware的IMAP服务器组件,包括一个守护程序,用于将LDAP中的用户帐户与IMAP邮箱同步。要安装IMAP组件,请使用kolab-imap元数据包。这个元数据包引入了cyrus-imapd和kolab-server。
  • LDAP -- LDAP目录服务器组件用于用户和组信息,身份验证和授权。要安装LDAP组件,请使用kolab-ldap元数据包。这个元数据包引入了389-ds和依赖项,以及kolab-schema,包含Kolab LDAP模式扩展的包。
  • MTA -- MTA,包括垃圾邮件过滤器,病毒扫描程序,Kolab SMTP访问策略和Kolab内容过滤器。要安装MTA组件,请使用kolab-mta元软件包,它安装Postfix,Amavisd,SpamAssassin,ClamAV,postfix-kolab和Wallace。
  • Web管理面板 -- Kolab基于Web的管理面板和API。要安装Web管理面板和API,请使用kolab-webadmin软件包。
  • Web客户端 -- Kolab的基于Web的客户端,基于Roundcube。要安装Kolab Web客户端,请使用kolab-webclient元数据包。这个元数据包提供了Roundcube,默认的MySQL数据库驱动程序包,以及Roundcube的Kolab插件。
  • 数据库 -- 数据库组件,在Kolab Web管理面板,Web客户端和MTA之间共享。不存在此组件的元数据包,因为MySQL服务器的默认选项包含在整个受支持平台的单个包中。

注:本仓库是kolab的一个docker版本。kolab的原始源代码仓库位于https://git.kolab.org/

概覽

名稱與所有者kvaps/docker-kolab
主編程語言Shell
編程語言Shell (語言數: 2)
平台Linux, Windows, Docker
許可證MIT License
發布數0
創建於2015-06-05 20:18:49
推送於2018-11-28 12:37:35
最后一次提交2018-11-28 13:36:09
星數40
關注者數14
派生數19
提交數285
已啟用問題?
問題數26
打開的問題數11
拉請求數5
打開的拉請求數0
關閉的拉請求數0
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Kolab 16 in a Docker

Kolab Logo

This is Kolab image for docker.

Installation is supports automatic configuration kolab, nginx, opendkim, fail2ban and more...

Status

This project is effectively unmaintained. I will do my best to shepherd pull requests, but cannot guarantee a prompt response and do not have bandwidth to address issues or add new features. Please let me know via an issue if you'd be interested in taking ownership of docker-kolab.

Quick start

Run command:

docker run \
    --restart on-failure:1 \
    --name kolab \
    -h mail.example.org \
    -v /etc/localtime:/etc/localtime:ro \
    -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
    -v $PWD/kolab/data:/data:rw \
    -v $PWD/kolab/config:/config:rw \
    -v $PWD/kolab/spool:/spool:rw \
    -v $PWD/kolab/log:/log:rw \
    -e TZ=Europe/Moscow \
    -e LDAP_ADMIN_PASS=<password> \
    -e LDAP_MANAGER_PASS=<password> \
    -e LDAP_CYRUS_PASS=<password> \
    -e LDAP_KOLAB_PASS=<password> \
    -e MYSQL_ROOT_PASS=<password> \
    -e MYSQL_KOLAB_PASS=<password> \
    -e MYSQL_ROUNDCUBE_PASS=<password> \
    -p 80:80 \
    -p 443:443 \
    -p 25:25 \
    -p 587:587 \
    -p 110:110 \
    -p 995:995 \
    -p 143:143 \
    -p 993:993 \
    -p 4190:4190 \
    --cap-add=SYS_ADMIN \
    --cap-add=NET_ADMIN \
    --tty \
    kvaps/kolab:16

It should be noted that the --cap-add=NET_ADMIN and -v /lib/modules:/lib/modules:ro option is necessary only for Fail2ban, if you do not plan to use Fail2ban, you can exclude it.

Docker-compose

You can use the docker-compose for this image is really simplify your life:

version: '2'
services:
  kolab:
    restart: on-failure:1
    image: kvaps/kolab:16
    hostname: mail
    domainname: example.org
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
      - ./kolab/data:/data:rw
      - ./kolab/config:/config:rw
      - ./kolab/spool:/spool:rw
      - ./kolab/log:/log:rw
    tmpfs:
      - /run
    environment:
      - TZ=Europe/Moscow
      - LDAP_ADMIN_PASS=<password>
      - LDAP_MANAGER_PASS=<password>
      - LDAP_CYRUS_PASS=<password>
      - LDAP_KOLAB_PASS=<password>
      - MYSQL_ROOT_PASS=<password>
      - MYSQL_KOLAB_PASS=<password>
      - MYSQL_ROUNDCUBE_PASS=<password>
      - KOLAB_DEFAULT_LOCALE=ru_RU
    ports:
      - '80:80'
      - '443:443'
      - '25:25'
      - '587:587'
      - '110:110'
      - '995:995'
      - '143:143'
      - '993:993'
      - '4190:4190'
      - '389:389'
    cap_add:
      - SYS_ADMIN
      - NET_ADMIN
    tty: true

Configuration

SSL-certificates

Put your key and certificates to /opt/kolab/etc/pki/tls/kolab
Alternative you can use kvaps/letsencrypt-webroot image,
In this case, be sure to specify these options:

    -e 'CERT_PATH=/etc/letsencrypt/live'
    -e 'LE_RENEW_HOOK=docker restart @CONTAINER_NAME@' \

Note: Nginx in this image is already configured for use /tmp/letsencrypt as directory for letsencrypt checks

Available Configuration Parameters

Please refer the docker run command options for the --env-file flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command. Alternatively you can use docker-compose.

Below is the complete list of available options that can be used to customize your kolab installation.

Basic options
  • TZ: Sets the timezone. Defaults to UTC.
  • WEBSERVER: Choose the backend. May be apache or nginx. Defaults to nginx.
  • FORCE_HTTPS Sets webserver for force redirect to https. Defaults to true.
  • NGINX_CACHE Enable nginx and fastcgi cacheing. Defaults to false.
  • SPAM_SIEVE: Sets the global sieve script to place mail marked as spam into Spam folder. Defaults to true.
  • SPAM_SIEVE_TIMEOUT : Sets how often to run a check of global sieve script for users. Defaults to 15m.
  • FAIL2BAN: Enables Fail2Ban. Defaults to true.
  • DKIM: Enables DKIM signing. Defaults to true.
  • CERT_PATH: Path to the certificates. Defaults to true.
Set the passwords

By default passwords generates automatically and printing at the end of the installation script. You can specify the passwords you want to use.

  • LDAP_ADMIN_PASS: supply a password for the LDAP administrator user 'admin', used to login to the graphical console of 389 Directory server. Defaults to random.
  • LDAP_MANAGER_PASS: supply a password for the LDAP Directory Manager user, which is the administrator user you will be using to at least initially log in to the Web Admin, and that Kolab uses to perform administrative tasks. Defaults to random.
  • LDAP_CYRUS_PASS: supply a Cyrus Administrator password. This password is used by Kolab to execute administrative tasks in Cyrus IMAP. You may also need the password yourself to troubleshoot Cyrus IMAP and/or perform other administrative tasks against Cyrus IMAP directly. Defaults to random.
  • LDAP_KOLAB_PASS: supply a Kolab Service account password. This account is used by various services such as Postfix, and Roundcube, as anonymous binds to the LDAP server will not be allowed. Defaults to random.
  • MYSQL_ROOT_PASS: supply the root password for MySQL, so we can set up user accounts for other components that use MySQL. Defaults to random.
  • MYSQL_KOLAB_PASS: supply a password for the MySQL user 'kolab'. This password will be used by Kolab services, such as the Web Administration Panel. Defaults to random.
  • MYSQL_ROUNDCUBE_PASS: supply a password for the MySQL user 'roundcube'. This password will be used by the Roundcube webmail interface. Defaults to random.
Advanced configuration
  • KOLAB_RCPT_POLICY: Enables the Recipient policy. Defaults to false.
  • KOLAB_DEFAULT_LOCALE: Sets default locale for Kolab. Defaults to en_US.
  • MAX_MEMORY_SIZE: Sets the maximum memory size for php. Defaults to 256M.
  • MAX_FILE_SIZE: Sets the max upload size. Defaults to 30M.
  • MAX_MAIL_SIZE: Sets the max letter size. Defaults to 30M.
  • MAX_MAILBOX_SIZE: Sets the posfix mailbox size. Defaults to 50M.
  • MAX_BODY_SIZE: Sets the the max body size for nginx. Defaults to 50M.
  • ROUNDCUBE_SKIN: Sets the skin for roundcube, may be larry or chameleon. Defaults to chameleon.
  • ROUNDCUBE_ZIPDOWNLOAD: Enables zipdownload plugin. Defaults to true.
  • ROUNDCUBE_TRASH: Sets how delete mails. May be flag or trash. Defaults to trash.
Configuring another milter,

This settings disables amavis with clamd and configures another milter

  • EXT_MILTER_ADDR: Sets the milter address and port. Example to inet:rmilter:11339.
  • EXT_MILTER_PROTO: Sets the milter protocol. Defaults to 4.

Multi-instances

I use pipework image for passthrough external ethernet cards into docker container.

See examples, that's realy simple!

Update notes

For update from previous versions of my docker image, please follow these simple steps:

  • 2015-11-03: Update supervisord config:
# Сheck which services is startup (not commented)
cat /data/etc/supervisord.conf
# Make the same
vi /etc/supervisord.conf
# Replace your file with a new
cp -f /etc/supervisord.conf /data/etc/supervisord.conf
  • 2015-01-24: If you have not default.bc script:
# Create default sieve script
mkdir -p /data/var/lib/imap/sieve/global/
cat > /data/var/lib/imap/sieve/global/default.script << EOF
require "fileinto";
if header :contains "X-Spam-Flag" "YES"
{
        fileinto "Spam";
}
EOF
# Compile it
/usr/lib/cyrus-imapd/sievec /data/var/lib/imap/sieve/global/default.script /data/var/lib/imap/sieve/global/default.bc
去到頂部