What's installed on your Directus server?
- Directus 12 from the official container image, run with Docker Compose
- PostgreSQL 18 in a separate container, with port 5432 not published
- HTTPS through Caddy: the app opens at /admin/ on an sslip.io address based on your IP
- A ready admin account, with telemetry turned off
- Persistent Docker volumes for uploaded files and extensions
- Firewall with ports 22, 80 and 443 open, and Directus's port 8055 not published
What size do you need for Directus?
Directus's requirements page lists a bare minimum of 0.25 vCPU and 512 MB for the container, and recommends two instances of 1 vCPU and 2 GB. On this server, one Directus container shares the machine with PostgreSQL and Caddy. As a rule of thumb, start with 1 GB for a trial and 2 GB for a real project, and go to 4 GB with lots of files and API traffic. Uploaded files stay on disk, which can grow but can't shrink.
| Use | Size | Price | Choose |
|---|---|---|---|
| Starter | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mo | |
| Medium | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mo | |
| Powerful | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mo |
Who is it for?
- Developers looking for a headless CMS for a website or mobile app
- Teams that want to build a data model in the browser and use it over REST and GraphQL
- Agencies that want to give content teams an editing screen without custom code
- Small organizations that want to keep their data on their own server
- Projects with users in Turkey that should run from Istanbul
What happens after you order?
- Set the size and complete your payment.
- Your server starts and Directus installs itself. On the Overview tab, wait for the App row to say Directus is ready.
- Open the Panel address link and sign in with the values from the Email and Password rows.
- Create your first collection on the Settings, Data Model page.
- Choose who can reach what on the Settings, Access Policies page.
- From your app, send requests to the /items/collection path of your site address.
With every server
- Daily backups included in the price
- Unlimited traffic
- Full root access
- Scale RAM and CPU up or down later, and grow the disk
- Location: Istanbul · IST-1.
Good to know
- Directus 12 uses the Monospace Sustainable Core License. A license key isn't included in the price: without one, the install runs on the Core tier, limited to 3 user seats, 25 collections and 5 flows.
- Organizations under $5M in annual revenue and 50 employees can get a free key through the Open Innovation Grant. Others stay within Core limits or buy a license from Directus.
- Enter the key with the LICENSE_KEY environment variable or on the Settings, License page. Over the limits, the API locks after a grace period, but no data is deleted.
- Outgoing email isn't set up. For password resets and invitations, add environment variables that start with EMAIL to compose.yaml.
- Updates are up to you: run docker compose pull and docker compose up -d in /opt/seturack/directus. The image stays on major version 12.
- The database isn't open to the outside. If you need it, run docker compose exec db psql -U directus directus in that folder.
Directus questions and answers
Is Directus free, and how does its license work?
A Directus license isn't part of the server price. Without a key, the install runs on the Core tier: 3 user seats, 25 collections and 5 flows. Organizations under $5M in annual revenue and 50 employees can get a free key with no feature limits through the Open Innovation Grant.
How much RAM does Directus need?
Directus lists a minimum of 512 MB for the container and recommends 2 GB. Since PostgreSQL and Caddy share this server, as a rule of thumb start with 2 GB for a real project. If it isn't enough, you scale up from your panel.
How do I send requests to the Directus API?
For REST, use the /items/collection path of your site address, and for GraphQL, use /graphql. First grant access on the Settings, Access Policies page, or create a static token for your user.
Can I connect to the Directus database?
Not from outside: PostgreSQL runs in its own container and publishes no port. On the server, go to /opt/seturack/directus and run docker compose exec db psql -U directus directus.
Where are my Directus files, and are they backed up?
Uploads live in the directus_yuklenen Docker volume and extensions in directus_eklenti. The server is backed up every night, the last 7 days are kept, and this is included in the price. You can recover a single file or restore the whole server from your panel.
How do I connect my own domain to Directus?
Point the A record at your server. In /opt/seturack/directus, replace the old name in caddy/Caddyfile and the SITE_URL value in .env, then run docker compose up -d and docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile. PUBLIC_URL comes from this value.