You've already forked Mailu
mirror of
https://github.com/Mailu/Mailu.git
synced 2025-11-25 22:12:28 +02:00
add documentation, allow overrides, clean plugins
This commit is contained in:
@@ -100,6 +100,7 @@ services:
|
|||||||
env_file: .env
|
env_file: .env
|
||||||
volumes:
|
volumes:
|
||||||
- "$ROOT/webmail:/data"
|
- "$ROOT/webmail:/data"
|
||||||
|
- "$ROOT/overrides/$WEBMAIL:/overrides:ro"
|
||||||
depends_on:
|
depends_on:
|
||||||
- imap
|
- imap
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ services:
|
|||||||
env_file: .env
|
env_file: .env
|
||||||
volumes:
|
volumes:
|
||||||
- "$ROOT/webmail:/data"
|
- "$ROOT/webmail:/data"
|
||||||
|
- "$ROOT/overrides/$WEBMAIL:/overrides:ro"
|
||||||
depends_on:
|
depends_on:
|
||||||
- imap
|
- imap
|
||||||
|
|
||||||
|
|||||||
@@ -262,3 +262,52 @@ The roundcube service stores configurations in a database.
|
|||||||
- ``ROUNDCUBE_DB_PW``: the database password for roundcube service. (when not ``sqlite``)
|
- ``ROUNDCUBE_DB_PW``: the database password for roundcube service. (when not ``sqlite``)
|
||||||
- ``ROUNDCUBE_DB_USER``: the database user for roundcube service. (when not ``sqlite``)
|
- ``ROUNDCUBE_DB_USER``: the database user for roundcube service. (when not ``sqlite``)
|
||||||
- ``ROUNDCUBE_DB_NAME``: the database name for roundcube service. (when not ``sqlite``)
|
- ``ROUNDCUBE_DB_NAME``: the database name for roundcube service. (when not ``sqlite``)
|
||||||
|
|
||||||
|
.. _webmail_settings
|
||||||
|
|
||||||
|
Webmail settings
|
||||||
|
----------------
|
||||||
|
|
||||||
|
|
||||||
|
When using roundcube it is possible to select the plugins to be enabled by setting ``ROUNDCUBE_PLUGINS`` to
|
||||||
|
a comma separated list of plugin-names. Included plugins are:
|
||||||
|
|
||||||
|
- acl (needs configuration)
|
||||||
|
- additional_message_headers (needs configuration)
|
||||||
|
- archive
|
||||||
|
- attachment_reminder
|
||||||
|
- carddav
|
||||||
|
- database_attachmentsi
|
||||||
|
- debug_logger
|
||||||
|
- emoticons
|
||||||
|
- enigma
|
||||||
|
- help
|
||||||
|
- hide_blockquote
|
||||||
|
- identicon
|
||||||
|
- identity_select
|
||||||
|
- jqueryui
|
||||||
|
- mailu
|
||||||
|
- managesieve
|
||||||
|
- markasjunk
|
||||||
|
- new_user_dialog
|
||||||
|
- newmail_notifier
|
||||||
|
- reconnect
|
||||||
|
- show_additional_headers (needs configuration)
|
||||||
|
- subscriptions_option
|
||||||
|
- vcard_attachments
|
||||||
|
- zipdownload
|
||||||
|
|
||||||
|
If ``ROUNDCUBE_PLUGINS`` is not set the following plugins are enabled by default:
|
||||||
|
|
||||||
|
- archive
|
||||||
|
- carddav
|
||||||
|
- enigma
|
||||||
|
- mailu
|
||||||
|
- managesieve
|
||||||
|
- markasjunk
|
||||||
|
- zipdownload
|
||||||
|
|
||||||
|
To disable all plugins just set ``ROUNDCUBE_PLUGINS`` to ``mailu``.
|
||||||
|
|
||||||
|
To configure a plugin add php files named ``*.inc`` to roundcube's :ref:`override section <override-label>`.
|
||||||
|
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ services:
|
|||||||
env_file: {{ env }}
|
env_file: {{ env }}
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ root }}/webmail:/data"
|
- "{{ root }}/webmail:/data"
|
||||||
|
- "{{ root }}/overrides/{{ webmail_type }}:/overrides:ro"
|
||||||
depends_on:
|
depends_on:
|
||||||
- imap
|
- imap
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ services:
|
|||||||
env_file: {{ env }}
|
env_file: {{ env }}
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ root }}/webmail:/data"
|
- "{{ root }}/webmail:/data"
|
||||||
|
- "{{ root }}/overrides/{{ webmail_type }}:/overrides:ro"
|
||||||
deploy:
|
deploy:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
|||||||
@@ -57,7 +57,10 @@ RUN set -eu \
|
|||||||
&& chown www-data:www-data logs temp \
|
&& chown www-data:www-data logs temp \
|
||||||
&& chmod -R a+rX . \
|
&& chmod -R a+rX . \
|
||||||
&& a2enmod rewrite deflate expires headers \
|
&& a2enmod rewrite deflate expires headers \
|
||||||
&& echo date.timezone=${TZ} > /usr/local/etc/php/conf.d/timezone.ini
|
&& echo date.timezone=${TZ} > /usr/local/etc/php/conf.d/timezone.ini \
|
||||||
|
&& rm -rf plugins/{autologon,example_addressbook,http_authentication,krb_authentication,new_user_identity,password,redundant_attachments,squirrelmail_usercopy,userinfo,virtuser_file,virtuser_query}
|
||||||
|
|
||||||
|
# enable database_attachments (and memcache?)
|
||||||
|
|
||||||
COPY mailu.php /var/www/html/plugins/mailu/mailu.php
|
COPY mailu.php /var/www/html/plugins/mailu/mailu.php
|
||||||
COPY php.ini /
|
COPY php.ini /
|
||||||
@@ -65,7 +68,8 @@ COPY config.inc.php /
|
|||||||
COPY start.py /
|
COPY start.py /
|
||||||
|
|
||||||
EXPOSE 80/tcp
|
EXPOSE 80/tcp
|
||||||
VOLUME ["/data"]
|
VOLUME /data
|
||||||
|
VOLUME /overrides
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ $config['sso_logout_url'] = '/sso/logout';
|
|||||||
// configure enigma gpg plugin
|
// configure enigma gpg plugin
|
||||||
$config['enigma_pgp_homedir'] = '/data/gpg';
|
$config['enigma_pgp_homedir'] = '/data/gpg';
|
||||||
|
|
||||||
// Set From header for DKIM signed message delivery reports
|
// set From header for DKIM signed message delivery reports
|
||||||
$config['mdn_use_from'] = true;
|
$config['mdn_use_from'] = true;
|
||||||
|
|
||||||
|
// includes
|
||||||
|
{%- for inc in INCLUDES %}
|
||||||
|
include('{{ inc }}');
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,9 @@ else:
|
|||||||
|
|
||||||
context["PLUGINS"] = ",".join(f"'{p}'" for p in plugins)
|
context["PLUGINS"] = ",".join(f"'{p}'" for p in plugins)
|
||||||
|
|
||||||
|
# add overrides
|
||||||
|
context["INCLUDES"] = sorted(inc for inc in os.listdir("/overrides") if inc.endswith(".inc")) if os.path.isdir("/overrides") else []
|
||||||
|
|
||||||
# create config files
|
# create config files
|
||||||
conf.jinja("/php.ini", context, "/usr/local/etc/php/conf.d/roundcube.ini")
|
conf.jinja("/php.ini", context, "/usr/local/etc/php/conf.d/roundcube.ini")
|
||||||
conf.jinja("/config.inc.php", context, "/var/www/html/config/config.inc.php")
|
conf.jinja("/config.inc.php", context, "/var/www/html/config/config.inc.php")
|
||||||
|
|||||||
Reference in New Issue
Block a user