Installation Guide

Steps to install Seed Surveys in your own Server:

  1. SSH into the server

    ssh root@YOUR_SERVER_IP
  2. Install Docker

    apt update
    apt install -y docker.io docker-compose-plugin
    systemctl enable --now docker
    docker ps
  3. Clone the Repo

    git clone https://github.com/seed-hypermedia/seed.git seed
    cd seed
  4. Fetch the latest branch

    git fetch origin
    git checkout Form-with-seed-docs
    git reset --hard origin/Form-with-seed-docs
  5. Confirm the branch/commit

    git status
    git log --oneline -5
  6. You should see:

    On branch Form-with-seed-docs
  7. Check the web config

    cat /opt/seed/web/config.json

    For Seed Surveys private feedback, it should include:

    {
      "feedbackDestinationAccountUid": "z6MkkeXDXo4p5y483NqxnMjZKbE4VAv8GPXp3kQ5JGYbTTsR",
      "feedbackDestinationLabel": "Seed Surveys",
      "feedbackSignerAccountUid": "z6MkmYhMohZM7agevqQdejj56Y6ZQNVVMw2Mq3LUmER4jNtf",
      "feedbackDestinationCapabilityCid": "bafy2bzacedh3rr5ew5nvy4exly2zietju3dkqawyqzciyjkevtqewwp7kdq7k",
      "feedbackDocumentVisibility": "private"
    }

    If you edit it:

    nano /opt/seed/web/config.json

    Validate JSON:

    jq . /opt/seed/web/config.json
  8. Build the web Docker image

    Run from ~/seed:

    docker build -t seedhypermedia/web:branch-test -f frontend/apps/web/Dockerfile .
    
  9. Restart the web container

    seed-deploy restart web
  10. Check logs

    seed-deploy logs web

    Submit the feedback form, then look for:

    [feedback] published

    The successful new flow should show:

    publishedBlobs: 3
    destinationPublish: { origin: 'https://seed-surveys.hyper.media' }
    

    pushProgress.blobsAnnounced: 0 may still happen, but it is now less important because the signed blobs are also published directly to Seed Surveys.

  11. Test the feedback page

    Open:

    https://nodosdeconocimiento.es/feedback

    Submit at least one feedback field.

  12. Verify the created document

    Copy the documentId from the web logs, then run:

    curl -sG 'https://seed-surveys.hyper.media/api/Resource' \
      --data-urlencode 'id=PASTE_DOCUMENT_ID_HERE' \
      | jq

    Expected result:

    {
      "json": {
        "type": "document"
      }
    }

    If it returns:

    "type": "not-found"

    then the document did not reach Seed Surveys.

  13. Common mistakes

    Wrong Docker command:

    docker build -t seedhypermedia/web:branch-test . -f frontend/apps/web/Dockerfileseed-deploy restart web

    Correct command:

    docker build -t seedhypermedia/web:branch-test -f frontend/apps/web/Dockerfile .

    Then separately:

    seed-deploy restart web

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime