Direct HTTP No HTTPS
The Direct stack publishes the application on port 8080 without a bundled reverse proxy. Use it for local testing, a trusted private network, or behind an HTTPS proxy you already operate.
Do not expose this stack directly to the internet
Plain HTTP exposes the session cookie and all network traffic to interception. End-to-end encryption does not protect login and session transport or all metadata.
Install
bash
sudo mkdir -p /opt/bearicorn
sudo chown "$USER":"$USER" /opt/bearicorn
cd /opt/bearicorn
git clone https://github.com/bybearicorn/monorepo.git
cd monorepo/deploy/compose
cp .env.compose .envGenerate two independent secrets and place them in .env:
bash
openssl rand -hex 32
openssl rand -hex 16Set JWT_SECRET, DB_PASSWORD, and optionally APP_PORT. Do not commit .env.
Start the stack
bash
docker compose --env-file .env -f docker-compose.yml up --build -d
docker compose --env-file .env -f docker-compose.yml psOpen http://SERVER_IP:8080, or the port set in APP_PORT.
Put an existing proxy in front
The proxy must:
- terminate HTTPS with a valid certificate;
- forward HTTP and WebSocket traffic to the configured
APP_PORT; - preserve the original host and forwarding headers; and
- keep port
8080private from the public internet.
Test login, realtime updates, and large attachment uploads through the proxy before inviting users.