Compare commits

...

2 commits

Author SHA1 Message Date
0de4f35311
start putting together a dockerfile
is still missing font installation plus potentially more stuff
2024-05-18 23:24:09 +02:00
cae7b9b99b
add default language 2024-05-18 15:21:14 +02:00
3 changed files with 65 additions and 0 deletions

58
Dockerfile Normal file
View file

@ -0,0 +1,58 @@
FROM alpine AS builder
RUN apk add --no-cache cargo
RUN mkdir /src
COPY . /src
WORKDIR /src
RUN cargo build --release --no-default-features
# ##############################################
FROM alpine
ARG ffmpeg_ver=7.0
RUN apk add --no-cache \
dav1d fontconfig freetype harfbuzz librsvg libva lilv-libs opus svt-av1 x264-libs x265 \
inkscape libgcc \
&& apk add --no-cache --virtual .build-deps \
build-base \
dav1d-dev fontconfig-dev freetype-dev harfbuzz-dev librsvg-dev libva-dev lilv-dev opus-dev svt-av1-dev x264-dev x265-dev \
&& wget -q https://ffmpeg.org/releases/ffmpeg-${ffmpeg_ver}.tar.bz2 \
&& tar xfa ffmpeg-${ffmpeg_ver}.tar.bz2 \
&& cd ffmpeg-${ffmpeg_ver} \
&& ./configure \
--prefix=/usr/local \
--disable-asm \
--disable-librtmp \
--disable-lzma \
--disable-static \
--enable-avfilter \
--enable-gpl \
--enable-libdav1d \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libharfbuzz \
--enable-libopus \
--enable-librsvg \
--enable-libsvtav1 \
--enable-libx264 \
--enable-libx265 \
--enable-lto=auto \
--enable-lv2 \
--enable-pic \
--enable-postproc \
--enable-pthreads \
--enable-shared \
--enable-vaapi \
--enable-version3 \
--optflags="-O3" \
&& make -j$(nproc) install \
&& apk del --no-cache .build-deps \
&& cd .. \
&& rm -r ffmpeg-${ffmpeg_ver} ffmpeg-${ffmpeg_ver}.tar.bz2
COPY --from=builder /src/target/release/render_video /usr/local/bin/render_video
ENTRYPOINT ["/usr/local/bin/render_video"]

View file

@ -94,6 +94,12 @@ pub const BRITISH: Language<'static> = Language {
questions_feedback: "Questions, Suggestions and Feedback" questions_feedback: "Questions, Suggestions and Feedback"
}; };
impl Default for Language<'static> {
fn default() -> Self {
GERMAN
}
}
impl FromStr for Language<'static> { impl FromStr for Language<'static> {
type Err = anyhow::Error; type Err = anyhow::Error;

View file

@ -154,6 +154,7 @@ struct ProjectLecture {
docent: String, docent: String,
#[serde_as(as = "DisplayFromStr")] #[serde_as(as = "DisplayFromStr")]
date: Date, date: Date,
#[serde(default = "Default::default")]
#[serde_as(as = "DisplayFromStr")] #[serde_as(as = "DisplayFromStr")]
lang: Language<'static> lang: Language<'static>
} }