1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
#+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:
|