Novice Pokémon Master


    1.2.1 • Public • Published


    ActivityPub server for - a decentralized virtual reality metaverse platform powered by Mozilla Hubs and activitypub-express.


    We provide a Docker Hub image for immers, and the immers-app repo contains docker-compose configuration, configuration script, and deploy instructions. If you prefer to run immers without docker, it can be deployed just like any other NodeJS & MongoDB app.


    Immers looks for the following configuration values as environment variables or in a .env file in the project root.

    Required configuration

    Variable Value Example
    name Name of your immer Immers Space
    domain Domain name for your immers server
    hub Domain name for your Mozilla Hubs Cloud or other connected immersive experience
    smtpHost Mail service domain (for password resets)
    smtpPort Mail service port 587
    smtpUser Mail service username apikey
    smtpPassword Mail service password
    sessionSecret Secret key for session cookie encryption Automatically generated when using setup script
    easySecret Secret key for email token encryption Automatically generated when using setup script

    Optional configuration

    Variable Value Default
    homepage Redirect root html requests to this url Use hub url
    googleFont Font family name from to fetch from Google Fonts for immer name header Monoton
    backgroundColor CSS color #a6549d
    backgroundImage Image file vapor.png
    icon Image file vaporwave-icon.png
    imageAttributionText Attribution for backgroundImage, if needed Vectors by Vecteezy
    imageAttributionUrl Attribution for backgroundImage, if needed
    monetizationPointer Payment pointer for Web Monetization on login & profile pages Immers Space organization wallet
    dbName Database name to use with MongoDb mongodb
    port Port number for immers sever 8081
    smtpFrom From address for emails noreplay@mail.domain
    emailOptInURL Link to an opt-in form for email updates to show on registration page None
    emailOptInParam Query parameter for emailOptInURL for the e-mail address Use opt-in url without inserting e-mail
    emailOptInNameParam Query parameter for emailOptInURL for the name Use opt-in url without inserting name
    systemUserName Username for a "Service" type actor representing the Immer, enables welcome messages and Mastodon secure mode compatibility none (does not create service actor)
    systemDisplayName Sets the display name for the service actor none
    welcome HTML file for a message that will be delivered from the system user to new user's inboxes (requires systemUserName) none (does not send message)
    keyPath, certPath, caPath Local development only. Relative paths to certificate files None

    Local dev


    • Clone and install immers
    git clone
    cd immers
    npm ci
    • Install a self-signed certificate
    mkdir certs
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout certs/server.key -out certs/server.cert
    • Install mongodb
    • Run immer with npm run dev


    • Clone and install our fork
    git clone
    cd hubs
    git checkout immers-integration
    npm ci
    npm run build:client
    • Run hub with either npm run dev (use Hubs dev networking servers) or npm run start (to connect to your hubs cloud networking server).
    • Visit you immer at https://localhost:8081, approve the certificate exception, get automatically forwarded to your hub at https://localhost:8080, approve another certificate exception, create a room, and you will be redirected to login or register with your immer.

    Default immers server is https://localhost:8081, override with entry IMMERS_SERVER in hubs repo root folder .env file.

    If working on immers server web client, run both npm run dev:client and npm run dev at the same time.


    npm i immers

    DownloadsWeekly Downloads






    Unpacked Size

    472 kB

    Total Files


    Last publish


    • datatitian