about summary refs log tree commit diff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md43
1 files changed, 36 insertions, 7 deletions
diff --git a/README.md b/README.md
index d3326bd..923b64e 100644
--- a/README.md
+++ b/README.md
@@ -25,31 +25,60 @@ The current repository lives at
 git clone tux02.genenetwork.org:/home/git/public/gn-guile
 ```
 
-GNU Guile allows you to develop against a live running web server using emacs-geiser. To try this fire up the web server from the `web` directory as
+or
+
+```
+git remote add gn git.genenetwork.org:/home/git/public/gn-guile
+```
+
+GNU Guile allows you to develop against a live running web server using emacs-geiser on port 1970. To try this fire up the web server from the `web` directory as
 
 ```sh
-guix shell --container --network --file=guix.scm -- guile -L . --fresh-auto-compile --listen=1970 -e main web/webserver.scm 8091
+guix shell -L ~/guix-bioinformatics -m manifest.scm --container --network --file=guix.scm -- guile -L . --fresh-auto-compile --listen=1970 -e main web/webserver.scm 8091
 ```
 
+By default the root points to the API:
+
+curl http://127.0.0.1:8091
+
+We also have some services
+
+curl http://127.0.0.1:8091/home/msk
+curl http://127.0.0.1:8091/home/aging
+
 The `--container` option runs the code in an isolated container, and the `--network` option connects that container's networking to the host to allow you to access the running service.
 
+If you get an error `no code for module (gn packages guile)` add the appropriate guix-bioinformatics repo to the load path (`-L` switch). Note that, instead of hard-wiring guix-bioinformatics, the recommended way is to use a guix channel as defined in [guix-channel](./.guix-channel).
+
+We recommend checking the Guix documentation for manifests, channels and guix.scm definitions.
+
+To run a standalone server you should run without the listener on port 1970:
+
+```
+guix shell -L ~/guix-bioinformatics -m manifest.scm --container --network --file=guix.scm -- guile -L . --fresh-auto-compile -e main web/webserver.scm 8091
+```
+
 ## Welcome to the world of interactive Lisp programming
 
 Next fire up emacs with `emacs-geiser-guile` and connect to the running web server with `M-x geiser-connect` and the port `1970`. Now you can not only inspect procedures, but also update any prodedure on the live server using `C-M-x` on code, call and get updated output from the webserver! No need to save/reload files and all that.
 
 Note that you may have to try different versions of guile+emacs to succeed.
 
+Also these days it may be a better bet to use Andrew Tropin's alternatives ares and arei that are very powerful alternatives to geiser (with a more common lisp type interactive experience):
+
+=> https://git.sr.ht/~abcdw/guile-ares-rs
+=> https://git.sr.ht/~abcdw/emacs-arei
+
+
 # Tools
 
 Some tooling and scripts that run independently are stored in `./scripts`.
 
+# Forwarding a MySQL port
 
+You may want to forward a mysql port if there is no DB locally you can do something like:
 
-# Development
-
-```
-git remote add gn git.genenetwork.org:/home/git/public/gn-guile
-```
+ssh -L 3306:127.0.0.1:3306 -f -N tux02.genenetwork.org
 
 # Topics