Mercurial > p > roundup > code
diff doc/installation.txt @ 6522:e6ae8188f61a
issue2551163 Docker/containerization support
New multi-stage build including drivers for mysql and postgresql
along with brotli and zstd HTTP compression methods.
Documentation in installation.txt.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 05 Nov 2021 23:44:14 -0400 |
| parents | 8f1b91756457 |
| children | 34cbd0e633d2 |
line wrap: on
line diff
--- a/doc/installation.txt Fri Nov 05 20:03:18 2021 -0400 +++ b/doc/installation.txt Fri Nov 05 23:44:14 2021 -0400 @@ -216,6 +216,70 @@ choose to do this, you may have to change Python's search path (sys.path) yourself. +Creating a Docker Container +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you don't want to install it natively, you can create a Docker +container. This uses the Dockerfile in the scripts directory. The +roundup code in the distribuion and any changes will be used. The +build command is:: + + docker build -t roundup-app --rm -f scripts/Dockerfile . + +It supports the following backends: anydbm, sqlite, mysql and +postgresql. Mysql and postgresql support hasn't been tested, but the +Python modules are built and available. See scripts/requirement.txt +for the additional modules that are installed. + +If you want to build a docker from the latest release on PyPI, you can +use:: + + docker build -t roundup-app --build-arg="source=pypi" \ + --rm -f scripts/Dockerfile . + +Once the docker is created, run it with:: + + docker run --rm -p 9017:8080 \ + -v /.../issue.tracker:/usr/src/app/tracker \ + roundup-app:latest + +This will make the tracker available at: +``http://yourhost:9017/issues/``. + +The ``-p`` option maps an external port (9017) to proxy the roundup +server running at port 8080 to the outside. The ``-v`` option maps a +directory from the host into the docker container. It should be a +tracker home directory. Note that uid 1000 is used by roundup. So the +uid of the directory must be 1000. + +If you want to run multiple trackers, create a subdirectory for each +tracker home under the volume mount point. Then invoke ``docker run`` +passing the roundup-server tracker specifications like:: + + docker run --rm -p 9017:8080 \ + -v /.../issue.tracker:/usr/src/app/tracker \ + roundup-app:latest tracker1=tracker1_home tracker2=tracker2_home + + +This will set up two trackers that can be reached at +``http://yourhost:9017/tracker1/`` and ``http://yourhost:9017/tracker2/``. + +If you need to install and initialize the trackers, you can get a +shell without starting the roundup-server using:: + + docker run -it \ + -v /.../issue.tracker:/usr/src/app/tracker \ + --entrypoint sh roundup-app:latest + +Now you can configure your tracker using ``roundup-admin -i tracker`` +using the directions below. + +If you need to access your container while the server is running you +can use:: + + docker exec -it c0d5 sh + +where ``c0d5`` is the id prefix for the running container. Configuring your first tracker ------------------------------
