Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Idea for optimizing performance #24

Open
ElryGH opened this issue Sep 28, 2024 · 11 comments
Open

Idea for optimizing performance #24

ElryGH opened this issue Sep 28, 2024 · 11 comments

Comments

@ElryGH
Copy link

ElryGH commented Sep 28, 2024

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
@ElryGH
Copy link
Author

ElryGH commented Sep 28, 2024

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

@ElryGH
Copy link
Author

ElryGH commented Sep 28, 2024

I will create a fork with the alpine image, fix #18 and if everything works i create a pull request and you merge it if you want :)

@Banh-Canh
Copy link
Owner

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).

@ElryGH
Copy link
Author

ElryGH commented Sep 29, 2024

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 ^^)

@ElryGH
Copy link
Author

ElryGH commented Sep 29, 2024

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

@ElryGH
Copy link
Author

ElryGH commented Sep 29, 2024

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

@Banh-Canh
Copy link
Owner

It's copied in here:

COPY settings.json root /

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

@ElryGH
Copy link
Author

ElryGH commented Sep 29, 2024

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.

@ElryGH
Copy link
Author

ElryGH commented Sep 30, 2024

@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

@Banh-Canh
Copy link
Owner

I will do just that after work, thanks 👌

@Nitrousoxide
Copy link

@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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants