Move to Docker Compose and multiple containers
This commit is contained in:
28
roundcube/Dockerfile
Normal file
28
roundcube/Dockerfile
Normal 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
56
roundcube/config.inc.php
Normal 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
7
roundcube/start.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Fix some permissions
|
||||
chown -R www-data:www-data /data
|
||||
|
||||
# Run apache
|
||||
exec apache2-foreground
|
||||
Reference in New Issue
Block a user