docker-FMD2 icon indicating copy to clipboard operation
docker-FMD2 copied to clipboard

Idea for optimizing performance

Open Lozoni opened this issue 1 year ago • 11 comments

Since docker fmd2 is pretty heavy i thought why not try to optimize it :

Instead of ubuntu, use a Alpine-based image like debianbookworm

Disable wine debugging: export WINEDEBUG=-all

But that means replacing apt with apk and we dont get access to specific wine versions.

But its also nearly 50% faster then the current ubuntu based fmd2 docker !!

FROM ghcr.io/linuxserver/baseimage-kasmvnc:alpine320

ARG FMD2_VERSION="2.0.32.0"

LABEL \
  maintainer="[email protected]"

ENV \
  WINEDLLOVERRIDES="mscoree,mshtml=" \
  WINEDEBUG="-all" \  # Disable Wine debugging
  HOME=/config

# Install required packages
RUN \
  apk update && \
  apk add --no-cache \
    wine \
    wget \
    p7zip \
    curl \
    git \
    python3 \
    py3-pyxdg \
    inotify-tools \
    rsync && \
  # Download and extract FMD2
  curl -s https://api.github.com/repos/dazedcat19/FMD2/releases/tags/${FMD2_VERSION} | \
  grep "browser_download_url.*download.*fmd.*x86_64.*.7z" | \
  cut -d : -f 2,3 | tr -d '"' | wget -qi - -O FMD2.7z && \
  7z x FMD2.7z -o/app/FMD2 && \
  rm FMD2.7z && \
  mkdir -p /downloads && \
  mkdir -p /app/FMD2/userdata && \
  mkdir -p /app/FMD2/downloads

# Copy my settings preset
COPY settings.json /root/

VOLUME /config
EXPOSE 3000

Lozoni avatar Sep 28 '24 23:09 Lozoni

Just noticed that your readme even says makes use of linuxserver alpine baseimage, but ur using ubuntunoble

Lozoni avatar Sep 28 '24 23:09 Lozoni

I will create a fork with the alpine image, fix https://github.com/Banh-Canh/docker-FMD2/issues/18 and if everything works i create a pull request and you merge it if you want :)

Lozoni avatar Sep 28 '24 23:09 Lozoni

It used to be alpine but I had issues with wine version not being available or not working in full. Things might have changed so if you get a working version, it's cool :)

I would say, create your own project if you want, I don't feel like maintaining this and you'll have it easier to make docker image available instead of waiting for me to push (no github action are made available in my repo).

Banh-Canh avatar Sep 29 '24 10:09 Banh-Canh

Yeah i could continue maintaining this, i will create a fork and once its done you could maybe put a info in your readme about that i continue development for it :) (Only if you want to ^^)

Lozoni avatar Sep 29 '24 11:09 Lozoni

@Banh-Canh can you explain how the root folder is used ? In your Dockerfile it seems to never get copied into the Docker Image

Lozoni avatar Sep 29 '24 20:09 Lozoni

or maybe @Jerrk since Banh is rather busy and sometimes takes a while ^^

Lozoni avatar Sep 29 '24 21:09 Lozoni

It's copied in here: https://github.com/Banh-Canh/docker-FMD2/blob/1258f7e5c9790aaaa79ac61e23ae8017a6366a21/Dockerfile#L26

it basically copy the content to the root of the filesystem of your image (/)

Banh-Canh avatar Sep 29 '24 21:09 Banh-Canh

Oh yeah i think i might be blind, how did i miss that it moves settings.json and root to the / folder, i apologise for the ping.

Lozoni avatar Sep 29 '24 21:09 Lozoni

@Banh-Canh i made my fork, based on baseimage-kasmvnc:alpine320 and it works flawlessly. I have also set up a GitHub action to create a new docker image (thanks for the reminder ^^)

You said you don't feel like maintaining this, i have no problem being the new maintainer with my alpine fork 🙂 In that way i think if you could link people to my fork in the readme & have a notice about that you stop maintaining it would be a good idea. (You could also mark your repo as an archive, so that people see that it stopped being maintained, but that might be overkill.)

The fork is https://github.com/ElryGH/docker-FMD2

Lozoni avatar Sep 30 '24 14:09 Lozoni

I will do just that after work, thanks 👌

Banh-Canh avatar Sep 30 '24 14:09 Banh-Canh

@ElryGH

Not to spam up Bahn's repo here, but it looks like you aren't allowing issues on your repo. Could you enable them?

You can find them in the settings for the repo

image

Nitrousoxide avatar Sep 30 '24 16:09 Nitrousoxide