1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-04 10:24:41 +02:00

Build the documentation as a Docker image

This commit is contained in:
kaiyou 2018-09-28 10:41:17 +02:00
parent 69c19dca55
commit 339b3c1b24
5 changed files with 15 additions and 33 deletions

View File

@ -1,13 +1,14 @@
FROM python:3-alpine FROM python:3-alpine
RUN apk add --no-cache git COPY requirements.txt /requirements.txt
COPY docs/requirements.txt requirements.txt
RUN pip install -r /requirements.txt \ RUN pip install -r /requirements.txt \
&& mkdir /src && apk add --no-cache nginx \
&& mkdir /run/nginx
WORKDIR /src COPY ./nginx.conf /etc/nginx/conf.d/default.conf
COPY .git /src/.git COPY . /docs
RUN sphinx-versioning build -b -B 1.5 -r 1.5 -w '^[0-9.]*$' -w master -W '^$' /src /build RUN sphinx-build /docs /build
CMD nginx -g "daemon off;"

View File

@ -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)
)

5
docs/nginx.conf Normal file
View File

@ -0,0 +1,5 @@
server {
listen 80;
listen [::]:80;
root /build;
}

View File

@ -2,4 +2,3 @@ recommonmark
Sphinx Sphinx
sphinx-autobuild sphinx-autobuild
sphinx-rtd-theme sphinx-rtd-theme
sphinxcontrib-versioning

View File

@ -48,6 +48,4 @@ services:
docs: docs:
image: mailu/docs:$VERSION image: mailu/docs:$VERSION
build: build: ../docs
context: ../
dockerfile: docs/Dockerfile