One of our current products is ProboCI. This continuous collaboration and testing tool is built with several dependencies - one of them being RethinkDB. Because I have been working on a Docker installation for the open source and proprietary versions of ProboCI, I have been using a full Docker container suite for development with an eye toward production.



Enter in Apple Silicon.



During this process, I purchased an upgraded Apple laptop with an Apple Silicon processor. Unfortunately the official RethinkDB container did not contain an ARM64 compatible build. As such I built one. Using the instructions here, as a baseline, I was able to come up with a mechanism by which I could build RethinkDB in an ARM container. Because of this, it will also run on a RaspberryPi theoretically although I have not tested it. The only drawback right now is it is a very large container. Over 700mb compressed. We're working to reduce the overall image size without the many dependencies.



The project can be viewed on DockerHub. The URL is:



https://hub.docker.com/r/flyingflip/rethinkdb



I started from an Ubuntu 22.04 base image (20.04 on the v2.4.1 version of RethinkDB due to Python 2 dependency).



In addition to the dependencies listed in the article on RethinkDB, I also used the following packages installed via apt-install




  1. clang


  2. python


  3. make


  4. patch




So my base dependency install looked like:




apt-get -y install g++ protobuf-compiler libprotobuf-dev libboost-dev
apt-get -y install curl m4 wget libssl-dev clang python make patch



I have linked to the standard RethinkDB source package, but hosted in my S3 to as a preventative to organizational ghosting that sometimes happens.



https://www.github.com/flyingflip/rethinkdb



I still consider this to be experimental and but I am using it in enterprise, production environments.


Update


This container no longer munges the metadata file when it exits or restarts.