summaryrefslogtreecommitdiff
path: root/topics
diff options
context:
space:
mode:
authorPjotr Prins2022-10-06 07:18:34 -0500
committerPjotr Prins2022-10-06 07:18:34 -0500
commit2db7e868835ad8a24d3904a53f43777a1c2db62f (patch)
tree19a15fdf20f93838d605bc3eb7228ed93b88f094 /topics
parent7dfaf7b7be50b6c525724370dea823ef043347af (diff)
downloadgn-gemtext-2db7e868835ad8a24d3904a53f43777a1c2db62f.tar.gz
Topic: file sharing and replace IPFS
Diffstat (limited to 'topics')
-rw-r--r--topics/file-sharing/replace-ipfs.gmi21
1 files changed, 21 insertions, 0 deletions
diff --git a/topics/file-sharing/replace-ipfs.gmi b/topics/file-sharing/replace-ipfs.gmi
new file mode 100644
index 0000000..9eb10ba
--- /dev/null
+++ b/topics/file-sharing/replace-ipfs.gmi
@@ -0,0 +1,21 @@
+# Replace IPFS
+
+IPFS has some nice features exposing hashed files through HTTP. The overall system, however is overengineered and puts load on the server. Also it is hard to deal with private data.
+
+Our requirements:
+
+* Expose files over the web
+* Serve them under a hash, so we can guarantee/encourage reproducibility
+* Deduplication on the disk drive
+
+## Create a hash of the directory
+
+```
+find current/ -type f -exec md5sum {} \;|awk '{ print $1 }'|md5sum
+```
+
+Then move the files into a dir of that name and expose through, say nginx.
+
+## Deduplication
+
+This can be handled later. One option is to symlink identical files. Another is to use a deduplicating file system or even borg with fuse mounts. git-mount and gitfs may do the job too, though git is not particularly great at handling large files. \ No newline at end of file