#+title: Demanding Interoperability to Strengthen the Free (Libre) Web: Introducing DISFLUID #+language: en #+author: Vivien Kraus #+email: vivien@planete-kraus.eu This is a WIP implementation of the OIDC specification with decentralization through webid. * Installation You can install it with GNU Guix, by using the following channel: [[https://labo.planete-kraus.eu/webid-oidc-channel.git]] It always tracks the latest commit. Otherwise, you need the following tools: - the autotools: automake, autoconf, autoconf-archive, libtool, gettext; - pkg-config; - texinfo; - help2man to generate the manual; - which and the coreutils; - guile; - guile-json; - guile-rdf: [[https://framagit.org/tyreunom/guile-rdf]] - guile-jsonld: [[https://framagit.org/tyreunom/guile-jsonld]] - nettle. These are the run-time dependencies: - guile - guile-json - guile-rdf - guile-jsonld - gnutls (so that guile can fetch resources with https) - nettle To build, first run the =bootstrap= script, then =./configure=, =make=. You can run the program without installing it, by running =./pre-inst-env guile src/disfluid=, or you can install it with =make install=. * Running Once installed, you get a program named =disfluid=. Run it with =-h= to get the options. * Running as a docker image The =guix/vkraus/systems/test.scm= contains a couple of servers, one for [[http://localhost:8081/alice#me]] (the password is "alice"), and one for [[http://localhost:8082/bob#me]] (the password is "bob"). Both servers running on localhost:8081 and localhost:8082 are aware that they are http-only and run on these ports. Once you have the Guix channel installed, you can build the image as: #+begin_src shell sudo docker load -i $(guix system docker-image guix/vkraus/systems/test.scm) \ && sudo docker tag guix:latest vivienkraus/disfluid:test-bench #+end_src I try to publish recent versions of the test bench on Docker Hub, but I may forget. Don’t forget to remind me if you think it’s too old. Then, you will need to start the container: #+begin_src shell export container_id="$(sudo docker create vivienkraus/disfluid:test-bench)" sudo docker start $container_id #+end_src You can enter the container to check the log files, for instance: #+begin_src shell sudo docker exec -it $container_id /run/current-system/profile/bin/bash --login #+end_src Unfortunately, I don’t know how to let the host access the 8081 and 8082 ports. # Local Variables: # mode: org # End: