# Include fuse module in the kernel of the VM

**URL:** <https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649>\
**Category:** General\
**Created:** [January 27, 2021, 10:37pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649 "2021-01-27T22:37:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![emiliendevos](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/emiliendevos/32/48319_2.png) [@emiliendevos](https://community.fly.io/u/emiliendevos)\
**Post date:** [January 27, 2021, 10:37pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/1 "2021-01-27T22:37:14Z")

</div>

Hello,

Could it be possible to include the fuse module in the kernel of the VM?

Fuse is very useful for example to mount a s3 bucket using s3fs as a way of having a small persistent storage for the application.

Thank you in advance for considering my request.

---

<div class="post-metadata">

**Author:** ![kurt](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/kurt/32/43757_2.png) [@kurt](https://community.fly.io/u/kurt)\
**Post date:** [January 28, 2021, 1:59am UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/2 "2021-01-28T01:59:24Z")

</div>

This might be doable. Give us a few days to look into it!

---

<div class="post-metadata">

**Author:** ![johan](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/johan/32/37066_2.png) [@johan](https://community.fly.io/u/johan)\
**Post date:** [July 1, 2021, 7:49pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/3 "2021-07-01T19:49:53Z")

</div>

@kurt This would be a really awesome feature. I did a round of comparisons among the different PAAS platforms and none of them allow to mount an S3 bucket:

- Google CloudRun: No
- Digital Ocean App Platform: No
- AWS Fargate: No
- Google App Engine: Partly (more a hack)

The closest that I got was with Google App Engine, but this requires enabling SSH on the VM and then restarting the container to run in privileged mode. More info: [docker - Problem running gcsfuse on Google App Engine - Stack Overflow](https://stackoverflow.com/questions/56254714/problem-running-gcsfuse-on-google-app-engine)

To use /dev/fuse it seems that running the container with: `--cap-add SYS_ADMIN --device /dev/fuse` is sufficient but using SYS\_ADMIN might not be ideal? Not the export on this.

Some further digging shows that Linux kernel added namespace support for fuse in `4.18`, which would remove the requirement for SYS\_ADMIN. Following info might be helpful: [Allow FUSE functionality by default · Issue #321 · docker/for-linux · GitHub](https://github.com/docker/for-linux/issues/321#issuecomment-677744121)

Really enjoying getting my feet wet with Fly, keep up the good work!

---

<div class="post-metadata">

**Author:** ![thomas](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/thomas/32/40188_2.png) [@thomas](https://community.fly.io/u/thomas)\
**Post date:** [July 1, 2021, 7:51pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/4 "2021-07-01T19:51:46Z")

</div>

You shouldn’t run into capability problems here, since we’re not actually running containers at all — we convert them into full-fledge VMs with their own kernel, so root here actually means root.

We do run a deliberately stripped down kernel, though, so we’ll probably have to add fuse deliberately. 🙂

---

<div class="post-metadata">

**Author:** ![johan](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/johan/32/37066_2.png) [@johan](https://community.fly.io/u/johan)\
**Post date:** [July 1, 2021, 7:58pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/5 "2021-07-01T19:58:25Z")

</div>

Thanks @thomas, much appreciated. Lots of learning to do still. Was getting the same errors, … assumptions … you know the story.

Adding my own +1 (and a half) for this feature then.

---

<div class="post-metadata">

**Author:** ![kon](https://avatars.discourse-cdn.com/v4/letter/k/ed655f/32.png) [@kon](https://community.fly.io/u/kon)\
**Post date:** [August 6, 2021, 12:08pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/6 "2021-08-06T12:08:24Z")

</div>

Hi @kurt, are there any news on this? I am looking to move some personal hosting to [fly.io](http://fly.io) and would be really happy about FUSE.

---

<div class="post-metadata">

**Author:** ![netrc](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/netrc/32/9870_2.png) [@netrc](https://community.fly.io/u/netrc)\
**Post date:** [February 26, 2023, 6:18pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/9 "2023-02-26T18:18:11Z")

</div>

Any progress? I read that you’re using FUSE to support LiteFS; I’m looking to use juicefs in my container which depends on FUSE too.

---

<div class="post-metadata">

**Author:** ![benbjohnson](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/benbjohnson/32/50901_2.png) [@benbjohnson](https://community.fly.io/u/benbjohnson)\
**Post date:** [February 26, 2023, 6:49pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/10 "2023-02-26T18:49:15Z")

</div>

Yes, we’re using FUSE with LiteFS. I’m not aware of any kernel changes we made to enable it though. It should “just work”. I’ve been able to run FUSE v2 & v3 without a problem.

I’ve used it with both Ubuntu & Alpine images:

```sh
# Ubuntu
$ apt install fuse # FUSE v2
$ apt install fuse3 # FUSE v3

```

```sh
# Alpine
$ apk add fuse # FUSE v2
$ apk add fuse3 # FUSE v3

```

---

<div class="post-metadata">

**Author:** ![netrc](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/netrc/32/9870_2.png) [@netrc](https://community.fly.io/u/netrc)\
**Post date:** [February 26, 2023, 7:46pm UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/11 "2023-02-26T19:46:27Z")

</div>

Thanks!

Yes; apk add python3, fuse, fuse3 works with juicefs. Now I can do asset updates or deployments from any machine and have them available on my flyio container instantly.

---

<div class="post-metadata">

**Author:** ![johan](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/johan/32/37066_2.png) [@johan](https://community.fly.io/u/johan)\
**Post date:** [March 9, 2023, 12:43am UTC](https://community.fly.io/t/include-fuse-module-in-the-kernel-of-the-vm/649/12 "2023-03-09T00:43:40Z")

</div>

Been out of the loop for quite some time … this is awesomeness news!
