Skip to content

Hardware

All servers run under Ubuntu 24.04.2 and can be reached via SSH using public key authentication (only) with the username ubuntu.

DANGER

The Production Webserver uses Port 8288 for SSH connections.

Webserver

The hardware for the Webserver running frontend/backend/reporting is the smallest exabyte Virtual Private Server (NVME VPS 1, v13). It comprises:

  • 1 vCPU (x86_64)
  • 2 GB RAM
  • 40 GB NVME Storage
  • 1 dedicated IP (45.127.6.212)
  • 100MBps Bandwidth/monthly total traffic 1 TB

INFO

As an extra service a daily full backup for rolling 14 days was ordered and can be managed here

Piwigo Server

For Piwigo a separate virtual server from Oracle's free tier (Ampere) is used with the following specs:

  • 2 OCPU (aarchh64)
  • 12 GB RAM
  • 100 GB SSD Storage
  • 1 dedicated IP (84.235.172.73)
  • 2 Gbps Bandwidth, unlimited

Environments

For a proper development and release management process it is recommended to set up three different server environments: development, staging and production.

This is relevant mainly for the Webserver. For the Piwigo Server we do not need a development environment at all, and a staging environment is only set-up on - limited - demand to test the initial set-up using ansible or test the process to restore from backups.

Development Server

The development server can be any (recommended: linux) based server. Performance requirements are rather limited; currently development runs on a Promox virtual machine with 2 cores and 8 GB of RAM and 100 GB disk storage.

As tools, we only need:

  • a running node.js installation (version 20.18 in alignment with the Strapi requirements)
  • a database to connect to (recommended: mysql or mariadb)
  • git installed and configured. It is recommended to use the ssh access with public key authentication

Staging Environment

The staging environment is used to (1) do testing/unit testing during development using the development branch of the GitHub repositories and (2) Release-to-Production (RTP) testing using the production branch of the repositories (for git setup and release management see here)

As we are using the staging environment for RTP testing it should mimic the production environment as close as possible. Staging environment is hence setup as a Proxmox virtual machine with 1 core, 2 GB RAM and 40 GB of disk storage. This is sufficiently close to the production environment.

To allow for convenient testing, the Staging environment uses its own domain (klharriettes.club). The setup is identical to the production environment for admin.klharriettes.club and the homepage (www.klharriettes.club). Integrating test environments for Reporting and the Image Gallery does not add much value, hence the respective links point to the production endpoints.

Production Environment

For the specifications of Webserver and Piwigo Server see above. It should be obvious, that manual installs or code changes on the production environment should be strictly avoided. Also, in the production environment only the production branch of the GitHub repositories should be used.

Released under the MIT License.