Howllo App
Create workspaces and boards, set appearance and sign-in, invite staff, and moderate posts.
Run Howllo, create an empty workspace, add your first board, and invite the people who will manage it.
One API serves three clear views. A workspace holds the boards for one product or project.
Create workspaces and boards, set appearance and sign-in, invite staff, and moderate posts.
Read boards, create topics, vote, comment, and follow product updates.
Configure the installation, global limits, email, and workspace quotas.
The Rust API uses PostgreSQL for accounts and content. MinIO stores uploads. App, Web, and Admin are separate frontends.
These commands run the current source. Use your own PostgreSQL and MinIO addresses when they are already available.
Install Node.js 22 or newer and Rust. Start the example PostgreSQL and MinIO services from the repository root.
git clone https://github.com/theparitt/howllo.git
cd howllo
docker compose up -dCopy the example env, set strong secrets, and point the database and storage values at your services. The API listens on port 7700.
cp howllo-server/.env.example howllo-server/.env
cd howllo-server
cargo runThe API applies pending database migrations when it starts.
Back at the repository root, install frontend packages. Run each view in its own terminal.
npm ci
npm run dev:app # localhost:7702
npm run dev:web # localhost:7703
npm run dev:admin # localhost:7701A new workspace starts with no boards. Nothing is public until you create and enable a board.
Sign in, name your product, and choose Create workspace.
Choose Bug reports, Feature requests, Discussion, or Announcements. Set its name, URL and options.
Review the board’s appearance and posting rules. Enable the board, then copy its public link for customers.

A fresh open-source install works with local accounts. Google and Microsoft are optional OpenID Connect choices.
Users save a one-time recovery code at registration. No external identity service is required.
Add an enabled entry to HOWLLO_OIDC_PROVIDERS in the API env. Register the exact API callback shown below.
In App → Customer sign-in, enter your own provider client ID and secret. Copy the redirect URI shown there into Google or Microsoft.
https://YOUR-API/api/auth/callback/googlehttps://YOUR-API/api/auth/callback/microsoftGoogle issuer: https://accounts.google.com. Microsoft issuer: https://login.microsoftonline.com/YOUR-TENANT-ID/v2.0. Use a specific Microsoft tenant ID. Keep client secrets on the server.
Set HOWLLO_PUBLIC_API_URL and the frontend origins first. For customer providers, also set HOWLLO_OIDC_CONFIG_KEY so Howllo can encrypt the tenant’s client secret. Follow the exact OIDC setup for JSON examples and callback checks.
Staff roles belong to the workspace. The person you invite chooses whether to accept.
Enter an email and choose admin or moderator.
With local accounts, share the one-time invitation code privately. The invitee signs in and accepts in App.
See the invitation status and the new staff member. An owner can change their Howllo role or remove access.

Use Howllo Admin for platform settings. Workspace staff use App for their own boards and members.
Admin → Platform settings controls quotas and limits; workspace owners can adjust allowed settings in App → Security.
Back up PostgreSQL and MinIO together, then test a restore before relying on the installation.
Private media and browser session hardening are still open for 1.0. Check the public roadmap.