Some logo fixes and ability to use selfsigned certs

This commit is contained in:
2026-09-18 11:40:57 +03:00
parent f17a357795
commit 2fc905986a
5 changed files with 20 additions and 2 deletions
+2
View File
@@ -28,6 +28,8 @@ ROUNDCUBE_PORT=8091
# address when MAIL_HOSTNAME is unavailable from the Roundcube container.
ROUNDCUBE_IMAP_HOST=${MAIL_HOSTNAME}
ROUNDCUBE_SMTP_HOST=${MAIL_HOSTNAME}
# Set to true only for local testing with Stalwart's generated self-signed certificate.
ROUNDCUBE_ALLOW_SELF_SIGNED_CERT=false
# Roundcube database
RC_DB_NAME=roundcube
+3 -1
View File
@@ -29,6 +29,8 @@ The real `.env` file is ignored by Git. Do not commit credentials or recovery se
Roundcube uses `MAIL_HOSTNAME` for IMAP and SMTP submission by default. To connect Roundcube to Stalwart by IP instead, add `ROUNDCUBE_IMAP_HOST=<ip-address>` and `ROUNDCUBE_SMTP_HOST=<ip-address>` to `.env`. These change only Roundcube's IMAP and SMTP endpoints; `MAIL_HOSTNAME` remains the Stalwart hostname and Docker network alias.
For a local Stalwart test installation using its generated self-signed certificate, set `ROUNDCUBE_ALLOW_SELF_SIGNED_CERT=true` in `.env`. This disables certificate verification for Roundcube's IMAP and SMTP connections and must be set to `false` after configuring a trusted Stalwart certificate.
## Generate a DES key
On Linux or macOS:
@@ -71,7 +73,7 @@ The default configuration expects the skin at:
relative to this repository. Override the location in `.env` with `ROUNDCUBE_SKIN_PATH` if needed. The skin directory is mounted read-only and selected with `ROUNDCUBE_SKIN_NAME`.
The bundled `roundcube-config/eternity-logo.php` override sets the login logo to the Eternity skin's `images/logo.svg` through Roundcube's `static.php` asset endpoint. This is required because Eternity inherits Elastic's login template, which would otherwise display Elastic's default logo. Keep this file and its mount in `docker-compose.yml` when using the Eternity skin.
The bundled `roundcube-config/eternity-logo.php` override sets the login and mailbox logos to the Eternity skin's `images/logo.svg` through Roundcube's `static.php` asset endpoint. This is required because Eternity inherits Elastic's templates, which would otherwise display Elastic's default logo. Keep this file and its mount in `docker-compose.yml` when using the Eternity skin.
## Start and stop
+2
View File
@@ -79,6 +79,7 @@ services:
volumes:
- ${DATA_ROOT:-/opt/eternitymail}/roundcube-config:/var/roundcube/config
- ./roundcube-config/eternity-logo.php:/var/roundcube/config/eternity-logo.php:ro
- ./roundcube-config/stalwart-tls.php:/var/roundcube/config/stalwart-tls.php:ro
- ${ROUNDCUBE_SKIN_PATH:-../ep-roundcube-skin/eternity}:/var/www/html/skins/${ROUNDCUBE_SKIN_NAME:-eternity}:ro
environment:
@@ -96,6 +97,7 @@ services:
ROUNDCUBEMAIL_SMTP_SERVER: tls://${ROUNDCUBE_SMTP_HOST:-${MAIL_HOSTNAME}}
ROUNDCUBEMAIL_SMTP_PORT: 587
ROUNDCUBE_ALLOW_SELF_SIGNED_CERT: ${ROUNDCUBE_ALLOW_SELF_SIGNED_CERT:-false}
ROUNDCUBEMAIL_USERNAME_DOMAIN: ${MAIL_DOMAIN}
+1 -1
View File
@@ -1,5 +1,5 @@
<?php
$config['skin_logo'] = [
'login' => 'static.php/skins/eternity/images/logo.svg',
'*' => 'static.php/skins/eternity/images/logo.svg',
];
+12
View File
@@ -0,0 +1,12 @@
<?php
if (filter_var(getenv('ROUNDCUBE_ALLOW_SELF_SIGNED_CERT'), FILTER_VALIDATE_BOOLEAN)) {
$tls_options = [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
];
$config['imap_conn_options'] = ['ssl' => $tls_options];
$config['smtp_conn_options'] = ['ssl' => $tls_options];
}