You've already forked latex-docker
Compare commits
16 Commits
86ead8922d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
b66dac1342
|
|||
|
6f4e26d27a
|
|||
|
94a88ca4eb
|
|||
|
458bee010a
|
|||
|
c9163f2360
|
|||
|
4032897913
|
|||
|
2e94c19840
|
|||
|
9b503252f4
|
|||
|
63fd6810bf
|
|||
|
9696d303c9
|
|||
|
01ddea84ec
|
|||
|
59fd1c360e
|
|||
|
45b0f0abb0
|
|||
|
c8488d5ab3
|
|||
|
cf5c40a692
|
|||
|
2b1b9e7205
|
388
.drone.yml
388
.drone.yml
@@ -1,388 +0,0 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: linter
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: docker.io/tmknom/markdownlint:0.23.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: archlinux
|
||||
|
||||
steps:
|
||||
- name: archlinux
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh archlinux latest
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- cron
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: centos
|
||||
|
||||
steps:
|
||||
- name: centos7
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh centos 7
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- cron
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: debian
|
||||
|
||||
steps:
|
||||
- name: 8-slim
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh debian 8-slim
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: 9-slim
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh debian 9-slim
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: 10-slim
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh debian 10-slim
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: 11-slim
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh debian 11-slim
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- cron
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: fedora
|
||||
|
||||
steps:
|
||||
- name: fedora-33
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh fedora 33
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: fedora-34
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh fedora 34
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- cron
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: ubuntu
|
||||
|
||||
steps:
|
||||
- name: ubuntu-16.04
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh ubuntu 16.04
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: ubuntu-18.04
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh ubuntu 18.04
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: ubuntu-20.04
|
||||
image: docker.io/volkerraschek/build-image:latest
|
||||
commands:
|
||||
- ./build.sh ubuntu 20.04
|
||||
environment:
|
||||
CONTAINER_IMAGE_REGISTRY_PASSWORD:
|
||||
from_secret: container_image_registry_password
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
- cron
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: sync
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: github
|
||||
image: docker.io/appleboy/drone-git-push:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
settings:
|
||||
branch: master
|
||||
remote: ssh://git@github.com/volker-raschek/latex-docker.git
|
||||
force: true
|
||||
ssh_key:
|
||||
from_secret: ssh_key
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/latex-docker
|
||||
29
.gitea/workflows/build.yaml
Normal file
29
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch: {}
|
||||
|
||||
jobs:
|
||||
build-arch-linux:
|
||||
runs-on: ubuntu-latest-amd64
|
||||
steps:
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- uses: docker/setup-qemu-action@v3.6.0
|
||||
- uses: docker/setup-buildx-action@v3.10.0
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
TAG=latest
|
||||
|
||||
docker buildx build \
|
||||
--file Dockerfile.archlinux \
|
||||
--tag git.cryptic.systems/volker.raschek/latex:${TAG}-archlinux \
|
||||
.
|
||||
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
name: 'Lint Markdown files'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch: {}
|
||||
|
||||
jobs:
|
||||
markdown-lint:
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- uses: DavidAnson/markdownlint-cli2-action@v19.1.0
|
||||
with:
|
||||
globs: '**/*.md'
|
||||
53
.gitea/workflows/release.yaml
Normal file
53
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
push-arch-linux:
|
||||
runs-on: ubuntu-latest-amd64
|
||||
steps:
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- uses: docker/setup-qemu-action@v3.6.0
|
||||
- uses: docker/setup-buildx-action@v3.10.0
|
||||
|
||||
- uses: docker/login-action@v3.4.0
|
||||
with:
|
||||
registry: git.cryptic.systems
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||
|
||||
- name: Build and push image
|
||||
run: |
|
||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||
|
||||
docker buildx build \
|
||||
--file Dockerfile.archlinux \
|
||||
--push \
|
||||
--tag git.cryptic.systems/volker.raschek/latex:${TAG}-archlinux \
|
||||
.
|
||||
|
||||
sync-to-hub-docker-io:
|
||||
needs:
|
||||
- push-arch-linux
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Copy images to docker.io
|
||||
run: |
|
||||
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||
|
||||
apt-get update --yes
|
||||
apt-get install --yes skopeo
|
||||
|
||||
for suffix in archlinux; do
|
||||
skopeo copy \
|
||||
--all \
|
||||
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
||||
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
||||
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
||||
--src-username volker.raschek \
|
||||
docker://git.cryptic.systems/volker.raschek/latex:${TAG}-${suffix} \
|
||||
docker://docker.io/volkerraschek/latex:${TAG}-${suffix}
|
||||
done
|
||||
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Update Docker Hub Description
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- README.md
|
||||
workflow_dispatch: {}
|
||||
|
||||
jobs:
|
||||
update-description-on-hub-docker-io:
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||
repository: volkerraschek/latex
|
||||
readme-filepath: README.md
|
||||
@@ -45,19 +45,17 @@ MD012:
|
||||
# MD013/line-length - Line length
|
||||
MD013:
|
||||
# Number of characters
|
||||
line_length: 80
|
||||
line_length: 120
|
||||
# Number of characters for headings
|
||||
heading_line_length: 80
|
||||
heading_line_length: 120
|
||||
# Number of characters for code blocks
|
||||
code_block_line_length: 80
|
||||
code_block_line_length: 120
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
# Include tables
|
||||
tables: false
|
||||
# Include headings
|
||||
headings: true
|
||||
# Include headings
|
||||
headers: true
|
||||
# Strict length checking
|
||||
strict: false
|
||||
# Stern length checking
|
||||
@@ -70,11 +68,6 @@ MD022:
|
||||
# Blank lines below heading
|
||||
lines_below: 1
|
||||
|
||||
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
||||
MD024:
|
||||
# Only check sibling headings
|
||||
allow_different_nesting: true
|
||||
|
||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||
MD025:
|
||||
# Heading level
|
||||
@@ -129,7 +122,6 @@ MD041:
|
||||
MD044:
|
||||
# List of proper names
|
||||
names: []
|
||||
# - some-thing
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
|
||||
@@ -141,4 +133,4 @@ MD046:
|
||||
# MD048/code-fence-style - Code fence style
|
||||
MD048:
|
||||
# Code fence syle
|
||||
style: "backtick"
|
||||
style: "backtick"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# Base-Image
|
||||
FROM docker.io/library/archlinux:latest
|
||||
|
||||
# Labels
|
||||
@@ -14,8 +13,8 @@ RUN pacman --sync --noconfirm \
|
||||
make \
|
||||
python-pygments \
|
||||
texlive-bin \
|
||||
texlive-lang \
|
||||
texlive-most
|
||||
texlive-lang && \
|
||||
rm --recursive --force /var/cache/pacman/pkg
|
||||
|
||||
ENV PATH=/usr/bin/vendor_perl:${PATH}
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# Build-Arguments
|
||||
ARG TAG=latest
|
||||
|
||||
# Base-Image
|
||||
FROM docker.io/library/centos:${TAG}
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
||||
|
||||
# Runs
|
||||
RUN yum update --assumeyes
|
||||
RUN yum install --assumeyes \
|
||||
biber \
|
||||
curl \
|
||||
git \
|
||||
gnuplot \
|
||||
latexmk \
|
||||
make \
|
||||
python-pygments \
|
||||
texlive \
|
||||
texlive-*.noarch
|
||||
|
||||
# Workspace
|
||||
WORKDIR /workspace
|
||||
VOLUME [ "/workspace" ]
|
||||
@@ -1,34 +0,0 @@
|
||||
# Build-Arguments
|
||||
ARG TAG=latest
|
||||
|
||||
# Base-Image
|
||||
FROM docker.io/library/debian:${TAG}
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
||||
|
||||
# Environment
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# Runs
|
||||
RUN apt-get update
|
||||
RUN apt-get upgrade --yes
|
||||
RUN apt-get install --yes \
|
||||
biber \
|
||||
curl \
|
||||
git \
|
||||
gnuplot \
|
||||
latexmk \
|
||||
make \
|
||||
texlive-full
|
||||
|
||||
# version specific packages
|
||||
RUN if [ $(cat /etc/debian_version) != "11.0" ]; then apt-get install --yes python-pygments; fi
|
||||
RUN if [ $(cat /etc/debian_version) = "11.0" ]; then apt-get install --yes python3-pygments; fi
|
||||
|
||||
# remove dpkg lists
|
||||
RUN rm --recursive --force /var/lib/apt/lists/*
|
||||
|
||||
# Workspace
|
||||
WORKDIR /workspace
|
||||
VOLUME [ "/workspace" ]
|
||||
@@ -1,26 +0,0 @@
|
||||
# Build-Arguments
|
||||
ARG TAG=latest
|
||||
|
||||
# Base-Image
|
||||
FROM docker.io/library/fedora:${TAG}
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
||||
|
||||
# Runs
|
||||
RUN yum update --assumeyes
|
||||
RUN yum install --assumeyes \
|
||||
biber \
|
||||
curl \
|
||||
git \
|
||||
gnuplot \
|
||||
latexmk \
|
||||
make \
|
||||
python-pygments \
|
||||
texlive-collection-bibtexextra \
|
||||
texlive-collection-fontutils \
|
||||
texlive-collection-langeuropean
|
||||
|
||||
# Workspace
|
||||
WORKDIR /workspace
|
||||
VOLUME [ "/workspace" ]
|
||||
@@ -1,35 +0,0 @@
|
||||
# Build-Arguments
|
||||
ARG TAG=latest
|
||||
|
||||
# Base-Image
|
||||
FROM docker.io/library/ubuntu:${TAG}
|
||||
|
||||
# Labels
|
||||
LABEL maintainer="Markus Pesch <markus.pesch@cryptic.systems>"
|
||||
|
||||
# Environment
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# Runs
|
||||
RUN apt-get update
|
||||
RUN apt-get upgrade --yes
|
||||
RUN apt-get install --yes \
|
||||
biber \
|
||||
curl \
|
||||
git \
|
||||
gnuplot \
|
||||
latexmk \
|
||||
make \
|
||||
texlive-full \
|
||||
xindy
|
||||
|
||||
# version specific packages
|
||||
RUN if [ $(cat /etc/debian_version) != "bullseye/sid" ]; then apt-get install --yes python-pygments; fi
|
||||
RUN if [ $(cat /etc/debian_version) = "bullseye/sid" ]; then apt-get install --yes python3-pygments; fi
|
||||
|
||||
# remove dpkg lists
|
||||
RUN rm --recursive --force /var/lib/apt/lists/*
|
||||
|
||||
# Workspace
|
||||
WORKDIR /workspace
|
||||
VOLUME [ "/workspace" ]
|
||||
42
Makefile
Normal file
42
Makefile
Normal file
@@ -0,0 +1,42 @@
|
||||
# CONTAINER_RUNTIME
|
||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||
# container runtime. This is needed to start and run a container image.
|
||||
CONTAINER_RUNTIME?=$(shell which podman)
|
||||
|
||||
# ArchLinux
|
||||
LATEX_IMAGE_REGISTRY_HOST?=git.cryptic.systems
|
||||
LATEX_IMAGE_REGISTRY_USER?=volker.raschek
|
||||
LATEX_IMAGE_NAMESPACE?=${LATEX_IMAGE_REGISTRY_USER}
|
||||
LATEX_IMAGE_REPOSITORY:=latex
|
||||
LATEX_IMAGE_VERSION?=latest
|
||||
LATEX_IMAGE_FULLY_QUALIFIED=${LATEX_IMAGE_REGISTRY_HOST}/${LATEX_IMAGE_NAMESPACE}/${LATEX_IMAGE_REPOSITORY}:${LATEX_IMAGE_VERSION}
|
||||
|
||||
# BUILD LATEX CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY:=container-image/build/arch-linux
|
||||
container-image/build/arch-linux:
|
||||
${CONTAINER_RUNTIME} build \
|
||||
--file Dockerfile.archlinux \
|
||||
--no-cache \
|
||||
--pull \
|
||||
--tag ${LATEX_IMAGE_FULLY_QUALIFIED} \
|
||||
.
|
||||
|
||||
# DELETE LATEX CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY:=container-image/delete/arch-linux
|
||||
container-image/delete/arch-linux:
|
||||
- ${CONTAINER_RUNTIME} image rm ${LATEX_IMAGE_FULLY_QUALIFIED}
|
||||
|
||||
# PUSH LATEX CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY+=container-image/push/arch-linux
|
||||
container-image/push/arch-linux:
|
||||
echo ${LATEX_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${LATEX_IMAGE_REGISTRY_HOST} --username ${LATEX_IMAGE_REGISTRY_USER} --password-stdin
|
||||
${CONTAINER_RUNTIME} push ${LATEX_IMAGE_FULLY_QUALIFIED}
|
||||
|
||||
# PHONY
|
||||
# ==============================================================================
|
||||
# Declare the contents of the PHONY variable as phony. We keep that information
|
||||
# in a variable so we can use it in if_changed.
|
||||
.PHONY: ${PHONY}
|
||||
42
README.md
42
README.md
@@ -1,47 +1,34 @@
|
||||
# Docker Latex
|
||||
# Latex
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/latex-docker)
|
||||
[](https://hub.docker.com/r/volkerraschek/latex)
|
||||
|
||||
This repository, hosted on
|
||||
[git.cryptic.systems](https://git.cryptic.systems/volker.raschek/latex-docker),
|
||||
contains Dockerfiles to build different container images based on differend base
|
||||
images. Any container image has the tex compiler and the minted package
|
||||
included. Throught this are all container images able to compile tex source code
|
||||
with source code highlighting.
|
||||
The repository, hosted on [git.cryptic.systems](https://git.cryptic.systems/volker.raschek/latex-docker), contains
|
||||
Dockerfiles to build container images based on different base images. Any container image has the tex compiler and the
|
||||
minted package included. The main goal of all container image is to compile the text source code with highlighting
|
||||
provided by minted into a PDF file.
|
||||
|
||||
## Images
|
||||
|
||||
Available Images:
|
||||
|
||||
- volkerraschek/latex:latest-archlinux
|
||||
- volkerraschek/latex:latest-debian8-slim
|
||||
- volkerraschek/latex:latest-debian9-slim
|
||||
- volkerraschek/latex:latest-debian10-slim
|
||||
- volkerraschek/latex:latest-fedora-30
|
||||
- volkerraschek/latex:latest-fedora-31
|
||||
- volkerraschek/latex:latest-centos-7
|
||||
- volkerraschek/latex:latest-ubuntu-16.04
|
||||
- volkerraschek/latex:latest-ubuntu-18.04
|
||||
- volkerraschek/latex:latest-ubuntu-20.04
|
||||
- `git.cryptic.systems/volker.raschek/latex:latest-archlinux`
|
||||
|
||||
You can find a complete list of all docker images based on different
|
||||
distributions on [Docker Hub](https://hub.docker.com/r/volkerraschek/latex-docker/tags).
|
||||
You can find a complete list of all docker images based on different distributions on [Docker
|
||||
Hub](https://hub.docker.com/r/volkerraschek/latex-docker/tags).
|
||||
|
||||
## Usage
|
||||
|
||||
### Latexmk
|
||||
|
||||
Here is an example based on ubuntu 18.04 to compile a PDF file with `latexmk`
|
||||
from `index.tex`. Run this command in your root directory of your Latex files or
|
||||
change the `volume` option with the `${PWD}` variable.
|
||||
Here is an example based on ubuntu 18.04 to compile a PDF file with `latexmk` from `index.tex`. Run this command in your
|
||||
root directory of your Latex files or change the `volume` option with the `${PWD}` variable.
|
||||
|
||||
```bash
|
||||
$ docker run \
|
||||
--rm \
|
||||
--user="$(shell id -u):$(shell id -g)" \
|
||||
--net="none" \
|
||||
--volume="${PWD}:/workspace" volkerraschek/latex:latest-ubuntu-18.04 \
|
||||
--volume="${PWD}:/workspace" git.cryptic.systems/volker.raschek/latex:latest-archlinux \
|
||||
latexmk \
|
||||
-shell-escape \
|
||||
-synctex=1 \
|
||||
@@ -52,16 +39,15 @@ $ docker run \
|
||||
|
||||
### pdflatex
|
||||
|
||||
Here is a example based on ubuntu 18.04 to compile a PDF file with `pdflatex`
|
||||
from `index.tex`. Run this command in your root directory of your Latex files
|
||||
or change the `volume` option with the `${PWD}` variable.
|
||||
Here is a example based on ubuntu 18.04 to compile a PDF file with `pdflatex` from `index.tex`. Run this command in
|
||||
your root directory of your Latex files or change the `volume` option with the `${PWD}` variable.
|
||||
|
||||
```bash
|
||||
$ docker run \
|
||||
--rm \
|
||||
--user="$(shell id -u):$(shell id -g)" \
|
||||
--net="none" \
|
||||
--volume="${PWD}:/workspace" volkerraschek/latex:latest-ubuntu-18.04 \
|
||||
--volume="${PWD}:/workspace" git.cryptic.systems/volker.raschek/latex:latest-archlinux \
|
||||
pdflatex \
|
||||
-shell-escape \
|
||||
-synctex=1 \
|
||||
|
||||
16
build.sh
16
build.sh
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
OS=${1:-archlinux}
|
||||
VERSION=${2:-latest}
|
||||
|
||||
TAG=latest-${OS}-${VERSION}
|
||||
if [ "${OS}" = "archlinux" ]; then
|
||||
TAG=latest-${OS}
|
||||
fi
|
||||
|
||||
docker build --build-arg TAG=${VERSION} --file Dockerfile.${OS} --tag volkerraschek/latex:${TAG} .
|
||||
echo ${CONTAINER_IMAGE_REGISTRY_PASSWORD} | docker login docker.io --username volkerraschek --password-stdin
|
||||
docker push volkerraschek/latex:${TAG}
|
||||
docker image rm volkerraschek/latex:${TAG}
|
||||
Reference in New Issue
Block a user