Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better container support #251

Open
jcoffland opened this issue Jun 18, 2024 · 5 comments
Open

Better container support #251

jcoffland opened this issue Jun 18, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@jcoffland
Copy link
Member

The following features would help with running v8 fah-client in a container:

  • exit-when-done: option to run one set of WUs then exit.
  • enable-all-gpus: Default all GPUs to enabled.
  • fold-at-start: Start folding automatically.

However, note that since containers can be configured to automatically join an account using the account-token option, they can easily be controlled remotely.

@jcoffland jcoffland added the enhancement New feature or request label Jun 18, 2024
@aptalca
Copy link

aptalca commented Jun 25, 2024

Hi, I'm with the linuxserver.io team and we publish a docker container for the fah client: https://github.com/linuxserver/docker-foldingathome

I saw that 8.3 is released as stable, but going through the website post about it, there are some very fundamental and breaking changes between 7.6 and 8.3. The migration info is scarce and I'm trying to wrap my head around it.
If I understand correctly, with 8.3 the webgui is no longer bundled and it is expected to be loaded from the public url as a web app. However, the web app expects fah client to be running on the same machine (bare metal) as the browser, which is not possible in a docker container.

I tried to build and run the web client locally (inside the same container) via vite to test that out, but it gives me an obscure api error and does not connect to fah client. The readme for that repo doesn't seem to be accurate either. The instructions state npm run dev should start it on port 3000, but for me it starts on port 5173 and only listens on localhost (a problem for docker). I was able to use vite directly to set --host 0.0.0.0 and access it remotely on port 5173. But the api error remains.
Can someone clarify to me (or point me to docs) how one should go about setting it up for remote access?

Is the only way to run this in a container (remote and headless) by passing the cli args --account-token foo --machine-name bar?

Thanks

@kbernhagen
Copy link
Contributor

kbernhagen commented Jun 25, 2024

See also #214

And #119

@kbernhagen
Copy link
Contributor

kbernhagen commented Jun 25, 2024

If you want remote control, yes you need to set account-token on command line or in config.xml.

@jcoffland
Copy link
Member Author

You should use account-token. It's much easier. However, it is possible to access a single client directly with Web Control using the web-root option. You need to build fah-web-client-bastet with npm run build. This will build Web Control in ./dist. Then use the web-root option to point fah-client to the dist directory. Currently, you must access the client via this URL:

http:https://<ip address>:7396/machines

The current release has a problem where it will redirect you if you access http:https://<ip address>:7396/ but that will be fixed in v8.4. You could then connect the client to an account simply by logging in to the account while connected in this way.

@kbernhagen
Copy link
Contributor

kbernhagen commented Jun 28, 2024

Instead of building the latest Web Control yourself, you can also download and install a pre-built zip.

See HOWTO: Local v8 Web Control

See also Bleeding Edge Builds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants