Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
groups:
gha:
update-types: [ "major", "minor", "patch" ]
update-types: ["major", "minor", "patch"]
schedule:
interval: "weekly"
labels:
Expand All @@ -17,7 +18,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ] # ← only patch PRs
update-types: ["version-update:semver-patch"] # only patch PRs
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -28,7 +29,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -39,7 +40,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -50,7 +51,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -61,7 +62,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -72,7 +73,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -83,7 +84,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -94,7 +95,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -105,7 +106,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -116,7 +117,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -127,7 +128,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
Expand All @@ -138,7 +139,7 @@ updates:
interval: weekly
groups:
docker-patch:
update-types: [ "version-update:semver-patch" ]
update-types: ["version-update:semver-patch"]
open-pull-requests-limit: 5
labels:
- docker-base-update
3 changes: 1 addition & 2 deletions .github/workflows/build-php72-apache2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,12 @@ on:
workflow_dispatch:

jobs:

build-php72:
permissions:
packages: write
strategy:
matrix:
arch: [ 'amd64', 'arm64' ]
arch: ['amd64', 'arm64']
runs-on: "ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }}"
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-php82-apache2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
packages: write
strategy:
matrix:
arch: [ 'amd64', 'arm64' ]
arch: ['amd64', 'arm64']
runs-on: "ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }}"
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-php85-apache2-node24.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
packages: write
strategy:
matrix:
arch: [ 'amd64', 'arm64' ]
arch: ['amd64', 'arm64']
runs-on: "ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }}"
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-php85-apache2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
packages: write
strategy:
matrix:
arch: [ 'amd64', 'arm64' ]
arch: ['amd64', 'arm64']
runs-on: "ubuntu-24.04${{ matrix.arch == 'arm64' && '-arm' || '' }}"
steps:
- name: Checkout
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/delete-old-container-images.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
name: Delete old container images

on:
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Validate YAML and Markdown

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install yamllint and markdownlint
run: |
python -m pip install --upgrade pip
pip install yamllint
npm install -g markdownlint-cli

- name: Lint YAML
run: yamllint $(git ls-files '*.yml' '*.yaml')

- name: Lint Markdown
run: markdownlint $(git ls-files '*.md')
2 changes: 2 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
MD013: false
34 changes: 34 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---

yaml-files:
- '*.yaml'
- '*.yml'
- '.yamllint'

rules:
anchors: enable
braces: enable
brackets: enable
colons: enable
commas: enable
comments:
level: warning
comments-indentation:
level: warning
document-end: disable
document-start:
level: warning
empty-lines: enable
empty-values: disable
float-values: disable
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length: disable
new-line-at-end-of-file: enable
new-lines: enable
octal-values: disable
quoted-strings: disable
trailing-spaces: enable
truthy: disable
41 changes: 24 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,57 @@
We provide the following base containers which can be used in downstream projects:

## Apache2 containers
**Plain Apache**</br>

### Plain Apache

![Build status for plain apache2 production image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-apache2.yaml/badge.svg)

**Apache 2 with shibboleth**</br>
![Build status for apache2 shibboleth production image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-apache2-shibboleth.yaml/badge.svg)
### Apache 2 with shibboleth

![Build status for apache2 shibboleth production image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-apache2-shibboleth.yaml/badge.svg)

## PHP 72 images

**PROD image:**</br>
**PROD image:**

![Build status for php72 apache2 production image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php72-apache2.yaml/badge.svg)

**Dev images:**</br>
![Build status for php72 apache2 node14 image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php72-apache2-node14-composer2.yaml/badge.svg)</br>
![Build status for php72 apache2 node16 image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php72-apache2-node16-composer2.yaml/badge.svg)
**Dev images:**

![Build status for php72 apache2 node14 image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php72-apache2-node14-composer2.yaml/badge.svg)
![Build status for php72 apache2 node16 image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php72-apache2-node16-composer2.yaml/badge.svg)

## PHP 8.2 images

**PROD image:**<br>
**PROD image:**

![Build status for php82 apache2 production image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php82-apache2.yaml/badge.svg)

**Dev images:** </br>
**Dev images:**

![Build status for php82 apache2 node20 image](https://github.com/OpenConext/OpenConext-BaseContainers/actions/workflows/build-php82-apache2-node20-composer2.yaml/badge.svg)

## Features

- At every start, the php containers will recreate the symfony cache dir. </br>
- You can supply the environment variable APACHE_UID. It creates the user "openconext", and starts Apache with that the supplied uid.
This allows for strict permissions on mounted files.
You need to prefix the uid with a # like so:
```
- At every start, the php containers will recreate the symfony cache dir.
- You can supply the environment variable APACHE_UID. It creates the user "openconext", and starts Apache with that the supplied uid.
This allows for strict permissions on mounted files.
You need to prefix the uid with a # like so:

```sh
docker run -e APACHE_UID=#1337 ghcr.io/openconext/openconext-basecontainers/php72-apache2:latest
```

- You can supply the environment variable "HTTPD_CSP" which will set the CSP header on responses.
- You can supply the environment variable TZ to set the timezone on the php82 containers
- You can add PHP_MEMORY_LIMIT to override the default setting of 128M php memory limit on the php82 containers

### satosa container

- At every start, the satosa container will create a new satosa user and group.</br>
- You can supply the environment variables RUNAS_UID and RUNAS_GID to configure the chosen uid and gid inside the container.</br>
- At every start, the satosa container will create a new satosa user and group.
- You can supply the environment variables RUNAS_UID and RUNAS_GID to configure the chosen uid and gid inside the container.
- Without RUNAS_UID and RUNAS_GID the container will fall back to uid=1000 and gid=1000
```

```sh
docker run -e RUNAS_UID=1234 -e RUNAS_GID=1234 --rm ghcr.io/openconext/openconext-basecontainers/satosa:latest
```
Loading