# Inside the little file-server container. Not the public-facing config — that # is ext.conf.template, rendered into the shared nginx. server { listen 80; root /srv; # Replaces the whole MIME table, which is fine when the whole site is two # files. Chrome is happy to take a CRX as octet-stream, but the updater logs # are much easier to read when the type is right. types { application/x-chrome-extension crx; text/xml xml; } default_type application/octet-stream; # The update manifest is the thing Chrome polls to notice a release; a cached # copy is a release that does not land. The CRX itself is named by version # inside that manifest, so caching it would be safe — but it is one small # file fetched once per update, and a single rule is easier to trust. add_header Cache-Control "no-store" always; location / { autoindex off; } }