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

cryptomator: Cannot mount vault as FUSE volume #256886

Closed
nicomem opened this issue Sep 23, 2023 · 7 comments · Fixed by #266307
Closed

cryptomator: Cannot mount vault as FUSE volume #256886

nicomem opened this issue Sep 23, 2023 · 7 comments · Fixed by #266307
Assignees
Labels
0.kind: bug Something is broken

Comments

@nicomem
Copy link
Contributor

nicomem commented Sep 23, 2023

Describe the bug

In the vault options, vaults can only be mounted as WebDAV (HTTP Address).

Steps To Reproduce

Steps to reproduce the behavior:

  1. Launch cryptomator
  2. Go to a vault options
  3. In the Virtual Drive tab, the Volume Type combo box does not contain a FUSE item

Expected behavior

Vaults can be mounted as FUSE volumes

Additional context

In the console output, cryptomator seems to have access to the fuse3 libs in its PATH:

14:19:36.332 [main] INFO  org.cryptomator.common.Environment - java.library.path: /nix/store/gplxx8rm08abic60i4iib99pcabbdgq1-fuse-3.11.0/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

Full console output:

14:19:36.290 [main] INFO  o.c.common.settings.SettingsProvider - Settings loaded from /home/nicomem/.config/Cryptomator/settings.json
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - user.home: /home/nicomem
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - java.library.path: /nix/store/gplxx8rm08abic60i4iib99pcabbdgq1-fuse-3.11.0/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - user.language: en
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - user.region: null
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - logback.configurationFile: null
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.settingsPath: ~/.config/Cryptomator/settings.json
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.ipcSocketPath: ~/.config/Cryptomator/ipc.socket
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.integrationsWin.keychainPaths: null
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.logDir: ~/.local/share/Cryptomator/logs
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.loopbackAlias: null
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.pluginDir: ~/.local/share/Cryptomator/plugins
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.mountPointsDir: ~/.local/share/Cryptomator/mnt
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.minPwLength: null
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.appVersion: 1.9.4
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.buildNumber: nix
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.showTrayIcon: false
14:19:36.332 [main] INFO  org.cryptomator.common.Environment - cryptomator.p12Path: null
14:19:36.332 [main] INFO  o.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.9.4 on Linux 6.5.4 (amd64)
14:19:36.342 [main] INFO  org.cryptomator.ipc.Server - Spawning IPC server listening on socket /home/nicomem/.config/Cryptomator/ipc.socket
14:19:36.483 [JavaFX Application Thread] INFO  o.cryptomator.launcher.Cryptomator - JavaFX runtime started after 302ms

Notify maintainers

@bachp

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-linux"`
 - host os: `Linux 6.5.4, NixOS, 23.11 (Tapir), 23.11.20230919.5ba549e`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - channels(root): `"nixos"`
 - channels(nicomem): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
@nicomem nicomem added the 0.kind: bug Something is broken label Sep 23, 2023
@bachp
Copy link
Member

bachp commented Sep 23, 2023

I think this might be related to cryptomator/fuse-nio-adapter#72

It seems since they switched to the new fuse integration they only search a predefined number of paths.

This is also consistent as the nix build of cryptomator works on non nixos linux.

@bachp bachp self-assigned this Oct 2, 2023
@zmberber
Copy link

zmberber commented Oct 31, 2023

I have the same issue.

Does somebody have some workaraound yet?

EDIT: so what I am currently doing, which is really not ideal, is just mounting the webdav directory with rclone, which, well, uses FUSE. so yeah rclone has no problems with using FUSE...

@bachp
Copy link
Member

bachp commented Nov 1, 2023

The fix for this is merged but not yet released cryptomator/fuse-nio-adapter#81. It's in the 4.0.0 milestone of fuse-nio-adapter.

I'm currently using the flapak version of Cryptomator.

@zmberber
Copy link

zmberber commented Nov 1, 2023

thank you for the answer!

i don't quite understand what fuse-nio-adapter is. Is it a dependency of cryptomator? Is there a way to manually fetch this so that it works?

I'm gonna try the flatpak version of Cryptomator out, thanks for the hint. I actually tried out appimage, but that didn't change anything.

@nicomem
Copy link
Contributor Author

nicomem commented Nov 1, 2023

In the 1.11.0-beta2 release of cryptomator, vaults are able to be mounted as FUSE volumes. So once 1.11.0 is fully released (and the nixpkgs version updated), this issue should be fixed.

Until the new version of cryptomator is released, you could create an overlay to use the beta version, like I am doing at the moment.
Apart from changing the version and hashes, I also needed to change the jdk used to a jdk21 and overriding it to enable JavaFX:

let
  jdk = jdk21.override {
    enableJavaFX = true;
  };
  ...

@zmberber
Copy link

zmberber commented Nov 1, 2023

thank you for your response!

i hope i am not rude to ask for your help in achieving this myself.

i put the following in my home.nix:

overlays = [
  (final: prev: {
    cryptomator = prev.cryptomator.overrideAttrs (old: {
      src = prev.fetchFromGitHub {
        owner = "cryptomator";
        repo = "cryptomator";
        rev = "1.11.0-beta2";
        hash = "sha256-QYVvu1BrOGoz+gOGXGt3Y08H8ufnHhQDDp1H/MsDC/k=";
      };
    });
  })
];

and i also did the jdk21 overlay.

i get the following error when building:

@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/1c6xig7pgprxfannqhzrnrh76naz6d87-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
building
[INFO] Scanning for projects...
[INFO] 
[INFO] --------------------< org.cryptomator:cryptomator >---------------------
[INFO] Building Cryptomator Desktop App 1.11.0
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] The POM for org.codehaus.mojo:license-maven-plugin:jar:2.2.0 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.223 s
[INFO] Finished at: 2023-11-01T15:27:35Z
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.codehaus.mojo:license-maven-plugin:2.2.0 or one of its dependencies could not be resolved: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.codehaus.mojo:license-maven-plugin:jar:2.2.0 has not been downloaded from it before. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

haven't been able to successfully find a solution via search engines...

@nicomem
Copy link
Contributor Author

nicomem commented Nov 3, 2023

For overlays, I simply copy the nix files and doing the following overlay:

final: prev:

let
  inherit (final) callPackage;
in
{
  cryptomator = callPackage ./cryptomator {};
}

This is quite crude, and there is probably a better way to do it, but it at least avoids any weird errors like the one you are having.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants