{"id":20354230,"url":"https://github.com/siafoundation/fsd","last_synced_at":"2025-07-22T23:02:33.829Z","repository":{"id":245959142,"uuid":"700995863","full_name":"SiaFoundation/fsd","owner":"SiaFoundation","description":"A Sia-native IPFS daemon designed for services","archived":false,"fork":false,"pushed_at":"2025-06-12T08:25:24.000Z","size":930,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T09:25:44.856Z","etag":null,"topics":["golang","ipfs","ipns","sia","storage"],"latest_commit_sha":null,"homepage":"https://sia.tech","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SiaFoundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2023-10-05T17:40:00.000Z","updated_at":"2025-06-12T08:25:28.000Z","dependencies_parsed_at":"2024-06-25T02:55:50.027Z","dependency_job_id":"9f51f23e-45aa-4279-a655-022840f2ff41","html_url":"https://github.com/SiaFoundation/fsd","commit_stats":null,"previous_names":["siafoundation/fsd"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/SiaFoundation/fsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiaFoundation%2Ffsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiaFoundation%2Ffsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiaFoundation%2Ffsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiaFoundation%2Ffsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiaFoundation","download_url":"https://codeload.github.com/SiaFoundation/fsd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiaFoundation%2Ffsd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586840,"owners_count":23952200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["golang","ipfs","ipns","sia","storage"],"created_at":"2024-11-14T23:07:47.393Z","updated_at":"2025-07-22T23:02:33.796Z","avatar_url":"https://github.com/SiaFoundation.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![ipfsd](https://sia.tech/assets/banners/sia-banner-fsd.png)](http://sia.tech)\n\n# fsd\n[![GoDoc](https://godoc.org/go.sia.tech/fsd?status.svg)](https://godoc.org/go.sia.tech/fsd)\n\u003ca href=\"https://ipfs.tech\"\u003e\u003cimg src=\"https://img.shields.io/badge/IPFS-Compatible-blue.svg\" alt=\"IPFS Implementation\"\u003e\u003c/a\u003e\n\nfsd is an IPFS node created by the Sia Foundation. It has optimizations specifically tailored for accessing data via the Sia network and is designed for large scale storage and retrieval. It is designed to be used with a backing `renter` node that is responsible for storing and managing data instead of storing data on a centralized service or on the local filesystem.\n\n*This is currently a technology preview*\n\n### TODO\n- Add IPNS support\n\n## Configuration\n\n`fsd` is primarily configured via a YAML file. The configuration file should be placed in the working directory and named `fsd.yml`. \n\n### Example\n\n```yml\napi: # The API is used to pin and unpin CIDs and access metrics about the node\n  address: :8081\n  password: sia is cool\nrenterd: # The backing store for fsd. This configures the renterd node that stores the block data.\n  workerAddress: http://localhost:9980/api/worker\n  workerPassword: sia is extra cool\n  busAddress: http://localhost:9980/api/bus\n  busPassword: sia is extra cool\n  bucket: ipfs\nblockstore:\n  maxConcurrent: 100 # the maximum number of concurrent fetches the blockstore will allow\n  cacheSize: 1000000 # the maximum number of blocks that will be cached in memory at any given time\nipfs: # The IPFS node configuration.\n  privateKey: # The private key for the IPFS node. If not set, a new key will be generated on startup and must be manually saved to the configuration file.\n  gateway: # configure the HTTP gateway\n    listenAddress: :8080\n    redirectPathStyle: true\n  fetch:\n    enabled: false # enable or disable fetching blocks from the IPFS network. If false, will only serve pinned blocks.\n    allowlist: [] # contains the CIDs that are allowed to be fetched remotely by the gateway. If empty, all CIDs are allowed.\n  listenAddresses:\n    - /ip4/0.0.0.0/tcp/4001 # the listen address for bitswap. Since no announce addresses are configured, no bits will be swapped\n  announceAddresses:\n    - /ipv4/127.0.0.1/tcp/4001 # the announce address for bitswap. This is the address that will be shared with other nodes on the network.\n  provider:\n    batchSize: 50000 # configures the reprovide batch size \n    interval: 18h # the interval at which the node will re-provide blocks to the IPFS network\n```\n\n## Build\n\n`fsd` supports SQLite for its persistence. A gcc toolchain is required to build `fsd`.\n\n```bash\nCGO_ENABLED=1 go build -o bin/ -tags='netgo timetzdata' -trimpath -a -ldflags '-s -w'  ./cmd/fsd\n```\n\n## Docker\n\n`fsd` releases are available as Docker images hosted on `ghcr.io`. The image can be pulled from `ghcr.io/siafoundation/fsd`.\n\nTo setup `fsd`: copy the example `fsd.yml` to the directory you want to store `fsd` metadata, modify it to your needs, then create the container.\n\n```yml\nservices:\n  renterd:\n    image: ghcr.io/siafoundation/renterd:latest\n    ports:\n      - 127.0.0.1:9980:9980/tcp\n      - 9981:9981/tcp\n    volumes:\n      - renterd-data:/data\n    restart: unless-stopped\n  fsd:\n    image: ghcr.io/siafoundation/fsd:latest\n    depends_on:\n      - renterd\n    ports:\n      - 8080:8080/tcp\n      - 127.0.0.1:8081:8081/tcp\n    volumes:\n      - fsd-data:/data\n    restart: unless-stopped\n\nvolumes:\n  renterd-data:\n  fsd-data:\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiafoundation%2Ffsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiafoundation%2Ffsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiafoundation%2Ffsd/lists"}