{"id":13579440,"url":"https://github.com/hvalev/mergerfs-docker","last_synced_at":"2026-02-28T07:09:01.525Z","repository":{"id":39667643,"uuid":"387286120","full_name":"hvalev/mergerfs-docker","owner":"hvalev","description":"mergerfs within a docker container.","archived":false,"fork":false,"pushed_at":"2026-02-14T05:05:40.000Z","size":165,"stargazers_count":31,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-14T13:35:26.424Z","etag":null,"topics":["docker","mergerfs"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hvalev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-18T23:09:54.000Z","updated_at":"2026-02-02T16:36:49.000Z","dependencies_parsed_at":"2023-02-18T16:01:41.821Z","dependency_job_id":"da37946f-378d-49e5-a490-d72fb9dd24da","html_url":"https://github.com/hvalev/mergerfs-docker","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/hvalev/mergerfs-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalev%2Fmergerfs-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalev%2Fmergerfs-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalev%2Fmergerfs-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalev%2Fmergerfs-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hvalev","download_url":"https://codeload.github.com/hvalev/mergerfs-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvalev%2Fmergerfs-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29927266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","mergerfs"],"created_at":"2024-08-01T15:01:39.438Z","updated_at":"2026-02-28T07:09:01.519Z","avatar_url":"https://github.com/hvalev.png","language":"Shell","readme":"# mergerfs-docker\n[![build](https://github.com/hvalev/mergerfs-docker/actions/workflows/build.yml/badge.svg)](https://github.com/hvalev/mergerfs-docker/actions/workflows/build.yml)\n![Shiny%20version](https://img.shields.io/badge/mergerfs%20version-2.41.1-green)\n![Docker Pulls](https://img.shields.io/docker/pulls/hvalev/mergerfs)\n![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/hvalev/mergerfs)\n\nAll credit goes to [trapexit/mergerfs](https://github.com/trapexit/mergerfs).\n\n## Motivation\nIf you are here, then you are most likely looking for a simple solution to fuse multiple hard drives' contents to a single mountpoint using mergerfs and docker. There are multiple containers which dockerize mergerfs, however none are regularly updated, with open-sourced dockerfiles (no crypto-miners) and simple to use. This repository attempts to do just that. Simply mount your hard drives as volumes to ```/disks``` and mergerfs will make them available under ```/merged```. Exposing the ```/merged``` volume to host, you need to use ```:shared``` bind to share it between the container and host. Change the volume path on the host to your prefered location and that's it!\n\n\n## How to run it\nDocker run:\n```bash\ndocker run -v /mnt/nd1:/disks/nd1 -v /mnt/nd2:/disks/nd2 -v /mnt/nd3:/disks/nd3 -v /mnt/merged:/merged:shared --device /dev/fuse --cap-add SYS_ADMIN -d hvalev/mergerfs\n```\ndocker-compose:\n```yaml\nservices:\n  mergerfs:\n    image: hvalev/mergerfs:latest\n    container_name: mergerfs\n    cap_add:\n      - SYS_ADMIN\n    devices:\n      - /dev/fuse:/dev/fuse\n    volumes:\n       - /mnt/nd1:/disks/nd1\n       - /mnt/nd2:/disks/nd2\n       - /mnt/nd3:/disks/nd3\n       - /mnt/merged:/merged:shared\n    restart: always\n```\n\n## Customizing\n* If you would like to customize the mergerfs command with additional options, you can overwrite `parameters.conf` with your own using an additional volume mount that maps onto `/config` inside the docker. You can use the one in the repo as a template.\n* You can also override the default `mergerfs` parameters by using the `MERGERFS_PARAMS` environment variable as follows: \n```yaml\nservices:\n  mergerfs:\n    image: hvalev/mergerfs:latest\n    container_name: mergerfs\n    environment:\n      MERGERFS_PARAMS: 'moveonenospc=true,dropcacheonclose=true,category.create=mfs,cache.files=partial'\n    cap_add:\n      - SYS_ADMIN\n    devices:\n      - /dev/fuse:/dev/fuse\n    volumes:\n       - /mnt/nd1:/disks/nd1\n       - /mnt/nd2:/disks/nd2\n       - /mnt/nd3:/disks/nd3\n       - /mnt/merged:/merged:shared\n    restart: always\n```\n* If you would like to combine this with samba to share it over the network, you could also use a samba docker container. Below is an example with a sample user read-write and guest read-only access.\n```yaml\nservices:\n  mergerfs:\n    image: hvalev/mergerfs:latest\n    container_name: mergerfs\n    environment:\n      MERGERFS_PARAMS: 'moveonenospc=true,dropcacheonclose=true,category.create=mfs,cache.files=partial'\n    cap_add:\n      - SYS_ADMIN\n    devices:\n      - /dev/fuse:/dev/fuse\n    volumes:\n      - /mnt/hd1:/disks/hd1\n      - /mnt/hd2:/disks/hd2\n      - /mnt/hd3:/disks/hd3\n      - /mnt/hd:/merged:shared\n    restart: always\n\n  samba:\n    image: elswork/samba:3.2.8\n    container_name: samba\n    environment:\n      TZ: 'Europe/Amsterdam'\n    ports:\n      - 139:139\n      - 445:445\n    volumes:\n      - /mnt/hd:/mnt/hd\n    command: '-u \"1000:1000:user:user:user_password\" \n              -u \"1000:1000:guest:guest:guest_password\"\n              -s \"hd:/mnt/hd:rw:user\"\n              -s \"media:/mnt/hd:ro:guest\"'\n    restart: unless-stopped\n    depends_on:\n      - mergerfs\n```\n\n## Acknowledgements\nThe following resources have been extremely helpful:\n* https://hub.docker.com/r/ojford/mergerfs\n* https://perfectmediaserver.com/tech-stack/mergerfs.html\n* https://github.com/homespirit/mergerfs-docker\n\n\n## Licence\nmergerfs itself has the following licence:\n```\n/*\n  ISC License\n\n  Copyright (c) 2016, Antonio SJ Musumeci \u003ctrapexit@spawn.link\u003e\n\n  Permission to use, copy, modify, and/or distribute this software for any\n  purpose with or without fee is hereby granted, provided that the above\n  copyright notice and this permission notice appear in all copies.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n*/\n```\nhttps://github.com/trapexit/mergerfs/blob/master/LICENSE\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvalev%2Fmergerfs-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhvalev%2Fmergerfs-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvalev%2Fmergerfs-docker/lists"}