Skip to content

Commit 966c509

Browse files
committed
New image structure based on design document
readthedocs/readthedocs.org#7566
1 parent f03a67c commit 966c509

6 files changed

+244
-250
lines changed

Dockerfile

-250
This file was deleted.

Dockerfile.base

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# Read the Docs - Environment base
2+
FROM ubuntu:20.04
3+
LABEL mantainer="Read the Docs <[email protected]>"
4+
5+
ENV DEBIAN_FRONTEND noninteractive
6+
ENV APPDIR /app
7+
ENV LANG C.UTF-8
8+
9+
USER root
10+
WORKDIR /
11+
12+
# System dependencies
13+
RUN apt-get -y update
14+
RUN apt-get -y install \
15+
software-properties-common \
16+
vim
17+
18+
# Install requirements
19+
RUN apt-get -y install \
20+
build-essential \
21+
bzr \
22+
curl \
23+
doxygen \
24+
g++ \
25+
git-core \
26+
graphviz-dev \
27+
libbz2-dev \
28+
libcairo2-dev \
29+
libenchant1c2a \
30+
libevent-dev \
31+
libffi-dev \
32+
libfreetype6 \
33+
libfreetype6-dev \
34+
libgraphviz-dev \
35+
libjpeg8-dev \
36+
libjpeg-dev \
37+
liblcms2-dev \
38+
libmysqlclient-dev \
39+
libpq-dev \
40+
libreadline-dev \
41+
libsqlite3-dev \
42+
libtiff5-dev \
43+
libwebp-dev \
44+
libxml2-dev \
45+
libxslt1-dev \
46+
libxslt-dev \
47+
mercurial \
48+
pandoc \
49+
pkg-config \
50+
postgresql-client \
51+
subversion \
52+
zlib1g-dev
53+
54+
55+
# LaTeX -- split to reduce image layer size
56+
RUN apt-get -y install \
57+
texlive-fonts-extra
58+
RUN apt-get -y install \
59+
texlive-latex-extra-doc \
60+
texlive-pictures-doc \
61+
texlive-publishers-doc
62+
RUN apt-get -y install \
63+
texlive-lang-english \
64+
texlive-lang-japanese
65+
RUN apt-get -y install \
66+
texlive-full
67+
68+
# lmodern: extra fonts
69+
# https://github.com/rtfd/readthedocs.org/issues/5494
70+
#
71+
# xindy: is useful to generate non-ascii indexes
72+
# https://github.com/rtfd/readthedocs.org/issues/4454
73+
#
74+
# fonts-noto-cjk-extra
75+
# fonts-hanazono: chinese fonts
76+
# https://github.com/readthedocs/readthedocs.org/issues/6319
77+
RUN apt-get -y install \
78+
fonts-symbola \
79+
lmodern \
80+
latex-cjk-chinese-arphic-bkai00mp \
81+
latex-cjk-chinese-arphic-gbsn00lp \
82+
latex-cjk-chinese-arphic-gkai00mp \
83+
texlive-fonts-recommended \
84+
fonts-noto-cjk-extra \
85+
fonts-hanazono \
86+
xindy
87+
88+
# pyenv extra requirements
89+
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
90+
RUN apt-get install -y \
91+
liblzma-dev \
92+
libncurses5-dev \
93+
libncursesw5-dev \
94+
libssl-dev \
95+
llvm \
96+
make \
97+
python-openssl \
98+
tk-dev \
99+
wget \
100+
xz-utils
101+
102+
# UID and GID from readthedocs/user
103+
RUN groupadd --gid 205 docs
104+
RUN useradd -m --uid 1005 --gid 205 docs
105+
106+
USER docs
107+
WORKDIR /home/docs
108+
109+
# Install pyenv
110+
RUN wget https://github.com/pyenv/pyenv/archive/master.zip && \
111+
unzip master.zip && \
112+
rm -f master.zip && \
113+
mv pyenv-master ~docs/.pyenv
114+
ENV PYENV_ROOT /home/docs/.pyenv
115+
ENV PATH /home/docs/.pyenv/shims:$PATH:/home/docs/.pyenv/bin
116+
117+
# Install nodenv
118+
RUN wget https://github.com/nodenv/nodenv/archive/master.zip && \
119+
unzip master.zip && \
120+
rm -f master.zip && \
121+
mv nodenv-master ~docs/.nodenv
122+
RUN cd ~/.nodenv && src/configure && make -C src
123+
ENV PATH /home/docs/.nodenv/bin:$PATH
124+
125+
# Install node-build
126+
RUN mkdir /home/docs/.nodenv/plugins
127+
RUN wget https://github.com/nodenv/node-build/archive/master.zip && \
128+
unzip master.zip && \
129+
rm -f master.zip && \
130+
mv node-build-master ~/.nodenv/plugins/node-build
131+
132+
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)