FROM jlesage/baseimage-gui:ubuntu-24.04-v4.11.3

ARG DEBIAN_FRONTEND=noninteractive

RUN set-cont-env APP_NAME "Web-CASANOVA"

ENV HOME=/config
WORKDIR /config

ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV WEB_AUDIO=0
ENV WINEARCH=win32
ENV WINEPREFIX=/opt/wine

RUN dpkg --add-architecture i386 \
 && apt-get update \
 && apt-get install -y --no-install-recommends \
        wine \
        wine32 \
        libwine \
        fonts-wine \
        fonts-liberation \
        fonts-freefont-ttf \
        xvfb \
        innoextract \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

RUN printf '#!/bin/sh\nset -e\nset -u\nexport HOME=/config\nexec wine explorer "/desktop=casanova,${DISPLAY_WIDTH:-1920}x${DISPLAY_HEIGHT:-1080}" "C:/Program Files (x86)/CASAnova/CASAnova.exe"\n' > /startapp.sh \
 && chmod +x /startapp.sh

# https://web.archive.org/web/20070611110850fw_/http://nesa1.uni-siegen.de/softlab/download/CASAnova_Setup.exe
COPY CASAnova_Setup.exe /tmp/CASAnova_Setup.exe

RUN mkdir -p "$WINEPREFIX" \
 && xvfb-run sh -c 'wineboot --init && wineserver -w' \
 && innoextract -d /tmp/casanova /tmp/CASAnova_Setup.exe \
 && mkdir -p "$WINEPREFIX/drive_c/Program Files (x86)" \
 && mv /tmp/casanova/app "$WINEPREFIX/drive_c/Program Files (x86)/CASAnova" \
 && rm -rf /tmp/casanova /tmp/CASAnova_Setup.exe \
 && chown -R 1000:1000 "$WINEPREFIX"
