YBDB relies heavily on accurate time calculations.
Make sure you have installed time zone support for mysql or mariadb as explained here. In GNU/Linux you run the mysql_tzinfo_to_sql program from the commandline:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
It is recommended that you install this software with Docker.
The Dockerfile may be found at https://github.com/fspc/ybdb. If you would prefer not to use Docker, you can follow the steps in the Dockerfile to perform a manual install. You may pull the repository (updated infrequently) from the Docker Hub Registry.
How to install with docker-compose
Run docker-compose pull
and then docker-compose up -d
. By default, your container will be available on port 88.
Advanced environmental changes
The docker-compose.yml file looks for a file called environment. I enjoy using docker-letsencrypt-nginx-proxy-companion, so here is what I add, after changing port
in docker-compose.yml from 88:80
to 80
:
environment
VIRTUAL_HOST=ybdb.bikelover.org
LETSENCRYPT_HOST=ybdb.bikelover.org
LETSENCRYPT_EMAIL="jr@bikelover.org"
Old Fashioned way
If you do not want to use docker-compose, you may pull the repository:
docker pull bikebike/ybdb
Then run the docker container:
Publish the container's port to the host:
format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
docker run -d -p 88:80 --name="ybdb" bikebike/ybdb
How to test/develop inside the running container process
sudo docker exec -it ybdb /bin/bash
If it produces this error:
rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"process_linux.go:75: starting setns process caused \\\"fork/exec /proc/self/exe: no such file or directory\\\"\"\n"
then do this before attempting again:
docker stop ybdb
docker start ybdb
Etherpad
Etherpad is a powerful, useful feature. Complete directions are at EtherPad / EtherDraw, and configurations may be found in Connections/database_functions.php (USE Connections/local_configurations.php).