Skip to content

Commit f7063d5

Browse files
committed
feat(fedora): add toolbox image
1 parent 90b7365 commit f7063d5

7 files changed

Lines changed: 154 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Build Fedora system images
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'fedora/*-init/**'
9+
- '!fedora/**/README.md'
10+
- '.github/workflows/build-fedora-init.yml'
11+
workflow_dispatch:
12+
schedule:
13+
- cron: '35 4 * * 6' # Every Saturday at 04:35am
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: read
19+
packages: write
20+
security-events: write
21+
strategy:
22+
matrix:
23+
version: ['44-toolbox']
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v4.2.2
27+
28+
- name: Extract Fedora release version
29+
id: version
30+
shell: bash
31+
run: echo "release=${VERSION%-toolbox}" >> $GITHUB_OUTPUT
32+
env:
33+
VERSION: ${{ matrix.version }}
34+
35+
- name: Build and push image
36+
uses: ./.github/actions/build-image
37+
with:
38+
name: fedora
39+
version: ${{ matrix.version }}
40+
description: Custom Fedora ${{ steps.version.outputs.release }} system container image
41+
build-context: ./fedora/${{ matrix.version }}
42+
token: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Build Fedora toolbox images
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'fedora/*-toolbox/**'
9+
- '!fedora/**/README.md'
10+
- '.github/workflows/build-fedora-toolbox.yml'
11+
workflow_dispatch:
12+
schedule:
13+
- cron: '35 4 * * 6' # Every Saturday at 04:35am
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: read
19+
packages: write
20+
security-events: write
21+
strategy:
22+
matrix:
23+
version: ['44-toolbox']
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v4.2.2
27+
28+
- name: Extract Fedora release version
29+
id: version
30+
shell: bash
31+
run: echo "release=${VERSION%-toolbox}" >> $GITHUB_OUTPUT
32+
env:
33+
VERSION: ${{ matrix.version }}
34+
35+
- name: Build and push image
36+
uses: ./.github/actions/build-image
37+
with:
38+
name: fedora
39+
version: ${{ matrix.version }}
40+
description: Custom Fedora ${{ steps.version.outputs.release }} toolbox container image
41+
build-context: ./fedora/${{ matrix.version }}
42+
token: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ This repository contains custom-built OCI container images for various popular o
2424
| **[alertmanager](./alertmanager/)** | Prometheus Alertmanager | [GitHub](https://github.com/prometheus/alertmanager) |
2525
| **[coredns](./coredns/)** | CoreDNS is a DNS server that chains plugins | [Website](https://coredns.io/) |
2626
| **[coreos-toolbox](./coreos-toolbox/)** | Custom Fedora image including utilities and tools for debugging on Fedora CoreOS | - |
27+
| **[fedora](./fedora/)** | Custom Fedora containers images | [Website](https://fedoraproject.org/) |
2728
| **[feishin](./feishin/)** | A modern self-hosted music player | [GitHub](https://github.com/jeffvli/feishin) |
2829
| **[fusion](./fusion/)** | A lightweight, self-hosted friendly RSS reader | [GitHub](https://github.com/0x2E/fusion) |
2930
| **[grafana](./grafana/)** | The open and composable observability and data visualization platform | [Website](https://grafana.com/) |

fedora/44-toolbox/Dockerfile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM docker.io/fedora:44
2+
3+
COPY --chown=0:0 --chmod=0644 \
4+
dnf.conf /etc/dnf/dnf.conf
5+
6+
RUN --mount=type=bind,source=extra-packages,target=/extra-packages \
7+
set -ex ; \
8+
dnf -y swap glibc-minimal-langpack glibc-langpack-en ; \
9+
dnf -y swap coreutils-single coreutils-full ; \
10+
dnf upgrade -y; \
11+
dnf install -y --setopt=install_weak_deps=False $(paste extra-packages) ; \
12+
dnf clean all

fedora/44-toolbox/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## General informations
2+
3+
Custom Fedora 44 container image for creating a sandbox environment with utilities such as [toolbx](https://github.com/containers/toolbox) or [distrobox](https://github.com/89luca89/distrobox).
4+
5+
## How to run this image ?
6+
7+
You can use `distrobox` to launch the sandbox using this image:
8+
9+
```shell
10+
$ distrobox create -i ghcr.io/f-bn/fedora:44-toolbox [options]
11+
```

fedora/44-toolbox/dnf.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[main]
2+
max_parallel_downloads=10
3+
defaultyes=True

fedora/44-toolbox/extra-packages

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
acl
2+
bash-completion
3+
bind-utils
4+
bzip2
5+
cracklib-dicts
6+
diffutils
7+
gawk
8+
git-core
9+
gnupg2
10+
gnupg2-smime
11+
gvfs-client
12+
hostname
13+
iproute
14+
iputils
15+
keyutils
16+
krb5-libs
17+
less
18+
lsof
19+
mesa-dri-drivers
20+
mesa-vulkan-drivers
21+
nano-default-editor
22+
netcat
23+
nftables
24+
nss-mdns
25+
openssh-clients
26+
openssl
27+
pam
28+
procps-ng
29+
psmisc
30+
rsync
31+
socat
32+
strace
33+
tcpdump
34+
traceroute
35+
unzip
36+
util-linux
37+
vte-profile
38+
vulkan-loader
39+
wget2-wget
40+
which
41+
whois
42+
words
43+
zip

0 commit comments

Comments
 (0)