Docker container for DreamFactory 7.x using Ubuntu 24.04, PHP 8.3 and NGINX.
Get Started Guide ∙ Try Online ∙ Contribute ∙ Community Support ∙ Docs
- Prerequisites
- Installation
- DreamFactory Licensed Edition
- Persisting Data
- Testing Data
- Documentation
- Commercial Licenses
- Feedback
The easiest way to configure the DreamFactory application is to use docker-compose. This will automatically spin up 4 containers, the DreamFactory application, MySQL container for the system database, Redis container for caching, and a Postgres database with over 100k records preconfigured for testing.
cd ~/repos (or wherever you want the clone of the repo to be)
git clone https://github.com/dreamfactorysoftware/df-docker.git
cd df-docker
docker compose build
docker compose up -d
NOTE: volume df-storage:/opt/dreamfactory/storage is created to store all file based (apps, logs etc.) data from DreamFactory.
This basically stores all data written by DreamFactory (at /opt/dreamfactory/storage location) in the df-storage volume. This
way if you delete your DreamFactory container your data will persist as long as you don't delete the df-storage volume.
to stop and remove all containers you can use the command
docker compose down
to stop and remove all containers including volumes use
docker compose down -v
Go to 127.0.0.1 in your browser. It will take some time upon building, but you will be asked to create your first admin user.
docker compose build
docker compose up -d
Go to 127.0.0.1 in your browser. It will take some time upon building, but you will be asked to create your first admin user.
After you have spun up your DreamFactory instance, take the APP_KEY value from the .env file in /opt/dreamfactory. This can be done with the following command:
docker-compose exec web cat .env | grep APP_KEY
Set this value as the APP_KEY value in the docker-compose.yml file (line 28), encapsulating it in single quotes, to avoid receiving "The MAC is invalid" errors within your instance should you ever need to rebuild.
We mount a Postgres container that contains over 100k records to test without connecting your own data sets. To generate a REST API for this database, login to your DreamFactory instance and click the Connect to Database button on the home page. Choose PostgreSQL, then add an easily recalled namespace such as pgsql. You can enter anything you'd like into the description field. Click Next and enter the below connection details and then press the Create & Test button:
- Host: example_data
- Port: 5432
- Database Name: dellstore
- Username: postgres
- Password: root_pw
This will generate a fully documented and secure API from the Postgres container. To use this API you'll next need to create a role-based access control (RBAC) and API key. Head over to the documentation (see below) for instructions.
Learn more about DreamFactory's many features by reading our Getting Started Guide. Additional platform documentation can be found on the DreamFactory wiki.
In need of official technical support? Desire access to REST API generators for SQL Server, Oracle, SOAP, or mobile push notifications? Require API limiting and/or auditing? Schedule a demo with our team!
Feedback is welcome on our forum or in the form of pull requests and/or issues. Contributions should follow the strategy outlined in "Contributing to a project".
