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:
parent
69c19dca55
commit
339b3c1b24
@ -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;"
|
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)
|
|
||||||
)
|
|
||||||
|
5
docs/nginx.conf
Normal file
5
docs/nginx.conf
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
root /build;
|
||||||
|
}
|
@ -2,4 +2,3 @@ recommonmark
|
|||||||
Sphinx
|
Sphinx
|
||||||
sphinx-autobuild
|
sphinx-autobuild
|
||||||
sphinx-rtd-theme
|
sphinx-rtd-theme
|
||||||
sphinxcontrib-versioning
|
|
||||||
|
@ -48,6 +48,4 @@ services:
|
|||||||
|
|
||||||
docs:
|
docs:
|
||||||
image: mailu/docs:$VERSION
|
image: mailu/docs:$VERSION
|
||||||
build:
|
build: ../docs
|
||||||
context: ../
|
|
||||||
dockerfile: docs/Dockerfile
|
|
||||||
|
Loading…
Reference in New Issue
Block a user