Skip to content

Commit

Permalink
Docops/AutoDoc container image (#94)
Browse files Browse the repository at this point in the history
* Build and push  container image for docops

* Assign uid 1001 and gid 0 to docops user

* Add install of ansible collection community.general

* Change uid of docops to 1000

* Update Dockerfile dummy enter to trigger v3.4.1 workflow

---------

Co-authored-by: Dimitrij Pinneker <dimitrij.pinneker@capgemini.com>
Co-authored-by: M. Westerholz <37044238+MWesterholz@users.noreply.github.com>
Co-authored-by: aimee-889 <93951322+aimee-889@users.noreply.github.com>
  • Loading branch information
4 people authored Nov 8, 2024
1 parent 347bd9e commit 7f52da8
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .github/workflows/docopstoghcr-on-push.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: docops Docker Image on Push to GHCR

on:
push:
branches-ignore:
- master
paths:
- 'docops/**'

jobs:
build_image_on_push:
permissions:
packages: write
security-events: write
actions: read
contents: read
uses: ./.github/workflows/imagetoghcr-on-push.yaml
with:
image_name: "docops"
context: "./docops/"
38 changes: 38 additions & 0 deletions docops/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM quay.io/ansible/awx-ee:24.1.0

USER root

RUN \
# Add non-privileged user
adduser docops --uid 1000 --gid 0 && \
# Install drawio
dnf install -y wget && \
mkdir /home/docops/drawio && \
cd /home/docops/drawio && \
curl -s https://api.github.com/repos/jgraph/drawio-desktop/releases/latest | grep browser_download_url | grep '.*drawio-x86_64-.*\.rpm' | cut -d '"' -f 4 | wget -i - && \
dnf install -y ./drawio-x86_64-*.rpm && \
dnf remove -y wget && \
rm -rf /home/docops/drawio && \
# Install X Virtual Framebuffer as an X server because it's needed to execute drawio in a headless mode
# Later execute drawio with xvfb as the following.
# Remember to append the options '--disable-gpu --headless --no-sandbox' as the last options of the command.
# Examples:
# xvfb-run -a drawio --version --disable-gpu --headless --no-sandbox
# xvfb-run -a drawio --export --format png --output ./test.png ./test.drawio --disable-gpu --headless --no-sandbox
dnf install -y xorg-x11-server-Xvfb;



USER docops

RUN \
# Install doctoolchain
cd /home/docops && \
curl -Lo dtcw https://doctoolchain.org/dtcw && \
chmod +x ./dtcw && \
./dtcw install doctoolchain; \
./dtcw install java; \
# Install community.general collection, it contains the 'archive' module used in the doctoolchain playbook
ansible-galaxy collection install community.general;

CMD ["/bin/bash"]

0 comments on commit 7f52da8

Please sign in to comment.