{"id":20156131,"url":"https://github.com/openfun/openshift-docker","last_synced_at":"2026-03-14T19:53:05.315Z","repository":{"id":55916008,"uuid":"130703295","full_name":"openfun/openshift-docker","owner":"openfun","description":":whale2: OpenShift-compatible Docker images used at FUN","archived":false,"fork":false,"pushed_at":"2020-12-07T14:41:25.000Z","size":26,"stargazers_count":4,"open_issues_count":4,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-24T00:14:28.449Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hub.docker.com/u/fundocker/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-23T13:47:05.000Z","updated_at":"2023-05-04T13:19:01.000Z","dependencies_parsed_at":"2022-08-15T09:20:40.389Z","dependency_job_id":null,"html_url":"https://github.com/openfun/openshift-docker","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fopenshift-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fopenshift-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fopenshift-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fopenshift-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/openshift-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248120105,"owners_count":21050892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T23:37:42.571Z","updated_at":"2026-03-14T19:53:05.288Z","avatar_url":"https://github.com/openfun.png","language":"Shell","readme":"# OpenShift Docker\n\nThis repository contains the docker image sources used in FUN's new\nOpenShift-based infrastructure to run Open-edX, DjangoCMS and other\napplications.\n\n## Usage\n\n### Build an image\n\nBuilding a Docker image can be achieved thanks to the `bin/build`\nutility script, _e.g._:\n\nBuild a specific image:\n\n```bash\n$ bin/build nginx:1.13\n```\n\nOr build all tags of an image:\n\n```bash\n$ bin/build nginx\n```\n\nFor a target `image`, the `build` script expects a `Dockerfile` and context to\nbe located in a `docker/images/\u003cimage_name\u003e/\u003cimage_tag\u003e` directory, _e.g._:\n\n```\n.\n├── ...\n├── docker\n│   └── images\n│       └── nginx\n│           └── 1.13\n│               └── Dockerfile\n└── ...\n```\n\nThe target build image will be automatically tagged with the following pattern:\n\n```\nfundocker/openshift-\u003cimage_name\u003e:\u003cimage_tag\u003e\n```\n\nOnce the build succeeds, you can check image availability _via_:\n\n```bash\n$ docker images \"fundocker/openshift*\"\nREPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE\nfundocker/openshift-nginx   1.12                97fa5695dab6        22 hours ago        108MB\nfundocker/openshift-nginx   1.13                367a1bb94e8a        23 hours ago        109MB\n```\n\n### Publish an image\n\nOnce built, you can publish your image to [DockerHub](https://hub.docker.com)\nvia the `bin/publish` script, _e.g._:\n\nPublish a specific image:\n\n```bash\n$ bin/publish nginx:1.13\n```\n\nOr publish all tags of an image:\n\n```bash\n$ bin/publish nginx\n```\n\nThe script will automatically look up for a built image tagged with the pattern\ndescribed in the previous section and will push this new image to the DockerHub\npublic repository.\n\n\u003e You will need to create a DockerHub account first and log in via the `docker\n\u003e login` command.\n\n### Continuous Integration and Delivery\n\nTo make sure our release process is reproducible, we have automated image build\nand publication using CircleCI.\n\nOur building strategy follows:\n\n1. All images are constantly built when a new pull request is proposed and the\n   related branch is merged to `master`.\n2. We publish a new image to DockerHub when the git repository is tagged with a\n   tag matching the following pattern: `\u003cimage_name\u003e[-\u003cimage_tag\u003e]`, _e.g._\n   `nginx` or `nginx-1.13`.\n3. We publish all images to DocherHub when the git repository is tagged with a\n   tag matching the following pattern: `all-\u003cdate\u003e`, _e.g._ `all-20180423`.\n\n## Adding a new image\n\nTo add a new image `foo:bar`, create the image directory first:\n\n```bash\n$ mkdir docker/images/foo/bar\n```\n\nThen write OpenShift compatibility statements that will add new Docker layers\nover the base image (see [OpenShift's\ndocumentation](https://docs.openshift.com/enterprise/3.0/creating_images/guidelines.html#openshift-specific-guidelines)\nto get official guidelines):\n\n```Dockerfile\n# docker/images/foo/bar/Dockerfile\nFROM foo:bar\n\n# Allow foo to be started by a non privileged user\nRUN chgrp -R 0 /var/run/foo\n```\n\n### Remarks\n\n* Always derive your `Dockerfile` from an official image and make sure it is\n  still maintained.\n* When building an image, the building context is the `docker/images/\u003cimage_name\u003e/\u003cimage_tag\u003e`\n  directory, so if you need to add files to the context (_e.g._ for a `COPY`\n  statement), make sure to place them in this directory.\n\n### Publish your image using the CI\n\nOnce your image is ready to be published, you are invited to:\n\n1. Update the list of available images in the next section of this document.\n2. Push your feature-branch (you've created a feature branch, right?) to GitHub\n   and open a new pull request (PR).\n3. Look for CI status and wait for a review of your work. If everything went\n   well, proceed to the next step.\n4. Create a new repository on DockerHub under the `fundocker` organization\n   umbrella (it should be named following our image tagging pattern - see\n   above), and give the `bot` team `write` access to this repository.\n5. Tag the repository (see building strategy in the CI/CD section) to publish\n   your image:\n\n```bash\n\n$ git tag nginx-1.13\n$ git push origin --tags\n```\n\n6. Merge your PR.\n\n## Available images\n\nWe maintain a restricted set of OpenShift-compatible images we use in\nproduction. An exhaustive list of those Docker images follows:\n\n### `nginx`\n\n* Library: [docker/images/nginx](./docker/images/nginx)\n* Tags: [`1.13`](docker/images/nginx/1.13/Dockerfile)\n* Availability:\n  [fundocker/openshift-nginx](https://hub.docker.com/r/fundocker/openshift-nginx/)\n\n### `elasticsearch`\n\n* Library: [docker/images/elasticsearch](./docker/images/elasticsearch)\n* Tags: [`5.6.16`](docker/images/elasticsearch/5.6.16/Dockerfile), [`6.2.4`](docker/images/elasticsearch/6.2.4/Dockerfile),\n  [`6.3.0`](docker/images/elasticsearch/6.3.0/Dockerfile), [`6.3.1`](docker/images/elasticsearch/6.3.1/Dockerfile),\n  [`6.6.0`](docker/images/elasticsearch/6.6.0/Dockerfile), [`6.6.2`](docker/images/elasticsearch/6.6.2/Dockerfile)\n* Tags removed from this repository but available on Docker Hub :\n  [`0.9`](https://hub.docker.com/layers/fundocker/openshift-elasticsearch/0.90/images/sha256-b282cd8bada9f7478736209077762a2e4bd0aa2297e1a20183ad2d1bf22f9369),\n  [`1.5.2`](https://hub.docker.com/layers/fundocker/openshift-elasticsearch/1.5.2/images/sha256-c524a5a87e1bf287d81ad4d31b3539c70d8b4afec29eb6f77a112eb07ebbba65)\n* Availability:\n  [fundocker/openshift-elasticsearch](https://hub.docker.com/r/fundocker/openshift-elasticsearch/)\n\n## License\n\nThis work is released under the MIT License (see [LICENSE](./LICENSE)).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fopenshift-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Fopenshift-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fopenshift-docker/lists"}