Skip to content

Commit

Permalink
Docs: README.rst to README.md
Browse files Browse the repository at this point in the history
* Converting README.rst to README.md for better rendering in
  hub.docker.com. Closes #8

Signed-off-by: Rokas Maciulaitis <[email protected]>
  • Loading branch information
Rokas Maciulaitis authored and lnielsen committed Dec 12, 2018
1 parent 0091656 commit 72b27b0
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 112 deletions.
107 changes: 34 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,56 @@
..
This file is part of Invenio.
Copyright (C) 2015-2018 CERN.
Docker Invenio
==============

Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.
[![image](https://img.shields.io/docker/automated/inveniosoftware/centos7-python.svg)](https://hub.docker.com/r/inveniosoftware/centos7-python/)
[![image](https://img.shields.io/docker/build/inveniosoftware/centos7-python.svg)](https://hub.docker.com/r/inveniosoftware/centos7-python/builds/)

# docker-invenio
Docker base images for [Invenio](https://github.com/inveniosoftware/invenio).

[![Build Status](https://travis-ci.org/inveniosoftware/docker-invenio.svg?branch=master"BuildStatus\")](https://travis-ci.org/inveniosoftware/docker-invenio/branches?branch=master) [![image](https://img.shields.io/docker/automated/inveniosoftware/centos7-python.svg)](https://hub.docker.com/r/inveniosoftware/centos7-python/) [![image](https://img.shields.io/docker/build/inveniosoftware/centos7-python.svg)](https://hub.docker.com/r/inveniosoftware/centos7-python/builds/)
Supported tags and respective Dockerfile links
--------------

This repository contains Docker base images to generate the environment for
[Invenio](https://github.com/inveniosoftware/invenio) applications.
* 3.6 [docker/Dockerfile](https://github.com/inveniosoftware/docker-invenio/blob/master/python3.6/Dockerfile).
* 3.7 [docker/Dockerfile](https://github.com/inveniosoftware/docker-invenio/blob/master/python3.7/Dockerfile).

**Prerequisites** Docker: [https://docs.docker.com/install/](https://docs.docker.com/install/)
Quick reference
--------------

* Where to get help:
[the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker).

## Usage
* Where to file issues:
https://github.com/inveniosoftware/docker-invenio/issues.

Start by creating an Invenio instance with [cookiecutter-invenio-instance](https://github.com/inveniosoftware/cookiecutter-invenio-instance).
* Maintained by:
[Invenio](https://github.com/inveniosoftware/).

Among the generated files, there are two Dockerfiles [Dockerfile.base](https://github.com/inveniosoftware/cookiecutter-invenio-instance/blob/master/%7B%7Bcookiecutter.project_shortname%7D%7D/Dockerfile.base) and [Dockerfile](https://github.com/inveniosoftware/cookiecutter-invenio-instance/blob/master/%7B%7Bcookiecutter.project_shortname%7D%7D/Dockerfile),
which are used in that sequence to build the image for your application.
Automic builds
--------------

The complete process is depicted in the following diagram:

---

![](Dockerfile-build-process.png)

---

The last image is a ready-to-run Invenio instance. If you wish to install
extra dependencies that are not included in the Dockerfiles, you can create
a Dockerfile based on Dockerfile.base to handle the modifications.

---

![](Dockerfile-build-process-custom.png)

---


## Development Process

Leveraging Docker image layer caching can offer a significant
speedup in your development process. This is the reason of
maintaining two Dockerfiles, a Dockerfile.base to create an image with the installed dependencies, and the final Dockerfile which installs the application code and
rebuilds the static assets, which tend to change more frequently.

In order to incorporate your latest changes, you can just repeat the last step
of the build process. For example, if you have generated an invenio project called
FunGenerator with cookiecutter-invenio-instance:

`docker build -f fun-generator/Dockerfile -t my-site .`

## Supported Tags and respective Dockerfile links

* 3.6 - [Dockerfile](https://github.com/inveniosoftware/docker-invenio/blob/master/python3.6/Dockerfile)


## Helpful resources

* [Docker Community Forums](https://forums.docker.com/)
* [Docker Community Slack](https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/)
* [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker)
* [God himself](https://twitter.com/thetweetofgod)
* [Issue tracker](https://github.com/inveniosoftware/docker-invenio/issues)


## Automated builds

Automated builds are configured using [Docker Hub builds](https://docs.docker.com/docker-hub/builds/). The triggers are
Automatic builds are configured using [Docker Hub
builds](https://docs.docker.com/docker-hub/builds/). The tiggers are
defined the following way:

```
Branch/tag Dockerfile Docker tag
``` {.sourceCode .}
Branch/tag Dockerfile Docker tag
Push to master ---> /python3.6/Dockerfile ---> 3.6
Push /^3\.6.*/ tag ---> /python3.6/Dockerfile ---> git-tag-name, 3.6
Push to master ---> /python3.6/Dockerfile ---> 3.6
Push to master ---> /python3.7/Dockerfile ---> 3.7
Push /^3\.6.*/ tag ---> /python3.6/Dockerfile ---> git-tag-name, 3.6
Push /^3\.7.*/ tag ---> /python3.7/Dockerfile ---> git-tag-name, 3.7
```

That way, we will use tag `3.6` as latest for Python version and there is also the possibility to push tags for specific use cases such as pinning certain libraries or patches.
That way, we will use tags `3.6` and `3.7` as latest for these Python
versions and there is also the possibility to push tags for specific use
cases such as pinning certain libraries or patches. To modify the
aforementioned configuration you can access [Inveniosoftware
DockerHub](https://hub.docker.com/r/inveniosoftware/centos7-python/~/settings/automated-builds/).

Maintained by: [InvenioSoftware](https://github.com/inveniosoftware/)


## License
License
-------

This file is part of Invenio.
Copyright (C) 2015-2018 CERN.

Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.

39 changes: 0 additions & 39 deletions README.rst

This file was deleted.

0 comments on commit 72b27b0

Please sign in to comment.