Introducing our new CEO Don Johnson - Read More

elestio/directus

Verified Publisher

By Elestio

Updated 1 day ago

Directus, verified and packaged by Elestio

Image
API Management
Content Management System
Databases & Storage
2

10K+

elest.io

DiscordElestio examplesBlog

Directus, verified and packaged by Elestio

Directus is a real-time API and App dashboard for managing SQL database content.

directus

Deploy a fully managed directus on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

Usage

Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/directus.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Create data folders with correct permissions

mkdir -p ./uploads;
chmod 777 ./uploads;

mkdir -p ./extensions;
chmod 777 ./extensions;

mkdir -p ./extensions/displays;
chmod 777 ./extensions/displays;

mkdir -p ./data;
chmod 777 ./data;

Run the project with the following command

docker-compose up -d

You can access the Web UI at: http://your-domain:8055

Docker-compose

Here are some example snippets to help you get started creating a container.

version: "3.3"
services:
    database:
        image: postgres:15
        restart: always
        volumes:
            - ./data:/var/lib/postgresql/data
        networks:
            - directus
        environment:
            POSTGRES_USER: "directus"
            POSTGRES_PASSWORD: ${SOFTWARE_PASSWORD}
            POSTGRES_DB: "directus"
    cache:
        image: redis:6
        restart: always
        networks:
            - directus
    directus:
        restart: always
        image: elestio/directus:${SOFTWARE_VERSION_TAG}
        ports:
            - 172.17.0.1:8055:8055
        user: 0:0
        volumes:
            - ./uploads:/directus/uploads
            - ./extensions:/directus/extensions
        networks:
            - directus
        depends_on:
            - cache
            - database
        environment:
            KEY: ${SOFTWARE_PASSWORD}
            SECRET: ${SOFTWARE_PASSWORD}
            PUBLIC_URL: https://${DOMAIN}
            DB_CLIENT: "pg"
            DB_HOST: "database"
            DB_PORT: "5432"
            DB_DATABASE: "directus"
            DB_USER: "directus"
            DB_PASSWORD: ${SOFTWARE_PASSWORD}
            EMAIL_FROM: ${EMAIL_FROM}
            EMAIL_TRANSPORT: "smtp"
            EMAIL_SMTP_HOST: "172.17.0.1"
            EMAIL_SMTP_PORT: 25
            EMAIL_SMTP_SECURE: "false"
            EMAIL_SMTP_IGNORE_TLS: "false"
            CACHE_ENABLED: "true"
            CACHE_STORE: "redis"
            CACHE_REDIS: "redis://cache:6379"
            REDIS: "redis://cache:6379"
            ADMIN_EMAIL: ${ADMIN_EMAIL}
            ADMIN_PASSWORD: ${ADMIN_PASSWORD}
            CACHE_AUTO_PURGE: "true"

networks:
directus:
Environment variables
VariableValue (example)
ADMIN_USERNAMEtest@gmail.com
EMAIL_FROMfrom@gmail.com
ADMIN_PASSWORDyour-password
SOFTWARE_PASSWORDyour-password
SOFTWARE_VERSION_TAGlatest
DOMAINyour.domain.com

Maintenance

Logging

The Elestio Directus Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Links

Docker Pull Command

docker pull elestio/directus