Ideal In-country Hosting Requirements Checklist

  • Hardware:
  • 8+GB memory (4GB absolute minimum, but not recommended)
  • Roughly two CPU cores (2.5 GHz, Intel Xeon)
  • Storage: we recommend 500GB or more. Primero v2 puts no physical cap on the number of image and PDF attachments. If attachments become heavily used by the program (as signed material, images, media files), the server storage capacity should be able to grow.
  • Operating system: Ubuntu 20.04
  • Publicly accessible domain
  • Networking rules:
  • All permitted outbound traffic:
  • Ubuntu/Canonical package repositories, Dockerhub, Azure Devops repos, optionally Let's Encrypt
  • Inbound traffic permitted on ports 80, 443
  • Inbound traffic permitted on port 22 (can be from a whitelisted Azure domain)
  • A passwordless non-root user with passwordless sudo privileges accessible only via SSH.
  • Recommended security setup. See this community post
  • Data backups and disaster recovery (to external storage preferably)
  • DNS/TLS:
  • Implementation team can use Let's Encrypt (Easiest, most effective)

OR

  • Buy a security certificate (I.e. Thawte, Digicert, Comodo) *it is the responsibility of the implementing team to investigate and choose the best option*

Colour-Coded Stage Gates

  1. If we cannot get access via SSH then Primero cannot be installed
  2. If the networking rules are not set up then Primero cannot be installed
  3. If we cannot get passwordless login then then Primero cannot be installed
  4. If we cannot upgrade the server RAM then Primero can be installed but then we run risks later with performance and errors
  5. If we do not make the server secure  then Primero can be installed but we risk losing data to external third parties
  6. If we continue with a VPN based on a laptop then we can install Primero but cannot sync the alpha and production servers elegantly using Azure pipeline (it will be a manual sync which is more expensive and less reliable)