Localess

Docker

Run Localess locally using Docker Compose — no cloud account required.

Docker is the quickest way to run Localess on your machine for personal use or to preview features without setting up a Firebase project.

For a production deployment, use Firebase instead.

Prerequisites

Docker tags

Localess publishes the following image tags on ghcr.io/lessify/localess:

TagDescription
edgeLatest commit on the main branch
latestLatest stable release
{{major}}.{{minor}}.{{patch}}Specific patch release (e.g. 1.2.3)
{{major}}.{{minor}}Latest patch for a minor version (e.g. 1.2)
{{major}}Latest release for a major version (e.g. 1)

Docker Compose

Create a compose.yaml file with the following content:

services:
  localess:
    image: ghcr.io/lessify/localess:latest # replace with desired tag
    ports:
      - "4000:4000" # emulator ui
      - "5001:5001" # functions
      - "8080:8080" # firestore
      - "9099:9099" # auth
      - "9199:9199" # storage
      - "5000:5000" # hosting (localess)
    volumes:
      - ./firebase-export:/app/firebase-export

The firebase-export volume is optional. Mount a local directory here to persist emulator data between container restarts, or to pre-load seed data exported from another Localess instance.

Start Localess

docker compose up

Once the container is running, the following services are available:

ServicePort
Localess (Hosting)5000
Emulator UI4000
Functions5001
Firestore8080
Auth9099
Storage9199

First start

There is no setup page. Create your first admin once, in the Firebase Emulator UI:

  1. Open http://localhost:4000 and go to Authentication.
  2. Add user with an email and password.
  3. Edit the user and set its custom claims to {"role":"admin"}.

Sign in to Localess at http://localhost:5000 with that account, then create your first space. The emulator exports its state to the mounted firebase-export volume on exit, so the account survives container restarts — as long as the volume is mounted.

Stop Localess

docker compose down

On this page