Skip to content

Commit dbdf92a

Browse files
benjaominghumitosstsewdtanvimoharir
authored
Updates and fixes to Development Install guide (#9319)
* WIP: Add a tip for - perhaps - the most common kind of development setup. We need to make expected system requirements explict perhaps. * Fix project fixtures for readthedocs.org branch and URL * Fixing several issues encountered in vanilla Development Installation * Add test-builds to project fixtures * Avoid use of inline code Co-authored-by: Manuel Kaufmann <[email protected]> * Use `:guilabel:` Co-authored-by: Manuel Kaufmann <[email protected]> * Apply 2 suggestions from code review Co-authored-by: Santos Gallegos <[email protected]> Co-authored-by: Manuel Kaufmann <[email protected]> * Remove Installing docker section, replace with requirements. Elaborate why privacy/incognito sessions may be needed * Remove outdated example projects from projects fixtures * Adding sphinx project * Exporting new projects from db * Remove mentioning of `COMPOSE_PROJECT_NAME` after fixing issues w/ .env reading * Remove docker-compose 1.x requirement * Revert "Add `mc` client to `web` container" This reverts commit 729e542. * Remove MinIO structure * Revert "Revert "Add `mc` client to `web` container"" This reverts commit 5eaa6dd. * Remove awscli because MinIO mc client is now built into web image Co-authored-by: Manuel Kaufmann <[email protected]> Co-authored-by: Santos Gallegos <[email protected]> Co-authored-by: Tanvi Moharir <[email protected]> Co-authored-by: tanvimoharir <[email protected]>
1 parent b525177 commit dbdf92a

File tree

3 files changed

+1183
-367
lines changed

3 files changed

+1183
-367
lines changed

docs/dev/install.rst

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,41 @@ Development Installation
44
.. meta::
55
:description lang=en: Install a local development instance of Read the Docs with our step by step guide.
66

7-
These are development setup and :ref:`standards <install:Core team standards>` that are adhered to by the core development team while
8-
developing Read the Docs and related services. If you are a contributor to Read the Docs,
7+
These are development setup and :ref:`standards <install:Core team standards>` that are followed to by the core development team. If you are a contributor to Read the Docs,
98
it might a be a good idea to follow these guidelines as well.
109

11-
To follow these instructions you will need a Unix-like operating system,
12-
or `Windows Subsystem for Linux (WSL) <https://docs.microsoft.com/en-us/windows/wsl/>`_.
13-
Other operating systems are not supported.
10+
Requirements
11+
------------
12+
13+
A development setup can be hosted by your laptop, in a VM, on a separate server etc. Any such scenario should work fine, as long as it can satisfy the following:
14+
15+
* Is Unix-like system (Linux, BSD, Mac OSX) which **supports Docker**. Windows systems should have WSL+Docker or Docker Desktop.
16+
* Has **10 GB or more of free disk space** on the drive where Docker's cache and volumes are stored. If you want to experiment with customizing Docker containers, you'll likely need more.
17+
* Can spare *2 GB of system memory* for running Read the Docs, this typically means that a development laptop should have **8 GB or more of memory** in total.
18+
* Your system should *ideally* match the production system which uses the **latest official+stable Docker** distribution for `Ubuntu <https://docs.docker.com/engine/install/ubuntu/>`_ (the ``docker-ce`` package). If you are on Windows or Mac, you may also want to try `Docker Desktop <https://docs.docker.com/desktop/>`_.
1419

1520
.. note::
1621

17-
We do not recommend to follow this guide to deploy an instance of Read the Docs for production usage.
18-
Take into account that this setup is only useful for developing purposes.
22+
Take into account that this setup is intended for development purposes.
23+
We do not recommend to follow this guide to deploy an instance of Read the Docs for production.
1924

2025

2126
Set up your environment
2227
-----------------------
2328

24-
#. install `Docker <https://www.docker.com/>`_ following `their installation guide <https://docs.docker.com/install/>`_.
25-
26-
#. clone the ``readthedocs.org`` repository:
29+
#. Clone the ``readthedocs.org`` repository:
2730

2831
.. prompt:: bash
2932

3033
git clone --recurse-submodules https://github.com/readthedocs/readthedocs.org/
3134

32-
#. install the requirements from ``common`` submodule:
35+
#. Install the requirements from ``common`` submodule:
3336

3437
.. prompt:: bash
3538

3639
pip install -r common/dockerfiles/requirements.txt
3740

38-
#. build the Docker image for the servers:
41+
#. Build the Docker image for the servers:
3942

4043
.. warning::
4144

@@ -50,33 +53,34 @@ Set up your environment
5053
If you pass the ``GITHUB_TOKEN`` and ``GITHUB_USER`` environment variables to this command,
5154
it will add support for readthedocs-ext.
5255

53-
#. pull down Docker images for the builders:
56+
#. Pull down Docker images for the builders:
5457

5558
.. prompt:: bash
5659

5760
inv docker.pull --only-required
5861

59-
#. start all the containers:
62+
#. Start all the containers:
6063

6164
.. prompt:: bash
6265

6366
inv docker.up --init # --init is only needed the first time
6467

65-
#. go to http://community.dev.readthedocs.io to access your local instance of Read the Docs.
68+
#. Go to http://community.dev.readthedocs.io to access your local instance of Read the Docs.
69+
Because HSTS is enabled on ``*.readthedocs.io`` and because some browsers have HTTPS-only modes enabled, you should potentially use a fresh private/incognito session.
6670

6771

6872
Check that everything works
6973
---------------------------
7074

71-
#. go to http://community.dev.readthedocs.io and check that the appearance and style looks correct
72-
(otherwise the MinIO buckets might be misconfigured, see above)
75+
#. Visit http://community.dev.readthedocs.io
76+
(if your browser automatically redirect to ``https://``, use a private/incognito session)
7377

74-
#. login as ``admin`` / ``admin`` and verify that the project list appears
78+
#. Login as ``admin`` / ``admin`` and verify that the project list appears.
7579

76-
#. go to the "Read the Docs" project, click on the "Build version" button to build ``latest``,
77-
and wait until it finishes
80+
#. Go to the "Read the Docs" project, under section :guilabel:`Build a version`, click on the :guilabel:`Build version` button selecting "latest",
81+
and wait until it finishes (this can take several minutes).
7882

79-
#. click on the "View docs" button to browse the documentation, and verify that it works
83+
#. Click on the "View docs" button to browse the documentation, and verify that it shows the Read the Docs documentation page.
8084

8185

8286
Working with Docker Compose

0 commit comments

Comments
 (0)