Merge branch 'master' into feat-fuzzyhashes
This commit is contained in:
11
.mergify.yml
Normal file
11
.mergify.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
rules:
|
||||||
|
default: null
|
||||||
|
branches:
|
||||||
|
master:
|
||||||
|
protection:
|
||||||
|
required_status_checks:
|
||||||
|
strict: true
|
||||||
|
contexts:
|
||||||
|
- continuous-integration/travis-ci
|
||||||
|
required_pull_request_reviews:
|
||||||
|
required_approving_review_count: 2
|
||||||
@@ -17,5 +17,6 @@ COPY start.sh /start.sh
|
|||||||
RUN pybabel compile -d mailu/translations
|
RUN pybabel compile -d mailu/translations
|
||||||
|
|
||||||
EXPOSE 80/tcp
|
EXPOSE 80/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD ["/start.sh"]
|
CMD ["/start.sh"]
|
||||||
|
|||||||
@@ -10,5 +10,6 @@ COPY sieve /var/lib/dovecot
|
|||||||
COPY start.py /start.py
|
COPY start.py /start.py
|
||||||
|
|
||||||
EXPOSE 110/tcp 143/tcp 993/tcp 4190/tcp 2525/tcp
|
EXPOSE 110/tcp 143/tcp 993/tcp 4190/tcp 2525/tcp
|
||||||
|
VOLUME ["/data", "/mail"]
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ COPY conf /conf
|
|||||||
COPY *.py /
|
COPY *.py /
|
||||||
|
|
||||||
EXPOSE 80/tcp 443/tcp 110/tcp 143/tcp 465/tcp 587/tcp 993/tcp 995/tcp 25/tcp 10025/tcp 10143/tcp
|
EXPOSE 80/tcp 443/tcp 110/tcp 143/tcp 465/tcp 587/tcp 993/tcp 995/tcp 25/tcp 10025/tcp 10143/tcp
|
||||||
|
VOLUME ["/certs"]
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ COPY conf /conf
|
|||||||
COPY start.py /start.py
|
COPY start.py /start.py
|
||||||
|
|
||||||
EXPOSE 25/tcp 10025/tcp
|
EXPOSE 25/tcp 10025/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|||||||
14
docs/Dockerfile
Normal file
14
docs/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
FROM python:3-alpine
|
||||||
|
|
||||||
|
COPY requirements.txt /requirements.txt
|
||||||
|
|
||||||
|
RUN pip install -r /requirements.txt \
|
||||||
|
&& apk add --no-cache nginx \
|
||||||
|
&& mkdir /run/nginx
|
||||||
|
|
||||||
|
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
|
COPY . /docs
|
||||||
|
|
||||||
|
RUN sphinx-build /docs /build
|
||||||
|
|
||||||
|
CMD nginx -g "daemon off;"
|
||||||
25
docs/conf.py
25
docs/conf.py
@@ -7,7 +7,7 @@ templates_path = ['_templates']
|
|||||||
source_suffix = '.rst'
|
source_suffix = '.rst'
|
||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
project = 'Mailu'
|
project = 'Mailu'
|
||||||
copyright = '2017, Mailu authors'
|
copyright = '2018, Mailu authors'
|
||||||
author = 'Mailu authors'
|
author = 'Mailu authors'
|
||||||
version = release = 'latest'
|
version = release = 'latest'
|
||||||
language = None
|
language = None
|
||||||
@@ -23,7 +23,7 @@ htmlhelp_basename = 'Mailudoc'
|
|||||||
# to template names.
|
# to template names.
|
||||||
html_sidebars = {
|
html_sidebars = {
|
||||||
'**': [
|
'**': [
|
||||||
'relations.html', # needs 'show_related': True theme option to display
|
'relations.html',
|
||||||
'searchbox.html',
|
'searchbox.html',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -36,24 +36,3 @@ html_context = {
|
|||||||
'github_version': 'master',
|
'github_version': 'master',
|
||||||
'conf_py_path': '/docs/'
|
'conf_py_path': '/docs/'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Upload function when the script is called directly
|
|
||||||
if __name__ == "__main__":
|
|
||||||
import os, sys, paramiko
|
|
||||||
build_dir, hostname, username, password, dest_dir = sys.argv[1:]
|
|
||||||
transport = paramiko.Transport((hostname, 22))
|
|
||||||
transport.connect(username=username, password=password)
|
|
||||||
sftp = paramiko.SFTPClient.from_transport(transport)
|
|
||||||
os.chdir(build_dir)
|
|
||||||
for dirpath, dirnames, filenames in os.walk("."):
|
|
||||||
remote_path = os.path.join(dest_dir, dirpath)
|
|
||||||
try:
|
|
||||||
sftp.mkdir(remote_path)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
for filename in filenames:
|
|
||||||
sftp.put(
|
|
||||||
os.path.join(dirpath, filename),
|
|
||||||
os.path.join(remote_path, filename)
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -89,3 +89,20 @@ Any change to the files will automatically restart the Web server and reload the
|
|||||||
|
|
||||||
When using the development environment, a debugging toolbar is displayed on the right side
|
When using the development environment, a debugging toolbar is displayed on the right side
|
||||||
of the screen, that you can open to access query details, internal variables, etc.
|
of the screen, that you can open to access query details, internal variables, etc.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Documentation is maintained in the ``docs`` directory and are maintained as `reStructuredText`_ files. It is possible to run a local documentation server for reviewing purposes, using Docker:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
cd <Mailu repo>
|
||||||
|
docker build -t docs docs
|
||||||
|
docker run -p 127.0.0.1:8080:80 docs
|
||||||
|
|
||||||
|
You can now read the local documentation by navigating to http://localhost:8080.
|
||||||
|
|
||||||
|
.. note:: After modifying the documentation, the image needs to be rebuild and the container restarted for the changes to become visible.
|
||||||
|
|
||||||
|
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
|
||||||
|
|||||||
5
docs/nginx.conf
Normal file
5
docs/nginx.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
root /build;
|
||||||
|
}
|
||||||
@@ -2,5 +2,3 @@ recommonmark
|
|||||||
Sphinx
|
Sphinx
|
||||||
sphinx-autobuild
|
sphinx-autobuild
|
||||||
sphinx-rtd-theme
|
sphinx-rtd-theme
|
||||||
sphinxcontrib-versioning
|
|
||||||
paramiko
|
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ COPY conf /etc/clamav
|
|||||||
COPY start.sh /start.sh
|
COPY start.sh /start.sh
|
||||||
|
|
||||||
EXPOSE 3310/tcp
|
EXPOSE 3310/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD ["/start.sh"]
|
CMD ["/start.sh"]
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/re
|
|||||||
COPY radicale.conf /radicale.conf
|
COPY radicale.conf /radicale.conf
|
||||||
|
|
||||||
EXPOSE 5232/tcp
|
EXPOSE 5232/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD radicale -f -S -C /radicale.conf
|
CMD radicale -f -S -C /radicale.conf
|
||||||
|
|||||||
@@ -9,4 +9,6 @@ COPY start.py /start.py
|
|||||||
|
|
||||||
EXPOSE 11332/tcp 11334/tcp
|
EXPOSE 11332/tcp 11334/tcp
|
||||||
|
|
||||||
|
VOLUME ["/var/lib/rspamd"]
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|||||||
@@ -45,3 +45,7 @@ services:
|
|||||||
none:
|
none:
|
||||||
image: mailu/none:$VERSION
|
image: mailu/none:$VERSION
|
||||||
build: ../core/none
|
build: ../core/none
|
||||||
|
|
||||||
|
docs:
|
||||||
|
image: mailu/docs:$VERSION
|
||||||
|
build: ../docs
|
||||||
|
|||||||
@@ -24,4 +24,7 @@ COPY default.ini /default.ini
|
|||||||
|
|
||||||
COPY start.py /start.py
|
COPY start.py /start.py
|
||||||
|
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD /start.py
|
CMD /start.py
|
||||||
|
|||||||
@@ -25,4 +25,7 @@ COPY config.inc.php /var/www/html/config/
|
|||||||
|
|
||||||
COPY start.sh /start.sh
|
COPY start.sh /start.sh
|
||||||
|
|
||||||
|
EXPOSE 80/tcp
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
CMD ["/start.sh"]
|
CMD ["/start.sh"]
|
||||||
|
|||||||
Reference in New Issue
Block a user