🐄 Moorch Update 2022 - ClamAV, Dovecot & Olefy Update (#4497)
* [API] Fix minor issue in api docs * [GH-Actions][stale] Add neverstale label to exempt list * [Web] add github version tag * [Web] add github version tag * [Web] add github version tag * [Web] add github version tag * [Web] add github version tag * [Web] add github version tag error handling * [Web] add github version tag error handling * Passwordless SOGo auth: support for calendar invitations and calendar/contacts subscriptions Inviting someone to a calendar event triggers a request to /SOGo/so/otheruser@example.com/freebusy.ifb/ajaxRead. Subscribing to someone's calendar/contacts triggers a request to /SOGo/so/otheruser@example.com/foldersSearch. The email address in the URL is different from the logged-in user, which needs to be handled appropriately by sogo-auth.php. * [Web] add github version tag - adjust css * [Compose] Update SOGo Autoreply Schedule to 5m Based on the advice of inverse (SOGo developer). Thanks to https://github.com/jmber Closes: https://github.com/mailcow/mailcow-dockerized/issues/4436 * [Web] add github version tag - move twig globals * [Web] add github version tag - missing </div> * Passwordless SOGo auth: improvements for when accessing other users * [WebAuthn] fido2 passwordless auth - fix (#4440) * [WebAuthn] fido2 revert * [WebAuthn] set UV flags to 'discouraged' * [WebAuthn] revert - set UV flags to 'discouraged' * Update clamav to 0.104.2 * Update clamav to 0.104.2 * Update dovecot to 2.3.18 Update gosu to 1.14 Use debian bullseye as base * [Web] Updated lang.es.json [CI SKIP] (#4453) Co-authored-by: Fijxu <fijxu@zzls.xyz> Co-authored-by: milkmaker <milkmaker@mailcow.de> Co-authored-by: Fijxu <fijxu@zzls.xyz> * Fix broken documentation links (#4458) * Fix broken documentation links * Fix a few more broken documentation links * Fix broken documentation links in translation files * Fall back to empty string if WATCHDOG_NOTIFY_EMAIL undefined (#4457) By default, `.env` (`mailcow.conf`) does not define `WATCHDOG_NOTIFY_EMAIL`. Using it in `docker-compose.yml` without having it defined leads to Compose v2 displaying this warning on startup: > WARNING: The WATCHDOG_NOTIFY_EMAIL variable is not set. Defaulting to a blank string. Related to https://github.com/mailcow/mailcow-dockerized/issues/4315 * [Web] Updated lang.sk.json [CI SKIP] (#4461) Co-authored-by: Lukáš Matula <lukas@gbely.net> Co-authored-by: milkmaker <milkmaker@mailcow.de> Co-authored-by: Lukáš Matula <lukas@gbely.net> * oletools: disable template injection detection (#4464) Seems to be causing a lot of false positives lately * Fix minor typo in comment (#4466) Correction of the comment, so that the explanation is correct and can be understood. * Update issue templates to issue forms (#4465) This PR updates the issue templates to GitHubs new issue forms * [Web] Fix padding issue in UI admin panel (#4481) * [Web] fix admin panel padding issue * [Web] fix admin panel padding issue * [Web] Updated lang.sk.json [CI SKIP] (#4489) Co-authored-by: Lukáš Matula <lukas@gbely.net> Co-authored-by: milkmaker <milkmaker@mailcow.de> Co-authored-by: Lukáš Matula <lukas@gbely.net> * increase opcache.interned_strings_buffer to 16 (#4487) since version 23.0.2 Nextcloud recommends having a value greater than 8 for `opcache.interned_strings_buffer`. As this memory will be only used when needed this should have no impact on installations that are not using nextcloud. related discussion: https://help.nextcloud.com/t/nextcloud-23-02-opcache-interned-strings-buffer/134007/19 related nextcloud issue: https://github.com/nextcloud/server/issues/31223 * nextcloud - add missing redirections (#4366) adds missing location directives to the nginx configuration of nextcloud 22, to prevent warnings in nextcloud admin center of missing redirections * Update imapsync to 2.178 (#4491) * Update and fix oletools (#4479) As noticed by @MAGICCC (#4464 (comment)), our olefy image does not work anymore if you rebuild it. This is because @HeinleinSupport recently updated their repository with the changes from @decalage2's repository, which renamed olvba3 to olevba. Since @HeinleinSupport does not recommend using its own patched branch and is very slow in pulling in changes from upstream (@decalage2), let's switch to the latter. This also allowed me to revert #4464. Finally, a minor patch to rspamd is necessary. While the documentation says In the extended mode the oletools module will not trigger on specific categories, but will always set a threat string with all found flags when at least a macro was found. This is not actually true -- it only sets it when suspicious or autoexec threats were detected. But it's a one-line patch to make rspamd behave as documented and we should submit that patch to @rspamd too. With this patch, I have confirmed that Mailcow will reject any incoming, non-whitelisted message containing attachments with macros. * [Web] Fix excluded domain list in quaratine view Previously excluded domains from quarantine were not shown. * [Dovecot] Update syslogng Version to 3.28 (#4496) Co-authored-by: Niklas Meyer <niklas.meyer@tinc.gmbh> Co-authored-by: ntimo <git@nowitzki.me> Co-authored-by: Peter <magic@kthx.at> Co-authored-by: FreddleSpl0it <patschul@posteo.de> Co-authored-by: FreddleSpl0it <75116288+FreddleSpl0it@users.noreply.github.com> Co-authored-by: Michael Kuron <mkuron@users.noreply.github.com> Co-authored-by: milkmaker <milkmaker@mailcow.de> Co-authored-by: Fijxu <fijxu@zzls.xyz> Co-authored-by: Slavi Pantaleev <slavi@devture.com> Co-authored-by: Lukáš Matula <lukas@gbely.net> Co-authored-by: Max <mail@heavygale.de> Co-authored-by: Michael Cramer <michael@bigmichi1.de> Co-authored-by: Robert Christian <soulsymphonies@users.noreply.github.com> Co-authored-by: André <andre.peters@debinux.de> Co-authored-by: Niklas Meyer <niklas.meyer@tinc.gmbh>
This commit is contained in:
parent
b1314bd9a3
commit
c520f21d28
140
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
140
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@ -1,60 +1,94 @@
|
||||
---
|
||||
name: 🐞 Bug Report
|
||||
about: Report a reproducible bug for mailcow. (NOT to be used for support questions.)
|
||||
labels: bug
|
||||
---
|
||||
description: Report a reproducible bug for mailcow. (NOT to be used for support questions.)
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Contribution guidelines
|
||||
description: Please read the contribution guidelines before proceeding.
|
||||
options:
|
||||
- label: I've read the [contribution guidelines](https://github.com/mailcow/mailcow-dockerized/blob/master/CONTRIBUTING.md) and wholeheartedly agree
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: I've found a bug and checked that ...
|
||||
description: Prior to placing the issue, please check following:** *(fill out each checkbox with an `X` once done)*
|
||||
options:
|
||||
- label: ... I understand that not following the below instructions will result in immediate closure and/or deletion of my issue.
|
||||
required: true
|
||||
- label: ... I have understood that this bug report is dedicated for bugs, and not for support-related inquiries.
|
||||
required: true
|
||||
- label: ... I have understood that answers are voluntary and community-driven, and not commercial support.
|
||||
required: true
|
||||
- label: ... I have verified that my issue has not been already answered in the past. I also checked previous [issues](https://github.com/mailcow/mailcow-dockerized/issues).
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: Please provide a brief description of the bug in 1-2 sentences. If applicable, add screenshots to help explain your problem. Very useful for bugs in mailcow UI.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Logs
|
||||
description: Please take a look at the [official documentation](https://mailcow.github.io/mailcow-dockerized-docs/debug-logs/) and post the last few lines of logs, when the error occurs. For example, docker container logs of affected containers. This will be automatically formatted into code, so no need for backticks.
|
||||
render: bash
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Please describe the steps to reproduce the bug. Screenshots can be added, if helpful.
|
||||
placeholder: |-
|
||||
1. ...
|
||||
2. ...
|
||||
3. ...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: System information
|
||||
description: In this stage we would kindly ask you to attach general system information about your setup.
|
||||
value: |-
|
||||
| Question | Answer |
|
||||
| --- | --- |
|
||||
| My operating system | I_DO_REPLY_HERE |
|
||||
| Is Apparmor, SELinux or similar active? | I_DO_REPLY_HERE |
|
||||
| Virtualization technlogy (KVM, VMware, Xen, etc - **LXC and OpenVZ are not supported** | I_DO_REPLY_HERE |
|
||||
| Server/VM specifications (Memory, CPU Cores) | I_DO_REPLY_HERE |
|
||||
| Docker Version (`docker version`) | I_DO_REPLY_HERE |
|
||||
| Docker-Compose Version (`docker-compose version`) | I_DO_REPLY_HERE |
|
||||
| Reverse proxy (custom solution) | I_DO_REPLY_HERE |
|
||||
|
||||
<!--
|
||||
Please DO NOT delete this template or use it for support questions.
|
||||
You are welcome to visit us on our community channels listed at https://mailcow.github.io/mailcow-dockerized-docs/#community-support
|
||||
For official support, please check https://mailcow.github.io/mailcow-dockerized-docs/#commercial-support
|
||||
-->
|
||||
Output of `git diff origin/master`, any other changes to the code? If so, **please post them**:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
|
||||
**Prior to placing the issue, please check following:** *(fill out each checkbox with an `X` once done)*
|
||||
- [ ] I understand that not following or deleting the below instructions will result in immediate closure and/or deletion of my issue.
|
||||
- [ ] I have understood that this bug report is dedicated for bugs, and not for support-related inquiries.
|
||||
- [ ] I have understood that answers are voluntary and community-driven, and not commercial support.
|
||||
- [ ] I have verified that my issue has not been already answered in the past. I also checked previous [issues](https://github.com/mailcow/mailcow-dockerized/issues).
|
||||
All third-party firewalls and custom iptables rules are unsupported. **Please check the Docker docs about how to use Docker with your own ruleset**. Nevertheless, iptabels output can help us to help you:
|
||||
iptables -L -vn:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
|
||||
## Summary
|
||||
<!--
|
||||
This should be a clear and concise description of what the bug is. What EXACTLY does happen?
|
||||
If applicable, add screenshots to help explain your problem. Very useful for bugs in mailcow UI.
|
||||
Write your detailed description below.
|
||||
ip6tables -L -vn:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
|
||||
Also mention on which commit/date your mailcow instance was last updated.
|
||||
-->
|
||||
iptables -L -vn -t nat:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
|
||||
## Logs
|
||||
<!--
|
||||
Please take a look at the [official documentation](https://mailcow.github.io/mailcow-dockerized-docs/debug-logs/) and post the last
|
||||
few lines of logs, when the error occurs. For example, docker container logs of affected containers.
|
||||
-->
|
||||
ip6tables -L -vn -t nat:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
|
||||
## Reproduction
|
||||
<!--
|
||||
It is really helpful to know how exactly you are able to reproduce the reported issue.
|
||||
Have you tried to fix the issue? What did you try?
|
||||
What are the exact steps to get the above described behavior?
|
||||
Screenshots can be added, if helpful. Add the text below.
|
||||
-->
|
||||
|
||||
## System information
|
||||
<!--
|
||||
In this stage we would kindly ask you to attach general system information about your setup.
|
||||
Please carefully read the questions and instructions below.
|
||||
-->
|
||||
|
||||
| Question | Answer |
|
||||
| --- | --- |
|
||||
| My operating system | I_DO_REPLY_HERE |
|
||||
| Is Apparmor, SELinux or similar active? | I_DO_REPLY_HERE |
|
||||
| Virtualization technlogy (KVM, VMware, Xen, etc - **LXC and OpenVZ are not supported** | I_DO_REPLY_HERE |
|
||||
| Server/VM specifications (Memory, CPU Cores) | I_DO_REPLY_HERE |
|
||||
| Docker Version (`docker version`) | I_DO_REPLY_HERE |
|
||||
| Docker-Compose Version (`docker-compose version`) | I_DO_REPLY_HERE |
|
||||
| Reverse proxy (custom solution) | I_DO_REPLY_HERE |
|
||||
|
||||
- Output of `git diff origin/master`, any other changes to the code? If so, **please post them**.
|
||||
- All third-party firewalls and custom iptables rules are unsupported. *Please check the Docker docs about how to use Docker with your own ruleset*. Nevertheless, iptabels output can help us to help you: `iptables -L -vn`, `ip6tables -L -vn`, `iptables -L -vn -t nat` and `ip6tables -L -vn -t nat`.
|
||||
- DNS problems? Please run `docker exec -it $(docker ps -qf name=acme-mailcow) dig +short stackoverflow.com @172.22.1.254` (set the IP accordingly, if you changed the internal mailcow network) and post the output.
|
||||
DNS problems? Please run `docker exec -it $(docker ps -qf name=acme-mailcow) dig +short stackoverflow.com @172.22.1.254` (set the IP accordingly, if you changed the internal mailcow network) and post the output:
|
||||
```
|
||||
YOUR OUTPUT GOES HERE
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
|
47
.github/ISSUE_TEMPLATE/Feature_request.md
vendored
47
.github/ISSUE_TEMPLATE/Feature_request.md
vendored
@ -1,29 +1,20 @@
|
||||
---
|
||||
name: 💡 Feature Request
|
||||
about: Suggest an idea for mailcow.
|
||||
labels: enhancement
|
||||
---
|
||||
|
||||
<!--
|
||||
Please note that the mailcow team and its contributors do have finite
|
||||
resources and that we can not work on all filed feature requests.
|
||||
|
||||
However making us aware about certain ideas can help us improving
|
||||
mailcow together.
|
||||
|
||||
We're also happy to help you getting a specific feature implemented.
|
||||
-->
|
||||
|
||||
## Summary
|
||||
|
||||
A clear and concise description of what the problem is.
|
||||
For example: I'm always frustrated when [...]
|
||||
|
||||
## Motivation
|
||||
|
||||
What are you about to solve or improve with this idea?
|
||||
What would be the benefit for most users?
|
||||
|
||||
## Additional context
|
||||
|
||||
Add any other context or screenshots about the feature request.
|
||||
description: Suggest an idea for mailcow.
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Summary
|
||||
description: Please describe your idea in a reasonable amount of detail.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Motivation
|
||||
description: Please describe how your idea would benefit you and other users.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context or screenshots about the feature request.
|
||||
|
@ -2,18 +2,26 @@ FROM debian:bullseye-slim
|
||||
|
||||
LABEL maintainer "André Peters <andre.peters@servercow.de>"
|
||||
|
||||
ARG CLAMAV=0.103.5
|
||||
ARG CLAMAV=0.104.2
|
||||
ARG TINI_VERSION=v0.19.0
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
zlib1g-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libncurses5-dev \
|
||||
libzip-dev \
|
||||
libpcre2-dev \
|
||||
libxml2-dev \
|
||||
libssl-dev \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
python3 \
|
||||
python3-pip \
|
||||
valgrind \
|
||||
check \
|
||||
libbz2-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libjson-c-dev \
|
||||
libmilter-dev \
|
||||
libncurses5-dev \
|
||||
libpcre2-dev \
|
||||
libssl-dev \
|
||||
libxml2-dev \
|
||||
zlib1g-dev \
|
||||
curl \
|
||||
bash \
|
||||
wget \
|
||||
@ -22,39 +30,47 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
rsync \
|
||||
dos2unix \
|
||||
netcat \
|
||||
&& python3 -m pip install cmake \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& wget -O - https://www.clamav.net/downloads/production/clamav-${CLAMAV}.tar.gz | tar xfvz - \
|
||||
&& cd clamav-${CLAMAV} \
|
||||
&& ./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib \
|
||||
--sysconfdir=/etc/clamav \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info \
|
||||
--disable-llvm \
|
||||
--with-user=clamav \
|
||||
--with-group=clamav \
|
||||
--with-dbdir=/var/lib/clamav \
|
||||
--enable-clamdtop \
|
||||
--enable-bigstack \
|
||||
--with-pcre \
|
||||
&& make -j4 \
|
||||
&& make install \
|
||||
&& make clean \
|
||||
&& cmake . \
|
||||
-D CMAKE_INSTALL_PREFIX=/usr \
|
||||
-D CMAKE_INSTALL_LIBDIR=/usr/lib \
|
||||
-D APP_CONFIG_DIRECTORY=/etc/clamav \
|
||||
-D CMAKE_INSTALL_MANDIR=/usr/share/man \
|
||||
-D CMAKE_INSTALL_INFODIR=/usr/share/info \
|
||||
-D CLAMAV_USER=clamav \
|
||||
-D CLAMAV_GROUP=clamav \
|
||||
-D DATABASE_DIRECTORY=/var/lib/clamav \
|
||||
-D ENABLE_APP=ON \
|
||||
-D ENABLE_JSON_SHARED=OFF \
|
||||
-D CMAKE_BUILD_TYPE=MinSizeRel \
|
||||
&& cmake --build . -j4 \
|
||||
&& cmake --build . --target install \
|
||||
&& cd .. && rm -rf clamav-${CLAMAV} \
|
||||
&& apt-get -y --auto-remove purge build-essential \
|
||||
&& apt-get -y purge zlib1g-dev \
|
||||
libncurses5-dev \
|
||||
libzip-dev \
|
||||
libpcre2-dev \
|
||||
libxml2-dev \
|
||||
libssl-dev \
|
||||
&& apt-get -y purge pkg-config \
|
||||
python3 \
|
||||
python3-pip \
|
||||
valgrind \
|
||||
check \
|
||||
libbz2-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libjson-c-dev \
|
||||
libmilter-dev \
|
||||
libncurses5-dev \
|
||||
libpcre2-dev \
|
||||
libssl-dev \
|
||||
libxml2-dev \
|
||||
zlib1g-dev \
|
||||
|
||||
&& addgroup --system --gid 700 clamav \
|
||||
&& adduser --system --no-create-home --home /var/lib/clamav --uid 700 --gid 700 --disabled-login clamav \
|
||||
&& rm -rf /tmp/* /var/tmp/*
|
||||
|
||||
COPY clamd.sh ./
|
||||
COPY tini /sbin/tini
|
||||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /sbin/tini
|
||||
RUN chmod +x /sbin/tini
|
||||
|
||||
CMD ["/sbin/tini", "-g", "--", "/clamd.sh"]
|
||||
|
Binary file not shown.
@ -1,10 +1,10 @@
|
||||
FROM debian:buster-slim
|
||||
FROM debian:bullseye-slim
|
||||
LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG DOVECOT=2.3.17.1
|
||||
ARG DOVECOT=2.3.18
|
||||
ENV LC_ALL C
|
||||
ENV GOSU_VERSION 1.12
|
||||
ENV GOSU_VERSION 1.14
|
||||
|
||||
# Add groups and users before installing Dovecot to not break compatibility
|
||||
RUN groupadd -g 5000 vmail \
|
||||
@ -89,7 +89,7 @@ RUN groupadd -g 5000 vmail \
|
||||
&& chmod +x /usr/local/bin/gosu \
|
||||
&& gosu nobody true \
|
||||
&& apt-key adv --fetch-keys https://repo.dovecot.org/DOVECOT-REPO-GPG \
|
||||
&& echo "deb https://repo.dovecot.org/ce-${DOVECOT}/debian/buster buster main" > /etc/apt/sources.list.d/dovecot.list \
|
||||
&& echo "deb https://repo.dovecot.org/ce-${DOVECOT}/debian/bullseye bullseye main" > /etc/apt/sources.list.d/dovecot.list \
|
||||
&& apt-get update \
|
||||
&& apt-get -y --no-install-recommends install \
|
||||
dovecot-lua \
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
@version: 3.19
|
||||
@version: 3.28
|
||||
@include "scl.conf"
|
||||
options {
|
||||
chain_hostnames(off);
|
||||
|
@ -1,4 +1,4 @@
|
||||
@version: 3.19
|
||||
@version: 3.28
|
||||
@include "scl.conf"
|
||||
options {
|
||||
chain_hostnames(off);
|
||||
|
@ -8,9 +8,9 @@ RUN apk add --virtual .build-deps gcc musl-dev python3-dev libffi-dev openssl-de
|
||||
&& apk add --update --no-cache python3 py3-pip openssl tzdata libmagic \
|
||||
&& pip3 install --upgrade pip \
|
||||
&& pip3 install --upgrade asyncio python-magic \
|
||||
&& pip3 install --upgrade https://github.com/HeinleinSupport/oletools/archive/master.zip \
|
||||
&& pip3 install --upgrade https://github.com/decalage2/oletools/archive/master.zip \
|
||||
&& apk del .build-deps
|
||||
# && sed -i 's/decompress_stream(bytearray(compressed_code))/bytes2str(decompress_stream(bytearray(compressed_code)))/g' /usr/lib/python3.8/site-packages/oletools/olevba.py
|
||||
# && sed -i 's/template_injection_detected = True/template_injection_detected = False/g' /usr/lib/python3.9/site-packages/oletools/olevba.py
|
||||
|
||||
ADD olefy.py /app/
|
||||
|
||||
|
@ -21,7 +21,8 @@ RUN apt-get update && apt-get install -y \
|
||||
&& apt-get clean \
|
||||
&& mkdir -p /run/rspamd \
|
||||
&& chown _rspamd:_rspamd /run/rspamd \
|
||||
&& echo 'alias ll="ls -la --color"' >> ~/.bashrc
|
||||
&& echo 'alias ll="ls -la --color"' >> ~/.bashrc \
|
||||
&& sed -i 's/#analysis_keyword_table > 0/analysis_cat_table.macro_exist == "M"/g' /usr/share/rspamd/lualib/lua_scanners/oletools.lua
|
||||
|
||||
COPY settings.conf /etc/rspamd/settings.conf
|
||||
COPY metadata_exporter.lua /usr/share/rspamd/plugins/metadata_exporter.lua
|
||||
|
@ -47,6 +47,14 @@ server {
|
||||
return 301 $client_req_scheme_nc://$host/remote.php/dav;
|
||||
}
|
||||
|
||||
location = /.well-known/webfinger {
|
||||
return 301 $client_req_scheme_nc://$host/index.php/.well-known/webfinger;
|
||||
}
|
||||
|
||||
location = /.well-known/nodeinfo {
|
||||
return 301 $client_req_scheme_nc://$host/index.php/.well-known/nodeinfo;
|
||||
}
|
||||
|
||||
location ^~ /.well-known/acme-challenge/ {
|
||||
default_type "text/plain";
|
||||
root /web;
|
||||
|
@ -1,6 +1,6 @@
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
opcache.interned_strings_buffer=8
|
||||
opcache.interned_strings_buffer=16
|
||||
opcache.max_accelerated_files=10000
|
||||
opcache.memory_consumption=128
|
||||
opcache.save_comments=1
|
||||
|
@ -495,7 +495,7 @@
|
||||
"dns_records": "DNS záznamy",
|
||||
"dns_records_24hours": "Upozornění: Změnám v systému DNS může trvat až 24 hodin, než se zde správně zobrazí jejich aktuální stav. Můžete zde snadno zjistit, jak nastavit DNS záznamy a zda jsou všechny záznamy správně uloženy.",
|
||||
"dns_records_data": "Správný záznam",
|
||||
"dns_records_docs": "Přečtěte si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentaci</a>.",
|
||||
"dns_records_docs": "Přečtěte si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">dokumentaci</a>.",
|
||||
"dns_records_name": "Název",
|
||||
"dns_records_status": "Současný stav",
|
||||
"dns_records_type": "Typ",
|
||||
|
@ -457,7 +457,7 @@
|
||||
"cname_from_a": "Værdi afledt af A / AAAA-post. Dette understøttes, så længe posten peger på den korrekte ressource.",
|
||||
"dns_records": "DNS-poster",
|
||||
"dns_records_24hours": "Bemærk, at ændringer, der foretages i DNS, kan tage op til 24 timer for at få deres aktuelle status korrekt reflekteret på denne side. Det er beregnet som en måde for dig let at se, hvordan du konfigurerer dine DNS-poster og kontrollere, om alle dine poster er korrekt gemt i DNS.",
|
||||
"dns_records_docs": "Se også <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentationen</a>.",
|
||||
"dns_records_docs": "Se også <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">dokumentationen</a>.",
|
||||
"dns_records_data": "Korrekte data",
|
||||
"dns_records_name": "Navn",
|
||||
"dns_records_status": "Nuværende tilstand",
|
||||
|
@ -496,7 +496,7 @@
|
||||
"dns_records": "DNS-Einträge",
|
||||
"dns_records_24hours": "Bitte beachten Sie, dass es bis zu 24 Stunden dauern kann, bis Änderungen an Ihren DNS-Einträgen als aktueller Status auf dieser Seite dargestellt werden. Diese Seite ist nur als Hilfsmittel gedacht, um die korrekten Werte für DNS-Einträge anzuzeigen und zu überprüfen, ob die Daten im DNS hinterlegt sind.",
|
||||
"dns_records_data": "Korrekte Daten",
|
||||
"dns_records_docs": "Die <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">Online-Dokumentation</a> enthält weitere Informationen zur DNS-Konfiguration.",
|
||||
"dns_records_docs": "Die <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">Online-Dokumentation</a> enthält weitere Informationen zur DNS-Konfiguration.",
|
||||
"dns_records_name": "Name",
|
||||
"dns_records_status": "Aktueller Status",
|
||||
"dns_records_type": "Typ",
|
||||
|
@ -496,7 +496,7 @@
|
||||
"dns_records": "DNS Records",
|
||||
"dns_records_24hours": "Please note that changes made to DNS may take up to 24 hours to correctly have their current state reflected on this page. It is intended as a way for you to easily see how to configure your DNS records and to check whether all your records are correctly stored in DNS.",
|
||||
"dns_records_data": "Correct Data",
|
||||
"dns_records_docs": "Please also consult <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">the documentation</a>.",
|
||||
"dns_records_docs": "Please also consult <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">the documentation</a>.",
|
||||
"dns_records_name": "Name",
|
||||
"dns_records_status": "Current State",
|
||||
"dns_records_type": "Type",
|
||||
|
@ -18,7 +18,8 @@
|
||||
"spam_score": "Puntuación de spam",
|
||||
"syncjobs": "Trabajos de sincronización",
|
||||
"tls_policy": "Póliza de TLS",
|
||||
"unlimited_quota": "Cuota ilimitada para buzones"
|
||||
"unlimited_quota": "Cuota ilimitada para buzones",
|
||||
"app_passwds": "Gestionar las contraseñas de aplicaciones"
|
||||
},
|
||||
"add": {
|
||||
"activate_filter_warn": "Todos los demás filtros se desactivarán cuando este filtro se active.",
|
||||
|
@ -467,7 +467,7 @@
|
||||
"cname_from_a": "Valeur dérivée de l’enregistrement A/AAAA. Ceci est supporté tant que l’enregistrement indique la bonne ressource.",
|
||||
"dns_records": "Enregistrements DNS",
|
||||
"dns_records_24hours": "Veuillez noter que les modifications apportées au DNS peuvent prendre jusqu’à 24 heures pour que leurs états actuels soient correctement reflétés sur cette page. Il est conçu comme un moyen pour vous de voir facilement comment configurer vos enregistrements DNS et de vérifier si tous vos enregistrements sont correctement stockés dans les DNS.",
|
||||
"dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">la documentation</a>.",
|
||||
"dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">la documentation</a>.",
|
||||
"dns_records_data": "Données correcte",
|
||||
"dns_records_name": "Nom",
|
||||
"dns_records_status": "Etat courant",
|
||||
|
@ -496,7 +496,7 @@
|
||||
"dns_records": "Record DNS",
|
||||
"dns_records_24hours": "Tieni presente che le modifiche apportate ai record DNS potrebbero richiedere fino a 24 ore per poter essere visualizzate correttamente in questa pagina. Tutto ciò è da intendersi come un modo per voi di vedere come configurare i record DNS e per controllare se tutti i record DNS sono stati inseriti correttamente.",
|
||||
"dns_records_data": "Dati corretti",
|
||||
"dns_records_docs": "Si prega di consultare anche <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">la documentazione</a>.",
|
||||
"dns_records_docs": "Si prega di consultare anche <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">la documentazione</a>.",
|
||||
"dns_records_name": "Nome",
|
||||
"dns_records_status": "Stato attuale",
|
||||
"dns_records_type": "Tipo",
|
||||
|
@ -465,7 +465,7 @@
|
||||
"cname_from_a": "Waarde afgeleid van een A- of AAAA-vermelding.",
|
||||
"dns_records": "DNS-configuratie",
|
||||
"dns_records_24hours": "Houd er rekening mee dat wijzigingen aan DNS tot wel 24 uur in beslag kunnen nemen voordat ze op deze pagina worden weergegeven. Deze informatie is bedoeld om gemakkelijk te bekijken of de DNS-configuratie aan de eisen voldoet.",
|
||||
"dns_records_docs": "Raadpleeg ook <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">de documentatie</a>.",
|
||||
"dns_records_docs": "Raadpleeg ook <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">de documentatie</a>.",
|
||||
"dns_records_data": "Correcte gegevens",
|
||||
"dns_records_name": "Naam",
|
||||
"dns_records_status": "Huidige staat",
|
||||
|
@ -495,7 +495,7 @@
|
||||
"cname_from_a": "Valoare derivată din înregistrarea A/AAAA. Acest lucru este acceptat atâta timp cât înregistrarea indică resursele corecte.",
|
||||
"dns_records": "Înregistrări DNS",
|
||||
"dns_records_24hours": "Rețineți că modificările aduse DNS-ului pot dura până la 24 de ore pentru a reflecta corect starea lor curentă pe această pagină. Acest mecanism este conceput ca o modalitate să vezi ușor cum să îți configurezi înregistrările DNS și să verifici dacă toate înregistrările sunt stocate corect în DNS.",
|
||||
"dns_records_docs": "Vă rugăm să consultați și <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">documentația</a>.",
|
||||
"dns_records_docs": "Vă rugăm să consultați și <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">documentația</a>.",
|
||||
"dns_records_data": "Date corecte",
|
||||
"dns_records_name": "Nume",
|
||||
"dns_records_status": "Stare curentă",
|
||||
|
@ -494,7 +494,7 @@
|
||||
"dns_records": "Записи DNS",
|
||||
"dns_records_24hours": "Обратите внимание, что для внесения изменений в DNS может потребоваться до 24 часов, чтобы правильно отобразить их текущее состояние на этой странице. Эта страница предназначен для того, чтобы вы могли легко увидеть, как настроить записи DNS и проверить, все ли записи правильно занесены в DNS.",
|
||||
"dns_records_data": "Значение",
|
||||
"dns_records_docs": "Пожалуйста, ознакомьтесь с <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">документацией</a>.",
|
||||
"dns_records_docs": "Пожалуйста, ознакомьтесь с <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">документацией</a>.",
|
||||
"dns_records_name": "Название",
|
||||
"dns_records_status": "Статус",
|
||||
"dns_records_type": "Тип",
|
||||
|
@ -105,7 +105,8 @@
|
||||
"timeout2": "Časový limit pre spojenie s lokálnym serverom",
|
||||
"username": "Používateľské meno",
|
||||
"validate": "Overiť",
|
||||
"validation_success": "Úspešne overené"
|
||||
"validation_success": "Úspešne overené",
|
||||
"app_passwd_protocols": "Povolené protokoly"
|
||||
},
|
||||
"admin": {
|
||||
"access": "Prístup",
|
||||
@ -460,7 +461,8 @@
|
||||
"unlimited_quota_acl": "Neobmedzené kvóta je zakázaná cez ACL",
|
||||
"username_invalid": "Používateľské meno %s nemôže byť použité",
|
||||
"validity_missing": "Zadajte periódu platnosti",
|
||||
"value_missing": "Prosím poskytnite všetky hodnoty"
|
||||
"value_missing": "Prosím poskytnite všetky hodnoty",
|
||||
"yotp_verification_failed": "Overenie cez OTP Yubico zlyhalo: %s"
|
||||
},
|
||||
"debug": {
|
||||
"chart_this_server": "Graf (tento server)",
|
||||
@ -494,7 +496,7 @@
|
||||
"dns_records": "DNS záznamy",
|
||||
"dns_records_24hours": "Berte prosím do úvahy, že zmeny v DNS môžu trvať až 24 hodín, aby sa zmeny prejavili na tejto stránke. Pre jednoduchosť DNS konfigurácie môžete použiť údaje uvedené nižšie, prípadne skontrolovať tak správnosť záznamov v DNS.",
|
||||
"dns_records_data": "Správne dáta",
|
||||
"dns_records_docs": "Pozrite si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentáciu</a>.",
|
||||
"dns_records_docs": "Pozrite si prosím <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">dokumentáciu</a>.",
|
||||
"dns_records_name": "Meno",
|
||||
"dns_records_status": "Súčasný stav",
|
||||
"dns_records_type": "Typ",
|
||||
@ -608,7 +610,10 @@
|
||||
"title": "Upraviť objekt",
|
||||
"unchanged_if_empty": "Ak nemeníte, nechajte prázdne",
|
||||
"username": "Používateľské meno",
|
||||
"validate_save": "Validovať a uložiť"
|
||||
"validate_save": "Validovať a uložiť",
|
||||
"sogo_access": "Prideliť priame prihlásenie do SOGo",
|
||||
"sogo_access_info": "Jednotné prihlásenie z používateľského mail rozhrania zostáva funkčné. Toto nastavenie nemá vplyv na prístup k ostatným službám, ani neodstraňuje alebo nemení existujúci profil používateľa SOGo.",
|
||||
"app_passwd_protocols": "Povolené protokoly"
|
||||
},
|
||||
"fido2": {
|
||||
"confirm": "Potvrdiť",
|
||||
@ -985,7 +990,7 @@
|
||||
"enter_qr_code": "Zadajte váš TOTP kód, ak vaše zariadenie nedokáže skenovať QR kódy",
|
||||
"error_code": "Chyba kódu",
|
||||
"init_webauthn": "Inicializácia, prosím čakajte...",
|
||||
"key_id": "Identifikátor pre váš YubiKey",
|
||||
"key_id": "Identifikátor zariadenia",
|
||||
"key_id_totp": "Identifikátor pre váš kľúč",
|
||||
"none": "Deaktivovať",
|
||||
"reload_retry": "- (obnovte stránku, ak chyba pretrváva)",
|
||||
@ -999,7 +1004,9 @@
|
||||
"webauthn": "WebAuthn autentifikácia",
|
||||
"waiting_usb_auth": "<i>Čakanie na USB zariadenie...</i><br><br>Prosím stlačte tlačidlo na vašom USB zariadení.",
|
||||
"waiting_usb_register": "<i>Čakanie na USB zariadenie...</i><br><br>Prosím zadajte vaše heslo a potvrďte registráciu stlačením tlačidla na vašom USB zariadení.",
|
||||
"yubi_otp": "Yubico OTP autentifikácia"
|
||||
"yubi_otp": "Yubico OTP autentifikácia",
|
||||
"u2f_deprecated_important": "Zaregistrujte si svoj Kľúč v paneli správcu pomocou novej metódy WebAuthn.",
|
||||
"u2f_deprecated": "Zdá sa, že váš kľúč bol zaregistrovaný pomocou zastaranej metódy U2F. Deaktivujeme vám dvojfaktorovú autentifikáciu a odstránime váš Kľúč."
|
||||
},
|
||||
"user": {
|
||||
"action": "Akcia",
|
||||
@ -1155,7 +1162,10 @@
|
||||
"weekly": "Týždenne",
|
||||
"weeks": "týždne",
|
||||
"year": "rok",
|
||||
"years": "rokov"
|
||||
"years": "rokov",
|
||||
"apple_connection_profile_with_app_password": "Nové heslo aplikácie sa vygeneruje a pridá do profilu, takže pri nastavovaní zariadenia nie je potrebné zadávať žiadne heslo. Súbor nezdieľajte, pretože poskytuje úplný prístup k vašej mail schránke.",
|
||||
"change_password_hint_app_passwords": "Vaše konto má {{number_of_app_passwords}} hesiel aplikácií, ktoré nebudú zmenené. Ak ich chcete spravovať, prejdite na kartu Heslá aplikácií.",
|
||||
"direct_protocol_access": "Tento používateľ mailovej schránky má <b>priamy, externý prístup</b> k nasledujúcim protokolom a aplikáciám. Toto nastavenie kontroluje administrátor. Na udelenie prístupu k jednotlivým protokolom a aplikáciám je možné vytvoriť heslá aplikácií.<br>Tlačidlo \"Prihlásenie do webmailu\" poskytuje jednotné prihlásenie do systému SOGo a je vždy k dispozícii."
|
||||
},
|
||||
"warning": {
|
||||
"cannot_delete_self": "Nemožno vymazať prihláseného používateľa",
|
||||
|
@ -478,7 +478,7 @@
|
||||
"cname_from_a": "Värde härstammar från A/AAAA-uppslaget. Detta stöds så länge som uppslaget pekar mot rätt resurs.",
|
||||
"dns_records": "DNS-uppslag",
|
||||
"dns_records_24hours": "Observera att ändringar gjorda i DNS kan ta upp till 24 timmar innan det visas korrekt på denna sida. Syftet med sidan är att enkelt se hur DNS-uppslagen är konfigurerade. Det är lätt att kontrollera att DNS-uppslagen är korrekt uppsatta.",
|
||||
"dns_records_docs": "Se även <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">dokumentationen</a>.",
|
||||
"dns_records_docs": "Se även <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/\">dokumentationen</a>.",
|
||||
"dns_records_data": "Korrektdata",
|
||||
"dns_records_name": "Namn",
|
||||
"dns_records_status": "Nuvarande status",
|
||||
|
@ -65,162 +65,164 @@
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group nowrap">
|
||||
<button class="btn btn-sm btn-primary visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline" id="register-fido2">{{ lang.fido2.set_fido2 }}</button>
|
||||
<button type="button" class="btn btn-sm btn-xs-lg btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#" id="register-fido2-touchid" style="line-height:1.4;"><i class="bi bi-apple"></i> {{ lang.fido2.set_fido2_touchid }}</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group nowrap mass-actions-admin">
|
||||
<button class="btn btn-sm btn-primary visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline" id="register-fido2">{{ lang.fido2.set_fido2 }}</button>
|
||||
<button type="button" class="btn btn-sm btn-xs-lg btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#" id="register-fido2-touchid" style="line-height:1.4;"><i class="bi bi-apple"></i> {{ lang.fido2.set_fido2_touchid }}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row" id="status-fido2">
|
||||
<div class="col-sm-3 col-xs-5 text-right">{{ lang.fido2.register_status }}:</div>
|
||||
<div class="col-sm-9 col-xs-7">
|
||||
<div id="fido2-alerts">-</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<legend style="cursor:pointer;margin-top:40px" data-target="#license" unselectable="on" data-toggle="collapse">
|
||||
<i style="font-size:10pt;" class="bi bi-plus-square"></i> {{ lang.admin.guid_and_license }}
|
||||
</legend>
|
||||
<div id="license" class="collapse">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="guid">{{ lang.admin.guid }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<i class="bi bi-suit-heart{% if gal.valid == true %}-fill text-danger{% endif %}"></i>
|
||||
</span>
|
||||
<input type="text" id="guid" class="form-control" value="{{ license_guid }}" readonly>
|
||||
</div>
|
||||
<p class="help-block">
|
||||
{{ lang.admin.customer_id }}: {{ gal.c|default('?')|raw }} -
|
||||
{{ lang.admin.service_id }}: {{ gal.s|default('?')|raw }} -
|
||||
{{ lang.admin.sal_level }}: {{ gal.m|default('?')|raw }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="row" id="status-fido2">
|
||||
<div class="col-sm-3 col-xs-5 text-right">{{ lang.fido2.register_status }}:</div>
|
||||
<div class="col-sm-9 col-xs-7">
|
||||
<div id="fido2-alerts">-</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<p class="help-block">{{ lang.admin.license_info|raw }}</p>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="license_validate_now" type="submit" href="#">{{ lang.admin.validate_license_now }}</button>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
<legend style="cursor:pointer;margin-top:40px" data-target="#license" unselectable="on" data-toggle="collapse">
|
||||
<i style="font-size:10pt;" class="bi bi-plus-square"></i> {{ lang.admin.guid_and_license }}
|
||||
</legend>
|
||||
<div id="license" class="collapse">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="guid">{{ lang.admin.guid }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">
|
||||
<i class="bi bi-suit-heart{% if gal.valid == true %}-fill text-danger{% endif %}"></i>
|
||||
</span>
|
||||
<input type="text" id="guid" class="form-control" value="{{ license_guid }}" readonly>
|
||||
</div>
|
||||
<p class="help-block">
|
||||
{{ lang.admin.customer_id }}: {{ gal.c|default('?')|raw }} -
|
||||
{{ lang.admin.service_id }}: {{ gal.s|default('?')|raw }} -
|
||||
{{ lang.admin.sal_level }}: {{ gal.m|default('?')|raw }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<legend style="cursor:pointer;" data-target="#admin_api" unselectable="on" data-toggle="collapse">
|
||||
<i style="font-size:10pt;" class="bi bi-plus-square"></i> API
|
||||
</legend>
|
||||
<div id="admin_api" class="collapse">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="help-block">{{ lang.admin.api_info|raw }}</p>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title"><i class="bi bi-file-earmark-arrow-down"></i> {{ lang.admin.api_read_only }}</h4>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<p class="help-block">{{ lang.admin.license_info|raw }}</p>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="license_validate_now" type="submit" href="#">{{ lang.admin.validate_license_now }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="allow_from_ro">{{ lang.admin.api_allow_from }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_ro" {% if api.ro.skip_ip_check %}disabled{% endif %} required>{{ api.ro.allow_from }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="skip_ip_check" id="skip_ip_check_ro" {% if api.ro.skip_ip_check %}checked{% endif %}> {{ lang.admin.api_skip_ip_check }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3">{{ lang.admin.api_key }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<pre>{{ api.ro.api_key|default('-') }}</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="active" {% if api.ro.active %}checked{% endif %}> {{ lang.admin.activate_api }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[ro]" type="submit" href="#"><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[ro]" type="submit" href="#" {% if not api.ro.api_key %}disabled{% endif %}>{{ lang.admin.regen_api_key }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<legend style="cursor:pointer;" data-target="#admin_api" unselectable="on" data-toggle="collapse">
|
||||
<i style="font-size:10pt;" class="bi bi-plus-square"></i> API
|
||||
</legend>
|
||||
<div id="admin_api" class="collapse">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="help-block">{{ lang.admin.api_info|raw }}</p>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title"><i class="bi bi-file-earmark-arrow-down"></i> {{ lang.admin.api_read_only }}</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="allow_from_ro">{{ lang.admin.api_allow_from }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_ro" {% if api.ro.skip_ip_check %}disabled{% endif %} required>{{ api.ro.allow_from }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title"><i class="bi bi-file-earmark-diff"></i> {{ lang.admin.api_read_write }}</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="allow_from_rw">{{ lang.admin.api_allow_from }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_rw" {% if api.rw.skip_ip_check %}disabled{% endif %} required>{{ api.rw.allow_from }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="skip_ip_check" id="skip_ip_check_rw" {% if api.rw.skip_ip_check %}checked{% endif %}> {{ lang.admin.api_skip_ip_check }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="admin_api_key">{{ lang.admin.api_key }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<pre>{{ api.rw.api_key|default('-') }}</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="active" {% if api.rw.active %}checked{% endif %}> {{ lang.admin.activate_api }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[rw]" type="submit" href="#"><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[rw]" type="submit" {% if not api.rw.api_key %}disabled{% endif %} href="#">{{ lang.admin.regen_api_key }}</button>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="skip_ip_check" id="skip_ip_check_ro" {% if api.ro.skip_ip_check %}checked{% endif %}> {{ lang.admin.api_skip_ip_check }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3">{{ lang.admin.api_key }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<pre>{{ api.ro.api_key|default('-') }}</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="active" {% if api.ro.active %}checked{% endif %}> {{ lang.admin.activate_api }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[ro]" type="submit" href="#"><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[ro]" type="submit" href="#" {% if not api.ro.api_key %}disabled{% endif %}>{{ lang.admin.regen_api_key }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title"><i class="bi bi-file-earmark-diff"></i> {{ lang.admin.api_read_write }}</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="allow_from_rw">{{ lang.admin.api_allow_from }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control textarea-code" rows="7" name="allow_from" id="allow_from_rw" {% if api.rw.skip_ip_check %}disabled{% endif %} required>{{ api.rw.allow_from }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="skip_ip_check" id="skip_ip_check_rw" {% if api.rw.skip_ip_check %}checked{% endif %}> {{ lang.admin.api_skip_ip_check }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3" for="admin_api_key">{{ lang.admin.api_key }}:</label>
|
||||
<div class="col-sm-9">
|
||||
<pre>{{ api.rw.api_key|default('-') }}</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<label>
|
||||
<input type="checkbox" name="active" {% if api.rw.active %}checked{% endif %}> {{ lang.admin.activate_api }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-3 col-sm-9">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" name="admin_api[rw]" type="submit" href="#"><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
|
||||
<button class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default admin-ays-dialog" name="admin_api_regen_key[rw]" type="submit" {% if not api.rw.api_key %}disabled{% endif %} href="#">{{ lang.admin.regen_api_key }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading xs-show">{{ lang.admin.domain_admins }}</div>
|
||||
<div class="panel-body">
|
||||
@ -246,4 +248,3 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -71,7 +71,7 @@
|
||||
<div class="col-sm-8">
|
||||
<select data-width="100%" name="exclude_domains" class="selectpicker" title="{{ lang.tfa.select }}" multiple>
|
||||
{% for domain in all_domains %}
|
||||
<option {% if domain in q_data.exclude_domains|keys %}selected{% endif %}>{{ domain }}</option>
|
||||
<option {% if domain in q_data.exclude_domains %}selected{% endif %}>{{ domain }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
@ -118,7 +118,7 @@
|
||||
{% if mailboxdata.attributes.force_pw_update == '1' %}
|
||||
<div class="alert alert-danger">{{ lang.user.force_pw_update|raw }}</div>
|
||||
{% endif %}
|
||||
<p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/#{{ clientconfigstr }}">[{{ lang.user.client_configuration }}]</a></p>
|
||||
<p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/client/#{{ clientconfigstr }}">[{{ lang.user.client_configuration }}]</a></p>
|
||||
<p><a href="#userFilterModal" data-toggle="modal">[{{ lang.user.show_sieve_filters }}]</a></p>
|
||||
<hr>
|
||||
<h4 class="recent-login-success pull-left">{{ lang.user.recent_successful_connections }}</h4>
|
||||
|
@ -58,7 +58,7 @@ services:
|
||||
- redis
|
||||
|
||||
clamd-mailcow:
|
||||
image: mailcow/clamd:1.43
|
||||
image: mailcow/clamd:1.44
|
||||
restart: always
|
||||
dns:
|
||||
- ${IPV4_NETWORK:-172.22.1}.254
|
||||
@ -73,7 +73,7 @@ services:
|
||||
- clamd
|
||||
|
||||
rspamd-mailcow:
|
||||
image: mailcow/rspamd:1.79
|
||||
image: mailcow/rspamd:1.80
|
||||
stop_grace_period: 30s
|
||||
depends_on:
|
||||
- dovecot-mailcow
|
||||
@ -212,7 +212,7 @@ services:
|
||||
- sogo
|
||||
|
||||
dovecot-mailcow:
|
||||
image: mailcow/dovecot:1.159
|
||||
image: mailcow/dovecot:1.161
|
||||
depends_on:
|
||||
- mysql-mailcow
|
||||
dns:
|
||||
@ -464,7 +464,7 @@ services:
|
||||
- DBPASS=${DBPASS}
|
||||
- DBROOT=${DBROOT}
|
||||
- USE_WATCHDOG=${USE_WATCHDOG:-n}
|
||||
- WATCHDOG_NOTIFY_EMAIL=${WATCHDOG_NOTIFY_EMAIL}
|
||||
- WATCHDOG_NOTIFY_EMAIL=${WATCHDOG_NOTIFY_EMAIL:-}
|
||||
- WATCHDOG_NOTIFY_BAN=${WATCHDOG_NOTIFY_BAN:-y}
|
||||
- WATCHDOG_SUBJECT=${WATCHDOG_SUBJECT:-Watchdog ALERT}
|
||||
- WATCHDOG_EXTERNAL_CHECKS=${WATCHDOG_EXTERNAL_CHECKS:-n}
|
||||
@ -540,7 +540,7 @@ services:
|
||||
- solr
|
||||
|
||||
olefy-mailcow:
|
||||
image: mailcow/olefy:1.8.1
|
||||
image: mailcow/olefy:1.9
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
@ -548,7 +548,7 @@ services:
|
||||
- OLEFY_BINDPORT=10055
|
||||
- OLEFY_TMPDIR=/tmp
|
||||
- OLEFY_PYTHON_PATH=/usr/bin/python3
|
||||
- OLEFY_OLEVBA_PATH=/usr/bin/olevba3
|
||||
- OLEFY_OLEVBA_PATH=/usr/bin/olevba
|
||||
- OLEFY_LOGLVL=20
|
||||
- OLEFY_MINLENGTH=500
|
||||
- OLEFY_DEL_TMP=1
|
||||
|
@ -119,7 +119,7 @@ MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}
|
||||
|
||||
# Password hash algorithm
|
||||
# Only certain password hash algorithm are supported. For a fully list of supported schemes,
|
||||
# see https://mailcow.github.io/mailcow-dockerized-docs/model-passwd/
|
||||
# see https://mailcow.github.io/mailcow-dockerized-docs/models/model-passwd/
|
||||
MAILCOW_PASS_SCHEME=BLF-CRYPT
|
||||
|
||||
# ------------------------------
|
||||
@ -145,7 +145,7 @@ DBROOT=$(LC_ALL=C </dev/urandom tr -dc A-Za-z0-9 | head -c 28)
|
||||
# IMPORTANT: Do not use port 8081, 9081 or 65510!
|
||||
# Example: HTTP_BIND=1.2.3.4
|
||||
# For IPv4 and IPv6 leave it empty: HTTP_BIND= & HTTPS_PORT=
|
||||
# For IPv6 see https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ip_bindings/
|
||||
# For IPv6 see https://mailcow.github.io/mailcow-dockerized-docs/post_installation/firststeps-ip_bindings/
|
||||
|
||||
HTTP_PORT=80
|
||||
HTTP_BIND=
|
||||
@ -201,7 +201,7 @@ MAILDIR_GC_TIME=7200
|
||||
# You can use wildcard records to create specific names for every domain you add to mailcow.
|
||||
# Example: Add domains "example.com" and "example.net" to mailcow, change ADDITIONAL_SAN to a value like:
|
||||
#ADDITIONAL_SAN=imap.*,smtp.*
|
||||
# This will expand the certificate to "imap.example.com", "smtp.example.com", "imap.example.net", "imap.example.net"
|
||||
# This will expand the certificate to "imap.example.com", "smtp.example.com", "imap.example.net", "smtp.example.net"
|
||||
# plus every domain you add in the future.
|
||||
#
|
||||
# You can also just add static names...
|
||||
@ -341,7 +341,7 @@ DOVECOT_MASTER_PASS=
|
||||
# Optional: Leave empty for none
|
||||
# This value is only used on first order!
|
||||
# Setting it at a later point will require the following steps:
|
||||
# https://mailcow.github.io/mailcow-dockerized-docs/debug-reset_tls/
|
||||
# https://mailcow.github.io/mailcow-dockerized-docs/troubleshooting/debug-reset_tls/
|
||||
ACME_CONTACT=
|
||||
|
||||
# WebAuthn device manufacturer verification
|
||||
|
@ -492,7 +492,7 @@ for option in ${CONFIG_ARRAY[@]}; do
|
||||
echo "Adding new option \"${option}\" to mailcow.conf"
|
||||
echo '# Password hash algorithm' >> mailcow.conf
|
||||
echo '# Only certain password hash algorithm are supported. For a fully list of supported schemes,' >> mailcow.conf
|
||||
echo '# see https://mailcow.github.io/mailcow-dockerized-docs/model-passwd/' >> mailcow.conf
|
||||
echo '# see https://mailcow.github.io/mailcow-dockerized-docs/models/model-passwd/' >> mailcow.conf
|
||||
echo "MAILCOW_PASS_SCHEME=BLF-CRYPT" >> mailcow.conf
|
||||
fi
|
||||
elif [[ ${option} == "ADDITIONAL_SERVER_NAMES" ]]; then
|
||||
@ -512,7 +512,7 @@ for option in ${CONFIG_ARRAY[@]}; do
|
||||
echo '# Optional: Leave empty for none' >> mailcow.conf
|
||||
echo '# This value is only used on first order!' >> mailcow.conf
|
||||
echo '# Setting it at a later point will require the following steps:' >> mailcow.conf
|
||||
echo '# https://mailcow.github.io/mailcow-dockerized-docs/debug-reset-tls/' >> mailcow.conf
|
||||
echo '# https://mailcow.github.io/mailcow-dockerized-docs/troubleshooting/debug-reset_tls/' >> mailcow.conf
|
||||
echo 'ACME_CONTACT=' >> mailcow.conf
|
||||
fi
|
||||
elif [[ ${option} == "WEBAUTHN_ONLY_TRUSTED_VENDORS" ]]; then
|
||||
|
Loading…
Reference in New Issue
Block a user