diff --git a/AUTHORS.rst b/AUTHORS.rst index 5907708..dda35f0 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -8,3 +8,9 @@ Contributors ============ +- Chiara Bigarella +- Chris Topaloudis +- Diego Rodriguez +- Dinos Kousidis +- Lars Holm Nielsen +- Rokas Maciulaitis diff --git a/Dockerfile-build-process-custom.png b/Dockerfile-build-process-custom.png deleted file mode 100644 index 156b90d..0000000 Binary files a/Dockerfile-build-process-custom.png and /dev/null differ diff --git a/Dockerfile-build-process.png b/Dockerfile-build-process.png deleted file mode 100644 index b8fe09d..0000000 Binary files a/Dockerfile-build-process.png and /dev/null differ diff --git a/LICENSE b/LICENSE index edde62f..a79aa51 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (C) 2018 CERN. +Copyright (C) 2018-2019 CERN. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index cbdf470..4152f24 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,50 @@ -# docker-invenio +# CentOS 7 with Python 3 for Invenio -[](https://travis-ci.org/inveniosoftware/docker-invenio/branches?branch=master) [](https://hub.docker.com/r/inveniosoftware/centos7-python/) [](https://hub.docker.com/r/inveniosoftware/centos7-python/builds/) +[](https://travis-ci.org/inveniosoftware/docker-invenio) [](https://hub.docker.com/r/inveniosoftware/centos7-python/) [](https://hub.docker.com/r/inveniosoftware/centos7-python/builds/) -This repository contains Docker base images to generate the environment for -[Invenio](https://github.com/inveniosoftware/invenio) applications. +This image serves as base image for [Invenio](https://github.com/inveniosoftware/invenio) instances running on CentOS7. The purpose is to provide a base image that is usable in production environments like OpenShift. -**Prerequisites** Docker: [https://docs.docker.com/install/](https://docs.docker.com/install/) +The image is based on the official CentOS image ``centos:7`` and contains: + +- Python 3.6 set as default Python interpreter with upgraded versions of pip, pipenv, setuptools and wheel. +- Tools: Node.js, NPM, Git, Curl Vim, Emacs, Development Tools. +- Library devel packages: libffi, libxml2, libxslt. +- Working directory for an Invenio instance. + +## Supported tags and respective ``Dockerfile`` links + +* 3.6 - [Dockerfile](https://github.com/inveniosoftware/docker-invenio/blob/master/python3.6/Dockerfile). ## Usage -Detailed usage is described in the [invenio getting started guide](https://invenio-software.org/gettingstarted/). +This image is used by the scaffolded Dockerfile in the Invenio [getting started guide](https://inveniosoftware.org/gettingstarted/). See the guide for quickly getting started. -## Build the new images +### Create a ``Dockerfile`` -Build the images by running the docker build with the appropiate tag, i.e: +A simple ``Dockerfile`` using this base image could look like this: -`docker build -f python3.6/Dockerfile -t my-site-base .` +``` +FROM inveniosoftware/centos7-python:3.6 +COPY ./ . +COPY ./docker/uwsgi/ ${INVENIO_INSTANCE_PATH} +RUN ./scripts/bootstrap +``` -## Supported Tags and respective Dockerfile links +### Environment variables -* 3.6 - [Dockerfile](https://github.com/inveniosoftware/docker-invenio/blob/master/python3.6/Dockerfile). +The following environment variables has been set: -## Helpful resources +- ``WORKING_DIR=/opt/invenio`` +- ``INVENIO_INSTANCE_PATH=/opt/invenio/var/instance`` +- ``INVENIO_USER_ID=1000`` -* [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) -* [Issue tracker](https://github.com/inveniosoftware/docker-invenio/issues) +### Rolling builds + +The image is rebuild when the base image ``centos7:latest`` is updated. The base image is receiving regular monthly updates as well as emergency fixes. ## Automated builds -Automated builds are configured using [Docker Hub builds](https://docs.docker.com/docker-hub/builds/). The tiggers are defined the following way: +Automated builds are configured using [Docker Hub builds](https://docs.docker.com/docker-hub/builds/). The triggers are defined the following way: ```(bash) Branch/tag Dockerfile Docker tag @@ -39,14 +53,11 @@ Push to master ---> /python3.6/Dockerfile ---> 3.6 Push /^3\.6.*/ tag ---> /python3.6/Dockerfile ---> git-tag-name, 3.6 ``` -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. - -Maintained by: [InvenioSoftware](https://github.com/inveniosoftware/) +This 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. ## License -This file is part of Invenio. -Copyright (C) 2015-2018 CERN. +Copyright (C) 2018-2019 CERN. -Invenio is free software; you can redistribute it and/or modify it +Docker-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.