elabfw是一个开源的实验记录工具. 可以自由的部署在个人PC或者服务器上.
官方安装文档:https://doc.elabftw.net/install.html
安装依赖
首先要安装docker, 如果网络环境允许, 可以跟随https://docs.docker.com/compose/install/这个页面上的指示. 但是我安装的时候网速相当慢, 后来使用国内的镜像代替.
我的安装步骤如下:
安装docker的依赖
1
2
3
4
5$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common下载deb文件
我下载的是中科大的镜像网站上的文件.链接: http://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb安装deb文件
sudo deb -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
安装
Docker Compose
我的安装参考这个页面:https://docs.docker.com/compose/install/#master-buildssudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
测试是否安装成功:docker-compose --version
安装dialog
sudo apt-get install dialog
安装eLabFTW
安装elabctl
1
2
3
4# get the program (a bash script)
curl -sL https://get.elabftw.net -o elabctl && chmod +x elabctl
# add it to a directory in your $PATH
sudo mv elabctl /usr/local/bin/配置elabctl
elabctl install
(可选)编辑配置文件
配置文件位置:/etc/elabftw.yml
启动eLabFTW
sudo elabctl start
使用eLabFTW
eLabFTW默认运行在443端口, 因此访问https://<your-elabftw-site.org> (或者 https://
注册的第一个账户会成为管理员账户.
之后应当在设置界面配置一个SMTP账户, 确保在忘记密码的时候可以发送邮件到注册的邮箱, 否则忘记密码之后是无法找回的, 切记!
备份数据
sudo elabctl backup
对应script: https://gist.github.com/NicolasCARPi/5d9e2599857a148a54b0
script中的SQL user/password可以在docker container中的/elabftw/config.php找到.
相关页面:https://doc.elabftw.net/backup.html#backup
恢复备份
恢复页面恢复数据库(elabftw):1
2
3
4
5
6unzip uploaded_files-YYYY-MM-DD.zip
mv var/elabftw/web/* /var/elabftw/web
mv etc/elabftw.yml /etc/elabftw.yml
# now fix the permissions
chown -R 100:101 /var/elabftw/web
chmod 600 /etc/elabftw.yml
恢复数据库(在mysql的container中操作):1
2
3
4
5
6
7
8
9
10gunzip mysql_dump-YYYY-MM-DD.sql.gz # uncompress the file
docker cp mysql_dump-YYYY-MM-DD.sql mysql:/ # copy it inside the mysql container
docker exec -it mysql bash # spawn a shell in the mysql container
mysql -uroot -p # login to mysql prompt
# here you type the password you put in MYSQL_ROOT_PASSWORD in the /etc/elabftw.yml file
Mysql> drop database elabftw; # delete the brand new database
Mysql> create database elabftw; # create a new one
Mysql> use elabftw; # select it
Mysql> source mysql_dump-YYYY-MM-DD.sql; # import the backup
Mysql> exit;
目前存在的问题是在目录页面显示中文的时候会乱码, 这是目前对中文的支持不完善导致的. 解决方案是在mysql的docker container中设置lang为UTF-8。使用locale -a
可以看到当前可用的语言。