Table of Contents
- Chimithèque
- Web browser compatibility
- Links
- Requirements
- Quick start
- Production installation
- Database backup
- Initial product database import
- Upgrades
- Support
- Use of categories and tags
- Use of barecode and QRCode
- List of public database Chimithèque instances
Chimithèque is an open source chemical product, biological reagent and lab consumables management application started by the ENS-Lyon (France) and co-developped with the Université Clermont-Auvergne (France). It is written in Golang.
The project was started in 2015 and has moved to Github in 2017.
- projet leaders: Delphine Pitrat - ENS-Lyon (delphine[dot]pitrat[at]ens-lyon[dot]fr) - Thomas Bellembois - UCA
- technical referent - chemistry: Delphine Pitrat
- technical referent - biology: Alexandra Massé, biology specialist, Unité Mixte de Recherche Herbivores - équipe Biomarqueurs, INRAE
Chimithèque may NOT work with Microsoft Internet Explorer/Edge.
It was tested successfully with Firefox and Chrome/Chromium.
-
chimithèque binary: https://github.com/tbellembois/gochimitheque/releases
-
docker image: https://hub.docker.com/repository/docker/tbellembois/gochimitheque
- a Linux AMD64 machine
- an SMTP server (for password recovery - optionnal for the quick start and if using LDAP)
Chimithèque is statically compiled and then does not require other dependencies.
Look at the most recent tagged version at https://hub.docker.com/r/tbellembois/gochimitheque.
Do NOT use the latest
tag as it is the development version.
Do NOT use this method in production.
For example fo the 2.0.8
version:
docker run --name chimitheque -v /tmp:/data -p 127.0.0.1:8081:8081 -e CHIMITHEQUE_DOCKERPORT=8081 tbellembois/gochimitheque:2.0.8
- download the latest
gochimitheque
binary here https://github.com/tbellembois/gochimitheque/releases/latest/download/gochimitheque - uncompress it in a directory
- run
./gochimitheque
Then open your web browser at http://127.0.0.1:8081/chimitheque
Et voilà !
Now login with the email [email protected]
and password chimitheque
, and change the password immediatly.
Do not use this mode in production.
Install Docker and docker-compose.
Retrieve the Chimithèque docker-compose.yml
file:
wget https://raw.githubusercontent.com/tbellembois/gochimitheque/master/docker-compose.yml -O docker-compose.yml
Edit the file, it is self documented.
Create the data directories for the Nginx and Chimithèque containers:
mkdir -p /data/docker-nginx/nginx-auth/certs
mkdir -p /data/docker-nginx/nginx-templates
mkdir -p /data/docker-chimitheque/chimitheque-db
mkdir -p /data/docker-chimitheque/chimitheque-log
chmod -R o+rwx /data/docker-chimitheque
Retrieve the Nginx configuration:
wget https://raw.githubusercontent.com/tbellembois/gochimitheque/master/documents/system/nginx-chimitheque.conf -O /data/docker-nginx/nginx-templates/default.conf.template
Start up:
docker-compose up -d
You may need to adapt the default Docker configuration to enable SSL, change the proxy URL or setup the SMTP server adress.
This must be done:
- in the
docker-compose.yml
file with the environment variables - in the
nginx-chimitheque.conf.template
file
It is strongly recommended to run Chimithèque behind an HTTP proxy server with SSL.
- create a dedicated user
groupadd --system chimitheque
useradd --system chimitheque --gid chimitheque
mkdir /usr/local/chimitheque
-
drop the gochimitheque binary into the
/usr/local/chimitheque
directory -
setup permissions
chown -R chimitheque:chimitheque /usr/local/chimitheque
-
configure (look at the following section) and install the systemd script
documents/system//chimitheque.service
in/etc/systemd/system
and enable/start it withsystemctl enable chimitheque.service; systemctl start chimitheque.service
-
install and adapt the Nginx configuration
documents/system/nginx-chimitheque.conf
in/etc/nginx/server-available/nginx.conf
and link it withln -s /etc/nginx/server-available/nginx.conf /etc/nginx/server-enable/nginx.conf
Run gochimitheque --help
for a list of command line parameters.
For a Docker installation use the corresponding environment variables commented in the docker-compose.yml
file. They are self explainatory.
Note that some command line parameters are not mapped to Docker environment variable. This is expected.
example:
gochimitheque -appurl=https://appserver.foo.fr -apppath=/chimitheque/ [email protected],[email protected] -mailserveraddress=smtp.foo.fr -mailserverport=25 [email protected]"
will run the appplication behind a proxy at the URL
https://appserver.foo.fr/chimitheque
with 2 additionnal administrators[email protected]
and[email protected]
Note about admins:
A static administrator [email protected]
is created during the installation. His password must be changed after the first connection.
You can add a comma separated list of admins emails. Accounts must have been created in the application before. You should limit the number of admins and set entity managers instead.
example:
[email protected],[email protected]
Chimithèque uses a local sqlite database. You are strongly encouraged to schedule regular plain text dump in a separate machine in case of disk failure.
You can backup the database with:
sqlite3 /path/to/chimitheque/storage.db ".backup '/path/to/backup/storage.sq3'"
Restore it with:
cp /path/to/backup/storage.sq3 /path/to/chimitheque/storage.db
Each Chimithèque application administrator can share its products database with -enablepublicproductsendpoint
.
Note that only products informations (product cards) will be shared.
You need at least one other public Chimithèque instance to be able to populate your new Chimithèque database.
./gochimitheque -importfrom=[publicInstance]
example:
./gochimitheque -importfrom=https://chimitheque.ens-lyon.fr
Stop Chimithèque and replace the gochimitheque
binary with the new one.
docker-compose down
docker-compose pull
docker-compose up -d --force-recreate
You may want to install watchtower to perfom automatic upgrades.
Please do not (never) contact the members of the Chimithèque development team directly.
Subscribe to the mailing list: https://groupes.renater.fr/sympa/subscribe/chimitheque?previous_action=info or open a Github issue.
For chemical and biological reagents, there is now the possibility to class products in different categories in order to make easier product research.
This solution is available when creating a new product sheet with a scrolling menu and suggest different preregistered product categories. It is possible to create a new category if concerned product does not feet with already existing suggestions. This solution allows in main menu, with advanced research, to show only products called with a specific category, and thus have a global vision on a specific class of products.
This solution is completed with the possibility to apply tags on chemical or biological reagents, also available in product sheet section. This allows to associate a product with various fields, methods, protocols, projects, or application domains. Like previously, preregistered tags are proposed in a scrolling menu with the possibility to create new tags. For example, a stem cell culture medium can be associated with Stem Cells, Cell Culture or Culture Medium tags. This function may reveal particularly useful to rapidly show products associated with a specific activity, projects or method in the advanced research of Chimithéque main menu. Moreover, it is a way to personalize and adapt product research according to a lab or a structure specific needs or habits.
A new option is now available for creating an association between a product and a specific label: the QRCode. It is different from the bare-code, because it is readable by every device which have a camera and permits to access directly to the page with the product's storage. By default, when a product is stocked, the software create a random bare-code and a new QRcode. However, if a product need to be sampled, you can check the option "identical bare-code" when the number of samples is required, and it will generate the same bare-code for each new sample. The major advantage is that you can scan any QRcode of these strictly identical products and it will display the page of the storage with all the samples. Then, any of these samples could be borrowed or archived, for example. For instance, for conservation conditions, it could be recommended to limit freeze-thaw cycles. To avoid that, the product could be sampled in different dishes with the same volume or mass. To store them on Chimitheque, the "identical bare-code" option will permit to create QRcodes linked with all the samples, so that any of them could be destocked when one of them is used.
- ENS de Lyon:
https://chimitheque.ens-lyon.fr
If you want to share your product database please send an email to the mailing list or create a Github issue.