Skip to content

Commit

Permalink
Merge pull request #400 from Stremio/custom-server
Browse files Browse the repository at this point in the history
Custom HTTP server for proper cache headers
  • Loading branch information
core1024 committed Jun 8, 2023
2 parents b1f9abb + 958cf2e commit 7929e95
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@ RUN mkdir -p /var/www/stremio-web
WORKDIR /var/www/stremio-web
COPY . /var/www/stremio-web
RUN npm install
RUN npm install -g http-server

# Bundle app source
WORKDIR /var/www/stremio-web

RUN npm run build

EXPOSE 8080
CMD ["http-server", "/var/www/stremio-web/build/", "-p", "8080", "-d", "false"]
CMD ["node", "http_server.js"]
23 changes: 23 additions & 0 deletions http_server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env node

// Copyright (C) 2017-2023 Smart code 203358507

const INDEX_CACHE = 7200;
const ASSETS_CACHE = 2629744;
const HTTP_PORT = 8080;

const express = require('express');
const path = require('path');

const build_path = path.resolve(__dirname, 'build');
const index_path = path.join(build_path, 'index.html');

express().use(express.static(build_path, {
setHeaders: (res, path) => {
if (path === index_path) res.set('cache-control', `public, max-age: ${INDEX_CACHE}`);
else res.set('cache-control', `public, max-age: ${ASSETS_CACHE}`);
}
})).all('*', (_req, res) => {
// TODO: better 404 page
res.status(404).send('<h1>404! Page not found</h1>');
}).listen(HTTP_PORT, () => console.info(`Server listening on port: ${HTTP_PORT}`));

0 comments on commit 7929e95

Please sign in to comment.