Move to Docker Compose and multiple containers

This commit is contained in:
Pierre Jaury
2016-02-24 07:44:49 +01:00
parent caab793716
commit d0006dc624
33 changed files with 260 additions and 175 deletions

28
roundcube/Dockerfile Normal file
View File

@@ -0,0 +1,28 @@
FROM php:apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
&& docker-php-ext-install pdo_mysql mcrypt
ENV ROUNDCUBE_URL https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.4/roundcubemail-1.1.4-complete.tar.gz
RUN echo date.timezone=UTC > /usr/local/etc/php/conf.d/timezone.ini
RUN cd /tmp \
&& curl -L -O ${ROUNDCUBE_URL} \
&& tar -xf *.tar.gz \
&& rm -f *.tar.gz \
&& rm -rf /var/www/html \
&& mv roundcubemail-* /var/www/html \
&& cd /var/www/html \
&& rm -rf CHANGELOG INSTALL LICENSE README.md UPGRADING composer.json-dist installer \
&& chown -R www-data: logs
COPY config.inc.php /var/www/html/config/
COPY start.sh /start.sh
CMD ["/start.sh"]

56
roundcube/config.inc.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
$config = array();
// Generals
$config['db_dsnw'] = 'sqlite:////data/roundcube.db';
$config['des_key'] = 'rcmail-!24ByteDESkey*Str';
$config['identities_level'] = 3;
$config['reply_all_mode'] = 1;
// List of active plugins (in plugins/ directory)
$config['plugins'] = array(
'archive',
'zipdownload',
'managesieve',
'markasjunk',
'password'
);
// Mail servers
$config['default_host'] = 'tls://imap';
$config['default_port'] = 143;
$config['smtp_server'] = 'tls://smtp';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
// We access the IMAP and SMTP servers locally with internal names, SSL
// will obviously fail but this sounds better than allowing insecure login
// from the outter world
$ssl_no_check = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
),
);
$config['imap_conn_options'] = $ssl_no_check;
$config['smtp_conn_options'] = $ssl_no_check;
// Password management
$config['password_driver'] = 'sql';
$config['password_confirm_current'] = true;
$config['password_minimum_length'] = 6;
$config['password_db_dsn'] = 'sqlite:////data/freeposte.db';
$config['password_query'] = '
UPDATE user SET password=%D
WHERE id IN (SELECT user.id FROM user
INNER JOIN domain ON domain.id=user.domain_id
WHERE domain.name=%d AND user.name=%l
)
';
$config['password_dovecotpw'] = 'doveadm pw';
$confog['password_dovecotpw_method'] = 'SHA512-CRYPT';
// skin name: folder from skins/
$config['skin'] = 'larry';

7
roundcube/start.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
# Fix some permissions
chown -R www-data:www-data /data
# Run apache
exec apache2-foreground