ODK Central installation on Mac OS Big Sur - Docker mount error

Hi, thanks a lot for providing ODK. I have started working on it recently for a custom project and it is really a great framework.

1. What is the problem? Be very detailed.
I have cloned the latest version of ODK Central (commit #1a97f79) on my Mac that already have docker installed.
More specifically these are the commands that executed as given in the doc:

git clone https:// github.com/getodk/central
docker-compose build
docker-compose up --no-start

until here everything is fine but when I run:
docker-compose up -d

It gives error in starting 2f6c14504b63_central_service_1:

central_pyxform_1 is up-to-date
Starting central_secrets_1 ...
4c2b73591117_central_mail_1 is up-to-date
f4091d627f1f_central_enketo_redis_main_1 is up-to-date
central_postgres_1 is up-to-date
Starting central_secrets_1 ... done
central_enketo_1 is up-to-date
Starting 2f6c14504b63_central_service_1 ... error

ERROR: for 2f6c14504b63_central_service_1 Cannot start service service: Mounts denied:
The path /data/transfer is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/docker-for-mac for more info.

ERROR: for service Cannot start service service: Mounts denied:
The path /data/transfer is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.
See https://docs.docker.com/docker-for-mac for more info.
ERROR: Encountered errors while bringing up the project.

2. What app or server are you using and on what device and operating system? Include version numbers.
ODK Central (commit #1a97f79)
Mac OS Bug Sur 11.0.1
Docker Engine 20.10.2
Docker Compose 1.27.4

3. What you have you tried to fix the problem?
I first tried to follow the instructions given in the error that is to add /data/transfer to my shared folders in Preference. but the issue is that such directory does not exist on Mac OS. And since it is on the root path I can't create any directory there even with sudo access.

I wonder if there is any option that allows me to specify a custom path to replace the used /data/transfer when running the docker command?

4. What steps can we take to reproduce the problem?
Run the steps above on Mac OS 11.

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.
/data/transfer/ is not a valid path on Mac therefore this default path need to be changed as far I understand.

If you are setting up a dev environment, I'd follow the instructions here: https://github.com/getodk/central#contributing.

If you are setting up a prod environment, I'd recommend you put Central in an Ubuntu VM.

Thank you for the reply.
I couldn't solve the mac issue due to the error above. Therefore, I installed it on Ubuntu VM hosted at DigitalOcean which is better for production also.

1 Like