There are two modes of operation of General Admission
-
As a first-layer proxy
- Client sends a request to GA
- GA identifies User-Agent and redirects traffic accordingly
- Humans are forwarded to the DApp
- Bots / etxc. are forwarded to the internal Node server that handles OG tags or to the embed player
-
(current) As a host/origin of secondary endpoints for the App (Embed Player, OG Meta Tags, etc.)
- Client sends a request to a CDN with something like Lambda@Edge of CloudFlare Workers
- CDN identifies User-Agent and optionally redirects traffic to GA
- GA picks up on a subset of requests and forward to the internal Node server or the embed player
git clone [email protected]:AudiusProject/general-admission.git
cd general-admission
cp .env.stage .env # or .env.prod
docker compose up --build -d
visit http://localhost:9000.
and to stop it:
docker compose down
or if you want to run just the node service:
# Will be running on port 8000
npm run start
# or with docker
docker build -t ga-node .
docker run --rm ga-node -p 8000:8000 -d
- Run the dapp locally
- Set
APP_URL
env var in.env
tohttp://docker.for.mac.localhost:{DAPP_PORT}