Beam is a simple tool that allows members to write posts to share across your organization. Think of it like a lightweight internal blog. Features include a simple Markdown-based editor with preview, image drag and drop, comments and likes, search, a clean responsive layout with dark mode support, and an admin role for hiding posts.
npm install
cp .env.example .env
.env
and set the DATABASE_URL
variable with the connection string from PlanetScale
npx prisma db push
GitHub and Okta authentication settings are available as defaults, but thanks to NextAuth.js, you can configure your Beam instance with most other common authentication providers.
Beam uses NextAuth.js, so if you prefer to use one of the many providers it supports, you can customize your own installation. Simply update the lib/auth.ts
file to add your own provider.
To enable image uploads, set the environment variable NEXT_PUBLIC_ENABLE_IMAGE_UPLOAD
to true
.
Beam uses Cloudinary for storing uploaded images. You can sign up for a free account.
.env
with the following variables:CLOUDINARY_CLOUD_NAME
: Cloud NameCLOUDINARY_API_KEY
: API KeyCLOUDINARY_API_SECRET
: API SecretIf you'd like to have new Beam posts published to a Slack channel, follow these instructions.
npm run dev
Open http://localhost:3000 in your browser.
One-click deploy:
⚠️ Remember to update your callback URLs after deploying.
Beam is a simple tool that allows members to write posts to share across your organization. Think of it like a lightweight internal blog. Features include a simple Markdown-based editor with preview, image drag and drop, comments and likes, search, a clean responsive layout with dark mode support, and an admin role for hiding posts.
npm install
cp .env.example .env
.env
and set the DATABASE_URL
variable with the connection string from PlanetScale
npx prisma db push
GitHub and Okta authentication settings are available as defaults, but thanks to NextAuth.js, you can configure your Beam instance with most other common authentication providers.
Beam uses NextAuth.js, so if you prefer to use one of the many providers it supports, you can customize your own installation. Simply update the lib/auth.ts
file to add your own provider.
To enable image uploads, set the environment variable NEXT_PUBLIC_ENABLE_IMAGE_UPLOAD
to true
.
Beam uses Cloudinary for storing uploaded images. You can sign up for a free account.
.env
with the following variables:CLOUDINARY_CLOUD_NAME
: Cloud NameCLOUDINARY_API_KEY
: API KeyCLOUDINARY_API_SECRET
: API SecretIf you'd like to have new Beam posts published to a Slack channel, follow these instructions.
npm run dev
Open http://localhost:3000 in your browser.
One-click deploy:
⚠️ Remember to update your callback URLs after deploying.