Skip to content

Instructions for setting up Directus on Ubuntu 24.04, with the use of PostgreSQL, PM2, Nginx, and SSL encryption.

Guide on installing Directus on Ubuntu 24.04, pairing it with PostgreSQL, PM2, Nginx, and securing the setup with SSL, walkthrough provided step by step.

Installing Directus on Ubuntu 24.04, using PostgreSQL, PM2, Nginx, and SSL
Installing Directus on Ubuntu 24.04, using PostgreSQL, PM2, Nginx, and SSL

Instructions for setting up Directus on Ubuntu 24.04, with the use of PostgreSQL, PM2, Nginx, and SSL encryption.

In this guide, we'll walk you through the process of creating a robust and flexible data platform using Directus, PostgreSQL, PM2, Nginx, and SSL on Ubuntu 24.04.

Creating an Ubuntu 24.04 VPS

To get started, head over to a specific website and create an Ubuntu 24.04 VPS. Choose your server location, operating system, plan, and create the instance. Once created, copy the server IP address.

Installing Essential Tools

Upon connecting to the server, you'll find that Node.js 20 and NPM are already installed. The system update process involves refreshing the package index, installing the latest available versions of all packages, and installing essential tools like curl/wget, gnupg2, ca-certificates, nginx, unzip, and nano.

Installing Directus

Directus, an open-source data platform, is installed locally in the project directory during the process. It provides REST and GraphQL APIs and an admin app on top of your SQL database.

Setting Up PostgreSQL

PostgreSQL database and extra utilities are installed during the process. In the process of configuring PostgreSQL, a new database and user are created, and the user is granted ownership and privileges so Directus can manage the database.

Configuring Nginx as Reverse Proxy

Nginx is configured as a reverse proxy, serving as the public edge. It reverse proxies to Directus on localhost, terminates TLS with HTTP/2, and handles security headers, static and upload routing, gzip/brotli, and basic rate limiting.

Setting Up PM2

PM2 is installed during the process of setting up Directus with PM2. It is used for process control, daemonizing Directus, auto-restarting on crashes and reboots, and cluster mode to leverage multiple CPU cores.

Securing Directus with SSL

Certbot is installed during the process of securing Directus with SSL. This ensures that all communication between the user and the Directus application is encrypted.

Connecting to the Server

On Windows, PuTTY can be used to connect to the server, which can be downloaded from https://www.putty.org/. On Linux or macOS, open a terminal and use the ssh command with the server IP address and your username.

Typical Use Cases

Typical use cases for this setup include data-first headless CMS, rapid API layer over existing databases, multi-tenant content hubs, back-office dashboards, product catalogs, documentation hubs, and multilingual content services.

Security Measures

Security measures include environment variables only for secrets, Ubuntu firewall exposure of only 80/443, Directus RBAC, authentication, file security, keeping Node, Directus core, and extensions patched, and Fail2Ban on Nginx.

Operational Tips

Operational tips include caching safe, public GET endpoints at Nginx/CDN, keeping Directus system schema under version control via migrations, and testing upgrades in staging.

Observability and Sizing Considerations

Observability includes logs, metrics, and health checks. Sizing and performance considerations include small, medium, and large setups, with recommendations for vCPUs, RAM, storage, and database configurations.

Conclusion

A Directus + PostgreSQL + PM2 + Nginx + SSL stack on Ubuntu 24.04 delivers a secure, flexible, and maintainable data platform. Users can start their own instance at our website.host and set up Directus, Strapi, or any other application in minutes. The tutorial was created and tested on a Shape.Host Cloud VPS.

Read also:

Latest