html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,issue,performed_via_github_app https://github.com/simonw/datasette/pull/434#issuecomment-484699119,https://api.github.com/repos/simonw/datasette/issues/434,484699119,MDEyOklzc3VlQ29tbWVudDQ4NDY5OTExOQ==,9599,2019-04-18T21:40:45Z,2019-04-18T21:40:45Z,OWNER,"I asked @andrewgodwin about this and he confirmed that if we want to read an environment variable we can't use the `CMD [...]` syntax in the way that we were using it. He did suggest that if we're doing `CMD [""sh"", ""-c"", ""datasette serve --port $PORT ...""]` we may as well do this instead: `CMD ""datasette serve --port $PORT ...""` We should apply some command-line escaping here - if the user passes `--version-note=hello$there` to `datasette publish` we need that $ not to be accidentally evaluated as an environment variable. It looks like [shlex.quote](https://docs.python.org/dev/library/shlex.html#shlex.quote) is the right way to do that.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",434321685, https://github.com/simonw/datasette/pull/434#issuecomment-484694648,https://api.github.com/repos/simonw/datasette/issues/434,484694648,MDEyOklzc3VlQ29tbWVudDQ4NDY5NDY0OA==,9599,2019-04-18T21:23:56Z,2019-04-18T21:23:56Z,OWNER,"Thanks for looking into this! To clarify: currently, the Dockerfile that we generate looks something like this: ``` CMD [""datasette"", ""serve"", ""--host"", ""0.0.0.0"", ""fixtures.db"", ""--cors"", ""--port"", ""8001""] ``` Your code here changes that CMD line to look like this instead, in order to set the port based on an environment variable: ``` CMD [""sh"", ""-c"", ""datasette serve --port $PORT ...""] ``` I wonder if this is the only way to do this? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",434321685,