This repository contains the base Holy Unblocker website. This includes tools and dependencies used to compile the website (Webpack, React) and development tools (ESLint, Prettier).
This repository should not be ran alone. There are several dependencies that require configuration.
If you are a developer, this repository is ideal for testing commits and building for production.
If you are just looking to self-host/deploy Holy Unblocker, check out website-aio.
This repository (was 200 MB before we ran poor cleaning tools) is 500 MB. Poor usage of git and storing binary files led to this large repository size. Tools to clean the git history of repositories suck and we have made no further attempt to do so.
This project depends on the following APIs/scripts:
- DB server (ran on port 3001)
- Theatre (webserver on
public
, ran on port 3002) - Bare Server Node (ran on port 8001)
- Rammerhead (ran on port 8002)
src/config.js
:
// ...
port: 8002,
crossDomainPort: 8003,
// ...
// ON PRODUCTION SERVER (SSL) (PROXY PASSED BY NGINX)
getServerInfo: (req) => {
return { hostname: new URL(`https://${req.headers.host}`).hostname, port: 443, crossDomainPort: 443, protocol: 'https:' };
},
// ON DEVELOPMENT SERVER
getServerInfo: () => ({ hostname: new URL(`https://${req.headers.host}`).hostname, port: 8002, crossDomainPort: 8002, protocol: 'http:' }),
// ...
password: null,
// ...
Protections against clickjacking and CORS prevents the website running locally from interacting with other scripts such as Rammerhead. These extensions will circumvent these protections for development.
In the project directory, you can run:
Starts the React development server.
By default, the development server listens on http://localhost:3000.
Builds the React app.
Starts the static webserver.
Output is found in the build
folder.