- Provide structure for packaging the frontend NPM package for website-aio
- Add Rammerhead hooks
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.
If you're trying to run a git blame and always reach the recent initial commit, you're probably looking for the the website-archive repo.
https://git.holy.how/holy/website-archive
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.