Skip to content

Manual Server Setup



To fully launch the server, you need to start four basic services. Let’s do this locally:

  • sama-server - core API service.
  • sama-client - frontend Web application.
  • sama-push-daemon - push notifications service.
  • sama-push-queue-board - web dashboard to monitor push notifications service queue.
  1. Make sure you have Node 18 installed.

  2. Clone the repo.

    Terminal window
    git clone git@github.com:SAMA-Communications/sama-server.git
    cd sama-server
  3. Create env file from the template.

    Terminal window
    cp .env.example .env
  4. For run dependant services (MongoDB, Minio, Redis) run:

    Terminal window
    docker-compose up
  5. Open http://localhost:9011/access-keys and login using MINIO_ROOT_USER and MINIO_ROOT_PASSWORD from docker-compose.yml file. Create Access Keys and set MINIO_ACCESS_KEY and MINIO_SECRET_KEY in .env file.

  6. Terminal window
    npm install to install dependencies
  7. Run DB migrations.

    Terminal window
    npm run migrate-mongo-up
  8. Run server.

    Terminal window
    npm run start
  1. Clone the repo.

    Terminal window
    git clone git@github.com:SAMA-Communications/sama-client.git
    cd sama-client
  2. Create env file from the template.

    Terminal window
    cp .env.example .env
  3. Generate VAPID keys via

    Terminal window
    npx web-push generate-vapid-keys

    And set Public Key to REACT_APP_PUBLIC_VAPID_KEY in .env file

  4. Install dependencies.

    Terminal window
    npm install
  5. Run server.

    Terminal window
    npm run start
  6. access http://localhost:3000 in your browser

  1. Clone the repo.

    Terminal window
    git clone git@github.com:SAMA-Communications/sama-push-deamon.git
    cd sama-push-deamon
  2. Create env file from the template.

    Terminal window
    cp .env.example .env
  3. From the previous step when you generated VAPID keys, set Public Key to PUBLIC_VAPID_KEY and Private Key to PRIVATE_VAPID_KEY in .env file

  4. Install dependencies.

    Terminal window
    npm install
  5. Run server.

    Terminal window
    npm run start
  1. Clone the repo.

    Terminal window
    git clone git@github.com:SAMA-Communications/sama-push-queue-board.git
    cd sama-push-queue-board
  2. Create env file from the template.

    Terminal window
    cp .env.example .env
  3. Install dependencies.

    Terminal window
    npm install
  4. Run server.

    Terminal window
    npm run start
  5. Access http://localhost:3000/ui

  6. Done.