Container started with --user indefinitely tries to pull timezone data
Description
A container started with --user
and/or --read-only
indefinitely tries to pull timezone data
Steps to Reproduce
Create a docker container like this
docker create \
--rm \
--name=mash-mobilizon \
--log-driver=none \
--user=998:1000 \
--cap-drop=ALL \
--read-only \
--network=mash-mobilizon \
--hostname=events.example.org \
--env-file=/mash/mobilizon/env \
--label-file=/mash/mobilizon/labels \
--health-interval=5s \
--mount type=bind,src=/mash/mobilizon/data/uploads,dst=/var/lib/mobilizon/uploads \
docker.io/framasoft/mobilizon:3.0.4
and start it. The container start sucessfully.
Expected behaviour:
Container runs without problems
Actual behaviour:
Mobilizon tries to pull timzone data every 3 seconds and fails to write it
Logs
Apr 05 16:26:18 s3 mash-mobilizon[3607330]: 16:26:18.157 [info] Source for database :city not found: "/var/lib/mobilizon/geo_db/GeoLite2-City.mmdb" [111/1974]
Apr 05 16:26:18 s3 mash-mobilizon[3607330]: 16:26:18.196 [info] Running Mobilizon.Web.Endpoint with cowboy 2.9.0 at 0.0.0.0:4000 (http)
Apr 05 16:26:18 s3 mash-mobilizon[3607330]: 16:26:18.268 [info] Access Mobilizon.Web.Endpoint at https://events.hyteck.de
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: 16:26:21.151 [error] GenServer :tzdata_release_updater terminating
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: ** (File.Error) could not write to file "/lib/tzdata-1.1.1/priv/latest_remote_poll.txt": read-only file system
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (elixir 1.14.3) lib/file.ex:1104: File.write!/3
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/data_loader.ex:43: Tzdata.DataLoader.last_modified_of_latest_available/1
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:81: Tzdata.ReleaseUpdater.loaded_tzdata_matches_remote_last_modified?/0
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:42: Tzdata.ReleaseUpdater.poll_for_update/0
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:19: Tzdata.ReleaseUpdater.handle_info/2
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (stdlib 4.3) gen_server.erl:1123: :gen_server.try_dispatch/4
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (stdlib 4.3) gen_server.erl:1200: :gen_server.handle_msg/6
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: (stdlib 4.3) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Apr 05 16:26:21 s3 mash-mobilizon[3607330]: Last message: :check_if_time_to_update
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: 16:26:24.160 [error] GenServer :tzdata_release_updater terminating
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: ** (File.Error) could not write to file "/lib/tzdata-1.1.1/priv/latest_remote_poll.txt": read-only file system
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (elixir 1.14.3) lib/file.ex:1104: File.write!/3
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/data_loader.ex:43: Tzdata.DataLoader.last_modified_of_latest_available/1
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:81: Tzdata.ReleaseUpdater.loaded_tzdata_matches_remote_last_modified?/0
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:42: Tzdata.ReleaseUpdater.poll_for_update/0
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (tzdata 1.1.1) lib/tzdata/release_updater.ex:19: Tzdata.ReleaseUpdater.handle_info/2
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (stdlib 4.3) gen_server.erl:1123: :gen_server.try_dispatch/4
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (stdlib 4.3) gen_server.erl:1200: :gen_server.handle_msg/6
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: (stdlib 4.3) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Apr 05 16:26:24 s3 mash-mobilizon[3607330]: Last message: :check_if_time_to_update
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.188 request_id=F1MWpYqFAXEq8YMAAANR [info] GET /
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.224 request_id=F1MWpYqFAXEq8YMAAANR [info] Sent 200 in 35ms
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.534 request_id=F1MWpZ8mlA13u8EAAANh [info] POST /api
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.615 request_id=F1MWpaPwX9QTpi4AAAAS [info] POST /api
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.623 request_id=F1MWpaRrlWGsDukAAAOR [info] POST /api
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.640 request_id=F1MWpZ8mlA13u8EAAANh graphql_operation_name=FullConfig [info] Sent 200 in 105ms
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.687 request_id=F1MWpaRrlWGsDukAAAOR graphql_operation_name=SearchEvents [info] Sent 200 in 64ms
Apr 05 16:26:26 s3 mash-mobilizon[3607330]: 16:26:26.693 request_id=F1MWpaPwX9QTpi4AAAAS graphql_operation_name=CategoryStatistics [info] Sent 200 in 78ms
Apr 05 16:26:27 s3 mash-mobilizon[3607330]: 16:26:27.165 [error] GenServer :tzdata_release_updater terminating
Apr 05 16:26:27 s3 mash-mobilizon[3607330]: ** (File.Error) could not write to file "/lib/tzdata-1.1.1/priv/latest_remote_poll.txt": read-only file system
Reproduces how often:
100%
Versions
mobilizon docker image, tag: 3.0.4
deployed via the MASH-playbook