A little guidance

Make room
for your people.

Joining a team or starting one?
We’ll help you find your way in.

Moss holding a conversation bubble

Joining a workspace

Your team already runs Lazy. Bring your server address and invitation code.

Making a new home

Run a server, create the first account, and invite your people.

For the person making it happen

A home for
your team’s conversations.

A Lazy server runs as one container with PostgreSQL. You can use Docker Compose or follow the repository’s Coolify guide.

01 / A place to start

Prepare your server.

You’ll need a machine with Docker and the Compose plugin, plus a domain and an HTTPS reverse proxy for a server that people reach over the internet.

Get the project
git clone https://github.com/last-refuge/lazy.git
cd lazy
cp .env.example .env

Prefer Coolify? Follow the Coolify setup.

02 / Make it yours

Fill in the configuration.

Open .env and set a database password, a setup code and your server’s public HTTPS URL. The setup code protects the creation of the first owner account.

  • POSTGRES_PASSWORD — a URL-safe password.
  • LAZY_SETUP_CODE — a random code of at least 16 characters.
  • LAZY_PUBLIC_URL — the HTTPS address your team will use.
Generate a random setup code
openssl rand -hex 24

Put HTTPS in front of the server before inviting people outside your local network. The reverse proxy must support WebSocket connections and file uploads.

03 / Bring it to life

Start your Lazy server.

The first build compiles the server and can take a few minutes. The server applies database migrations when it starts.

Start and check the services
docker compose up -d --build
docker compose ps

Keep backups of both the PostgreSQL database and the attachment storage. The full deployment guide covers HTTPS, configuration, health checks, backups and updates.

Read the full deployment guide
04 / The good part

Invite your people.

Install the desktop app and enter your server address. Choose Create account and use the setup code in the invitation field to create the owner account.

Then use Menu → Workspace → Invite people… to create invitation codes. Give each teammate the server address and their code. They can install the app and create their own account.

Moss celebrating your team’s new workspace

See you in #general.

A good place to start a good conversation.

Get the desktop app

A little help goes a long way

Let’s clear a few things up.

From “where do I start?” to “who’s the sloth?”

10 questions, a little less wondering.

What is Lazy?

Lazy is a native workplace chat app. It brings channels, direct and group messages, threads, reactions, files and search together in a desktop app that connects to a server run by you or your team.

Do I need to run a server?

Someone does, but it doesn’t have to be you. If your team already uses Lazy, ask for the server address and an invitation code. If you’re setting it up for your team, the self-hosting guide walks through Docker and PostgreSQL.

Which computers can run Lazy?

There are installers for macOS 11 or later (Apple silicon and Intel), Windows 10 and 11 (64-bit), and Linux (64-bit Intel/AMD). Linux needs a Vulkan driver and a system keyring. The download page has the details.

How do I join my team?

Download and open Lazy. Enter the server address your team gave you in the Server row, choose Create account, and enter your invitation code along with your account details. Returning on a new computer? Use your server address, username and password to sign in.

Can I use Lazy for more than one workspace?

Yes. The workspace rail lets you switch between workspaces on your server, with unread indicators for conversations that need you. Connecting to separate servers currently uses separate local profiles.

What happens if my connection drops?

The app keeps cached conversation history and checks pending message delivery when it reconnects. It is designed to recover without duplicating messages. Some actions, including search and loading older messages, still need a connection.

Are voice or video calls included?

Not yet. Huddles and broader integrations are planned for later. Lazy currently focuses on messages, channels, threads, files, search and incoming webhooks.

Do desktop notifications work everywhere?

System notifications currently work on Linux. On macOS and Windows, Lazy has unread counts and a title badge; system notifications are not available yet.

Where do my team’s messages live?

Your team’s server stores the workspace data in PostgreSQL and uploaded files in its attachment storage. The person running that server controls hosting and backups. Self-hosting does not mean end-to-end encryption.

Who is the sloth?

That’s Moss. A quiet, paper-cut companion for saying hello, catching up and celebrating the small wins. A reminder that the people on the other side of the message matter.

Still a little stuck? Open an issue on GitHub. Include the report from Menu → Help → Diagnostics… when reporting an app problem.

A good place to start

Make yourself
at home.

Your people. Your conversations. A little easier.

Moss waving helloSee you in #general.
A look inside Lazy
Enlarged Lazy desktop preview

Actual desktop render with sample conversations.