elabFTW - Opensource lab mangement system

elabFTW opensource lab mangement platform

locally deploy using docker-compose

Create the folder in docker-compose folder

1
mkdir elabftw_data && cd elabftw_data

obtain the docker-compose.yml

1
curl -so docker-compose.yml "https://get.elabftw.net/?config"

Customize some of the configuration in the docker-compose.yml files

1
vi docker-compose.yml
  • Aware some items you need to do modification:
    • The timezone ‘TZ’
    • The TCP port, if we depolyed for lab usage
    • set your SITE_URL to make sure the php script could run normally
      1
      2
      3
      4
      - PHP_TIMEZONE=America/Chicago
      # again
      - TZ=America/Chicago

Always remeber the trick used in the vim for phase replacement:

1
2
3
step1: 'esc' to trigger the command panel
step2: :%s/Europe\/France/America\/Chicago
step3:'enter' finish to confirm the change
1
2
- SITE_URL= https://elab.<costumizename>.us:3148

For the ports, find the following location and add your customized port for boardcast:

1
2
3
4
5
6
7
8
9
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
- '3148:443'

All set! Current Setup is enough for platform properly deployed and running.

let the platform Online

1
docker compose up -d

you should see elabftw and mysql running successfully

initial the elab

1
docker exec -it elabftw bin/init db:install

At this time you should have the elab running successfully on the “https://localhost:3148
Whoever first register to it will automatically become the admin for the plateform.

If you saw the 502 error which should say backend code didn’t run properly, go back to check if you missed the URL_SITE set in yml file.

It is very well programmed, so it should be very well prepared for any usage out of box.

import from csv

if you have your lab previous data stored in chart, convert it to csv.

In order to successfully import the data, you should check if you have ‘title’ which will automatically become the title for the database, so change the item name column to ‘title’

there is another magic phase I noticed so far is ‘tags’

with this column be setted in your csv chart, the elab will automatically set the tag for corresponding item