Electronic lab notebooks are essential for researchers to record details about experiments carried out in lab. In print environment researchers have used print lab notebooks to record every activity carried out in lab. Due to developments in technology researchers and various universities and organizations are making use of elabnotebooks.
For last one week was working on finding out how many elabnotebook software are available under category of open source.
Until date have found two of such regularly released candidates eLabFTW (https://github.com/elabftw/elabftw) and SciNote (https://github.com/scinote-eln/scinote-web)
Sucessfully tried installation of eLabFTW on Ubuntu 20.04 vmplayer. Struggling to get installed SciNote on same vmplayer. Both these software require configuration of docker and few other software. While configuring issues were with nodejs compatible software.
1) eLABFTW is an open source electronic lab notebook software. I spent time on installing the same on local ubuntu desktop.
Initially struggled to configure the same with https support locally and the following link helped to configure my nginx locally from digital ocean.
After configuring nginx with self signed certificate it was needed to change 443 port to other number as elabftw docker requires same port number.
Installed elabftw with local installation and configured with opening the site using https://localhost:3148 and changed in /etc/elabftw.yml file.
A. It is important to configure nginx default page with following configuration
# Default server configuration
#
server {
listen 8888 ssl;
listen [::]:8888 ssl;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
server_name lib.org;
access_log /var/log/nginx/elab.lib.org.log ;
location / {
proxy_pass http://localhost:3148; # use httpS here if needed
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# add this if nginx is terminating TLS
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
listen 80;
listen [::]:80;
server_name lib.org;
root /var/www/lib.org/html;
index index.html index.htm index.nginx-debian.html; }
2. elabftw.yml following changes are required to run elabftw locally without using 443 port as this port is used by docker
#######################
# NGINX CONFIGURATION #
#######################
# change to your server name in nginx config
# default value: localhost
# example value: elab.uni.edu
- SERVER_NAME=lib.org
# optional: disable https, use this to have an http server listening on port 443
# useful if the SSL stack is handled by haproxy or something alike
# default value: false
- DISABLE_HTTPS=false
# set to true to use letsencrypt or other certificates
# note: does nothing if DISABLE_HTTPS is set to true
# default value: false
- ENABLE_LETSENCRYPT=false
# optional: enable ipv6 (make sure you have an AAAA dns record!)
# default value: false
#- ENABLE_IPV6=false
ports:
# Important note about exposing ports: due to the way Docker deals with the host firewall, it is recommended to use '127.0.0.1:1234:443'
# if you only want to expose the service locally (on port 1234 in this example). See https://github.com/moby/moby/issues/22054
# Another option is to use the "expose" directive instead of "ports" and let your reverse proxy figure things out.
#
# if you want elabftw to run on a different port, change the first number
# host:container
- '127.0.0.1:3128:443' (This change is very imp)
3. After making these changes run following commands
elabctl start
elabctl initiate
Still I am unable to see page with https://localhost I can open with https://localhost:3128 (How to achieve removing port is not successful yet)