Help Center

Drupal + PostgreSQL

Drupal is a content management system aimed at sites with complex information structures: custom content types, taxonomies, editorial workflows, and detailed role-based permissions.

This Stack installs it with PostgreSQL.

Services included

In addition to the application, the Stack brings up PostgreSQL, an nginx that receives traffic on port 80, an automatic backups service, and the web file manager.

Project structure

text
.
├── backup
│   └── backup-runner.sh
├── health
│   └── status.php
├── nginx
│   └── default.conf
├── .env.example
└── compose.yaml

Getting started

Install the Stack and start it:

bash
docker-deploy-stack --stack php/drupal-postgres
cd /root/stack/php/drupal-postgres
docker compose up -d

This is a ready-to-use application: you don’t need to upload any code. Themes, plugins, extensions, and files you upload from its administration panel are stored in the Stack and included in automatic backups.

Configuration

Editable values are in the Stack’s .env file:

Variable Default What it’s for
APP_PORT 80 Public port of the Stack.
APP_ENV development Application environment.
DB_NAME drupal Database name.
DB_USER drupal Database user.
BACKUP_ENABLED 1 Automatic backups: 1 enabled, 0 disabled.
BACKUP_INTERVAL_SECONDS 86400 How many seconds between backups.
BACKUP_RETENTION_DAYS 7 How many days backups are kept.
DRUPAL_VERSION latest Version of the corresponding image.
POSTGRES_VERSION 16-alpine Version of the corresponding image.

After changing it, apply the changes with docker compose up -d.

Useful commands

bash
docker compose ps          # see the containers that are running
docker compose logs -f     # view live logs
docker compose restart     # restart the services
docker compose down        # stop and remove the containers
Guide g.0304 · Source version 1 · en