{ "builder": { "id": "" }, "buildType": "https://mobyproject.org/buildkit@v1", "materials": [ { "uri": "pkg:docker/python@3.9?platform=linux%2Famd64", "digest": { "sha256": "332741499f49a3f3e7749dad70e6ecf1129f00a269fdd6111da2ed2693fbe50e" } } ], "invocation": { "configSource": {}, "parameters": { "frontend": "dockerfile.v0", "locals": [ { "name": "context" }, { "name": "dockerfile" } ] }, "environment": { "platform": "linux/amd64" } }, "buildConfig": { "llbDefinition": [ { "id": "step0", "op": { "Op": { "source": { "identifier": "docker-image://docker.io/library/python:3.9@sha256:332741499f49a3f3e7749dad70e6ecf1129f00a269fdd6111da2ed2693fbe50e" } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} } }, { "id": "step1", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "addgroup --system app \u0026\u0026 adduser --system --ingroup app app" ], "env": [ "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568", "PYTHON_VERSION=3.9.20", "PYTHON_SHA256=6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" ], "cwd": "/", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step0:0" ] }, { "id": "step2", "op": { "Op": { "file": { "actions": [ { "input": 0, "secondaryInput": -1, "output": 0, "Action": { "mkdir": { "path": "/home/app", "mode": 493, "makeParents": true, "timestamp": -1 } } } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step1:0" ] }, { "id": "step3", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "pip install shiny numpy matplotlib plotly pandas shinywidgets lonboard requests overturemaps palettable pyogrio lonboard requests pyarrow geopandas tqdm" ], "env": [ "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568", "PYTHON_VERSION=3.9.20", "PYTHON_SHA256=6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" ], "cwd": "/home/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step2:0" ] }, { "id": "step4", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "pip install --upgrade shiny" ], "env": [ "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568", "PYTHON_VERSION=3.9.20", "PYTHON_SHA256=6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" ], "cwd": "/home/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step3:0" ] }, { "id": "step5", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "chown app:app -R /home/app" ], "env": [ "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "LANG=C.UTF-8", "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568", "PYTHON_VERSION=3.9.20", "PYTHON_SHA256=6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c" ], "cwd": "/home/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step4:0" ] }, { "id": "step6", "op": { "Op": null }, "inputs": [ "step5:0" ] } ], "digestMapping": { "sha256:1b4b3b8e2026f0426f875dfa325ace772d6a3a55dbc0060eefe791396b6d64d0": "step2", "sha256:472ae6cc12c0dc646b146a471beb22aa88fd93745d643bec67d107e466cc60c9": "step5", "sha256:58fd69d4e41859b5e2bb76c4f1ec94884f3ef210d1cd6f1cc1fd0dc1e6e2c5fb": "step6", "sha256:71059255185e743a0360a427f6dd246bf5e2e90889730e22cf19381f8695a4fc": "step0", "sha256:760927bafd3c83747e922452e4bb1e9b654e60f02d909a8c4e5005d08d5b3d5a": "step4", "sha256:90284dd6bf3884835efa0e35b423976456b6f86b54ecb64a47280cc6001d1477": "step1", "sha256:b4579796954667516c52a6cf05b3345ffda7c03a3fc7691c39a77f906c554efe": "step3" } }, "metadata": { "buildInvocationID": "p2tkliovucfdmu6qdt24allu6", "buildStartedOn": "2024-11-20T18:21:37.959819393Z", "buildFinishedOn": "2024-11-20T18:23:39.871840308Z", "completeness": { "parameters": true, "environment": true, "materials": false }, "reproducible": false, "https://mobyproject.org/buildkit@v1#metadata": { "source": { "locations": { "step0": { "locations": [ { "ranges": [ { "start": { "line": 1 }, "end": { "line": 1 } } ] } ] }, "step1": { "locations": [ { "ranges": [ { "start": { "line": 4 }, "end": { "line": 4 } } ] } ] }, "step2": { "locations": [ { "ranges": [ { "start": { "line": 5 }, "end": { "line": 5 } } ] } ] }, "step3": { "locations": [ { "ranges": [ { "start": { "line": 10 }, "end": { "line": 10 } } ] } ] }, "step4": { "locations": [ { "ranges": [ { "start": { "line": 11 }, "end": { "line": 11 } } ] } ] }, "step5": { "locations": [ { "ranges": [ { "start": { "line": 13 }, "end": { "line": 13 } } ] } ] } }, "infos": [ { "filename": "Dockerfile", "data": "RlJPTSBweXRob246My45CgojIENyZWFyIGdydXBvIHkgdXN1YXJpbwpSVU4gYWRkZ3JvdXAgLS1zeXN0ZW0gYXBwICYmIGFkZHVzZXIgLS1zeXN0ZW0gLS1pbmdyb3VwIGFwcCBhcHAKV09SS0RJUiAvaG9tZS9hcHAKCiMgQ29waWFyIGUgaW5zdGFsYXIgbG9zIHJlcXVpc2l0b3MKI0NPUFkgLi9yZXF1aXJlbWVudHMudHh0IC4KI1JVTiBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciAtLXVwZ3JhZGUgLXIgcmVxdWlyZW1lbnRzLnR4dApSVU4gcGlwIGluc3RhbGwgc2hpbnkgbnVtcHkgbWF0cGxvdGxpYiBwbG90bHkgcGFuZGFzIHNoaW55d2lkZ2V0cyBsb25ib2FyZCByZXF1ZXN0cyBvdmVydHVyZW1hcHMgcGFsZXR0YWJsZSBweW9ncmlvIGxvbmJvYXJkIHJlcXVlc3RzIHB5YXJyb3cgZ2VvcGFuZGFzIHRxZG0KUlVOIHBpcCBpbnN0YWxsIC0tdXBncmFkZSBzaGlueQojIENhbWJpYXIgcGVybWlzb3MgeSB1c3VhcmlvClJVTiBjaG93biBhcHA6YXBwIC1SIC9ob21lL2FwcApVU0VSIGFwcAoKIyBFeHBvbmVyIGVsIHB1ZXJ0byB5IGRlZmluaXIgZWwgY29tYW5kbyBkZSBpbmljaW8KRVhQT1NFIDgwODAKQ01EIFsidXZpY29ybiIsICJhcHA6YXBwIiwgIi0taG9zdCIsICIwLjAuMC4wIiwgIi0tcG9ydCIsICI4MDgwIl0KCg==", "llbDefinition": [ { "id": "step0", "op": { "Op": { "source": { "identifier": "local://dockerfile", "attrs": { "local.differ": "none", "local.followpaths": "[\"Dockerfile\",\"Dockerfile.dockerignore\",\"dockerfile\"]", "local.sharedkeyhint": "dockerfile" } } }, "constraints": {} } }, { "id": "step1", "op": { "Op": null }, "inputs": [ "step0:0" ] } ], "digestMapping": { "sha256:a0f903664e8c49e740894324360ce2f9ce4a0aee006699513c75cf5dae7050cb": "step1", "sha256:f1c5b639b21eac4847dbd0b7c59d75602a0737254c67adc5d9d521f4dee90d21": "step0" } } ] }, "layers": { "step0:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 } ] ], "step1:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:034aff1498d35b15d189c7e41af98a980ffb61048735fbfa960fe2f896c901a0", "size": -1 } ] ], "step2:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:034aff1498d35b15d189c7e41af98a980ffb61048735fbfa960fe2f896c901a0", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:115eadaf957fa7ed8b84c0a3771b3d707ab2a70b884de812ad29009443bb5603", "size": -1 } ] ], "step3:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:034aff1498d35b15d189c7e41af98a980ffb61048735fbfa960fe2f896c901a0", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:115eadaf957fa7ed8b84c0a3771b3d707ab2a70b884de812ad29009443bb5603", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:c5fbdeb77f287294d87f60547bbd39670a567e3fdd8cf3a052ccb77aa60c4590", "size": -1 } ] ], "step4:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:034aff1498d35b15d189c7e41af98a980ffb61048735fbfa960fe2f896c901a0", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:115eadaf957fa7ed8b84c0a3771b3d707ab2a70b884de812ad29009443bb5603", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:c5fbdeb77f287294d87f60547bbd39670a567e3fdd8cf3a052ccb77aa60c4590", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:221b31671e9d7cc7c9dbe9fb1dfb2fd124ee2142c6ab3020477d5939405e50e4", "size": -1 } ] ], "step5:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:24b5ce0f1e07d37a35460f50d058afcf738619e431013d2e1727609bdff2d7fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:b6ca42156b9f492afa27c366f20e4e864cef8dd8d0e0a100497764b05b39e6fc", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:00547dd240c419fa2e1b33e66aba302e8dfa4bfe6401a972d94a03b1355cbc6c", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:96d99c63b722657062d3f33cc230e33b191ea9855c050f44871e173709597e35", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:68fff311c8777a4b4e0d637c3ef020f6941bb55497d0ffb7f3a7271b747963ac", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1354cd991b1ce55bb286e284afbe7acde18999c11bb82a2dabe6f3b526e90723", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:6f48ad9487513215b70854b46d5f63ad25bff44eb04a117d016582567a64b63b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:034aff1498d35b15d189c7e41af98a980ffb61048735fbfa960fe2f896c901a0", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:115eadaf957fa7ed8b84c0a3771b3d707ab2a70b884de812ad29009443bb5603", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:c5fbdeb77f287294d87f60547bbd39670a567e3fdd8cf3a052ccb77aa60c4590", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:221b31671e9d7cc7c9dbe9fb1dfb2fd124ee2142c6ab3020477d5939405e50e4", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:399fa1011993e2f8fd023b7d656dd32e9082285b016ce5b8a311b11efa060129", "size": -1 } ] ] } } } }