{ "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" ], "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:0fb9e509023be1ea389bbf7d262faef319b93a5e3163c65ffe69f1fdf6235196": "step5", "sha256:1b4b3b8e2026f0426f875dfa325ace772d6a3a55dbc0060eefe791396b6d64d0": "step2", "sha256:71059255185e743a0360a427f6dd246bf5e2e90889730e22cf19381f8695a4fc": "step0", "sha256:90284dd6bf3884835efa0e35b423976456b6f86b54ecb64a47280cc6001d1477": "step1", "sha256:ae0216f25b1ce47b9ce91d109b3878630555e269f8bc9d6f537f421d6b9755ff": "step3", "sha256:b6632cf750acd918d6dd3cee104885b9719cde82a8ced4c62c3c6e0d46bb73b0": "step6", "sha256:cdaca3afc236516c54141e37ca282e11a3073b31d6f9da8d6a3d96a6e28d9185": "step4" } }, "metadata": { "buildInvocationID": "ukfyqgxkfe68zjtxh57gnd6fu", "buildStartedOn": "2024-11-20T18:14:11.058559264Z", "buildFinishedOn": "2024-11-20T18:15:23.109452969Z", "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": "RlJPTSBweXRob246My45CgojIENyZWFyIGdydXBvIHkgdXN1YXJpbwpSVU4gYWRkZ3JvdXAgLS1zeXN0ZW0gYXBwICYmIGFkZHVzZXIgLS1zeXN0ZW0gLS1pbmdyb3VwIGFwcCBhcHAKV09SS0RJUiAvaG9tZS9hcHAKCiMgQ29waWFyIGUgaW5zdGFsYXIgbG9zIHJlcXVpc2l0b3MKI0NPUFkgLi9yZXF1aXJlbWVudHMudHh0IC4KI1JVTiBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciAtLXVwZ3JhZGUgLXIgcmVxdWlyZW1lbnRzLnR4dApSVU4gcGlwIGluc3RhbGwgc2hpbnkgbnVtcHkgbWF0cGxvdGxpYiBwbG90bHkgcGFuZGFzIHNoaW55d2lkZ2V0cyBsb25ib2FyZCByZXF1ZXN0cyBvdmVydHVyZW1hcHMgcGFsZXR0YWJsZQpSVU4gcGlwIGluc3RhbGwgLS11cGdyYWRlIHNoaW55CiMgQ2FtYmlhciBwZXJtaXNvcyB5IHVzdWFyaW8KUlVOIGNob3duIGFwcDphcHAgLVIgL2hvbWUvYXBwClVTRVIgYXBwCgojIEV4cG9uZXIgZWwgcHVlcnRvIHkgZGVmaW5pciBlbCBjb21hbmRvIGRlIGluaWNpbwpFWFBPU0UgODA4MApDTUQgWyJ1dmljb3JuIiwgImFwcDphcHAiLCAiLS1ob3N0IiwgIjAuMC4wLjAiLCAiLS1wb3J0IiwgIjgwODAiXQoK", "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:5c738b5c578e74b90ecde90c09569d11da02c4d89adf18cb909d6fd75d524623": "step1", "sha256:e3f51e2d2e3102708da223171b552e07caef2e10b0d626599d32855609d0e1a7": "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:d5839d593b4d95556ddd233377245afd0952cfa6ef58bf260711e1e05e598550", "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:d5839d593b4d95556ddd233377245afd0952cfa6ef58bf260711e1e05e598550", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:98ec588a707d469b642eb4f4bf222adc09ac331a93ace9a2e911ac4c1955eae2", "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:d5839d593b4d95556ddd233377245afd0952cfa6ef58bf260711e1e05e598550", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:98ec588a707d469b642eb4f4bf222adc09ac331a93ace9a2e911ac4c1955eae2", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1bd595c682ebb9e2c1206a084f922fae2f598dd07c5230db9fbfd0785e864544", "size": -1 } ] ] } } } }