mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 10:56:23 +00:00
Existing content preserved and reordered to the canonical section order; missing sections generated from each stack's compose data (ports, volumes, env vars, image links). Fixes copy-paste errors in Dockhand sections (qbittorrent pointed at archivebox; invokeai/thunderbird said SERVICENAME) and persistant->persistent typos in gatus. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
114 lines
3.0 KiB
Markdown
114 lines
3.0 KiB
Markdown
# Directus
|
||
|
||
[official Website](https://directus.io/) and [Documentation](https://docs.directus.io/)
|
||
|
||
[Docker Hub](https://hub.docker.com/r/directus/directus)
|
||
|
||
Proxy port: 8055
|
||
|
||
## Overview
|
||
|
||
Instant headless CMS and admin app layered on top of a SQL database.
|
||
|
||
## Project Details
|
||
|
||
- **Container Image:** [directus/directus:latest](https://hub.docker.com/r/directus/directus)
|
||
- **Reverse Proxy Port:** `8055`
|
||
|
||
## Getting Started
|
||
|
||
1. Start the container: `docker compose up -d`
|
||
2. Open http://localhost:8000 in your browser
|
||
3. Follow the initial setup wizard to configure the application
|
||
|
||
## Environment Variable Notes
|
||
|
||
MARIADB_DATABASE – default: directus
|
||
MARIADB_USER – default: directus
|
||
MARIADB_PASSWORD – default: ChangeThisPassword
|
||
MARIADB_ROOT_PASSWORD – default: ChangeThisPassword
|
||
DIRECTUS_SECRET – default: ChangeThisPassword
|
||
DIRECTUS_ADMIN_EMAIL – default: noreply@example.com
|
||
DIRECTUS_ADMIN_PASSWORD – default: ChangeThisPassword
|
||
DIRECTUS_PUBLIC_URL – default: http://localhost:8055
|
||
DIRECTUS_PORT – default: 8000
|
||
|
||
## Volume Notes
|
||
|
||
/var/lib/mysql – host path /data/directus/db
|
||
/directus/uploads – host path /data/directus/uploads
|
||
/directus/extensions – host path /data/directus/extensions
|
||
/directus/templates – host path /data/directus/templates
|
||
|
||
## Network Notes
|
||
|
||
Requires proxy network
|
||
|
||
## Docker Run
|
||
|
||
```bash
|
||
docker run -d \
|
||
--name directus \
|
||
-p 8000:8055 \
|
||
-v /data/directus/db:/var/lib/mysql \
|
||
-v /data/directus/uploads:/directus/uploads \
|
||
-v /data/directus/extensions:/directus/extensions \
|
||
-v /data/directus/templates:/directus/templates \
|
||
directus/directus:latest
|
||
```
|
||
|
||
See compose.yaml for the full set of environment variables.
|
||
|
||
## Additional Notes / Gotchas
|
||
|
||
Nothing specific to this stack so far.
|
||
|
||
## Dockhand Stack, Deploy from Git
|
||
|
||
Cookbooks Repository
|
||
stackname: directus_dev
|
||
Compose file path: directus_dev/compose.yaml
|
||
Additional env file (optional): directus_dev/sample.env
|
||
|
||
Then "Load" directus_dev/sample.env into the Environmental variables in dockhand
|
||
|
||
Create the Stack
|
||
|
||
## Other Containers
|
||
|
||
You will also need mariadb and redis, something like:
|
||
|
||
```
|
||
mariadb:
|
||
image: ${MARIADB_IMAGE:-mariadb:latest}
|
||
restart: unless-stopped
|
||
environment:
|
||
- MARIADB_DATABASE=${MARIADB_DATABASE}
|
||
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
|
||
- MARIADB_USER=${MARIADB_USER}
|
||
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
|
||
volumes:
|
||
- ${VOL_PATH}/mariadb:/var/lib/mysql
|
||
|
||
cache:
|
||
image: redis:6
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "[ $$(redis-cli ping) = 'PONG' ]"]
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 5
|
||
start_interval: 5s
|
||
start_period: 30s
|
||
```
|
||
|
||
## Gotacha
|
||
|
||
On first run: The initial admin email address and password will be shown in the terminal.
|
||
If you forgot and did a detached: ```docker compose logs -f```
|
||
|
||
Reset password:
|
||
```bash
|
||
sudo nala install argon2
|
||
echo -n "TheNewPasswordHere" | argon2 "$(openssl rand -base64 16)" -id -m 16 -t 3 -p 4
|
||
```
|