https://github.com/dreamfactorysoftware/df-docker
Docker container for DreamFactory.
https://github.com/dreamfactorysoftware/df-docker
Last synced: 11 months ago
JSON representation
Docker container for DreamFactory.
- Host: GitHub
- URL: https://github.com/dreamfactorysoftware/df-docker
- Owner: dreamfactorysoftware
- Created: 2015-08-28T12:47:10.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-07-03T15:50:28.000Z (12 months ago)
- Last Synced: 2025-07-03T16:56:41.284Z (12 months ago)
- Language: Shell
- Homepage:
- Size: 5.24 MB
- Stars: 70
- Watchers: 17
- Forks: 59
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Docker container for DreamFactory 7.x using Ubuntu 24.04, PHP 8.3 and NGINX.
Get Started Guide ∙ Try Online ∙ Contribute ∙ Community Support ∙ Docs
## Table of Contents
* Prerequisites
* Installation
* DreamFactory Licensed Edition
* Persisting Data
* Testing Data
* Documentation
* Commercial Licenses
* Feedback
## Prerequisites
### Install Docker
- See: [https://docs.docker.com/installation](https://docs.docker.com/installation)
### Install Docker Compose
- See [https://docs.docker.com/compose/install](https://docs.docker.com/compose/install)
## Installing the DreamFactory Docker Container
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.
### 1) Clone the df-docker repo
`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`
### 2) Edit `docker-compose.yml` (optional)
### 3) Build images
`docker-compose build`
### 4) Start containers
`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
### 5) Access Admin UI
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.
## Running a Licensed Instance
### 1) Add the license files to the `df-docker` directory
### 2) Uncomment lines 25 and 36 of `Dockerfile`
### 3) Add the License Key to line 36 of `Dockerfile`
### 4) Build images
`docker-compose build`
### 5) Start containers
`docker-compose up -d`
### 6) Access the app
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.
## Persisting System Database Configs
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.
## Testing Data
We mount a Postgres container that contains over 100k records to test without connecting your own data sets. To utilize the container you will use the following connection details.
Host: The host can be found by running the following Docker command: `docker inspect | grep "IPAddress"`
Port: 5432
Database Name: dellstore
Username: postgres
Password: root_pw
This will generate a fully documented and secure API from the Postgres container.
Learn more about DreamFactory's many features by reading our [Getting Started Guide](http://guide.dreamfactory.com/).
Additional platform documentation can be found on the [DreamFactory wiki](http://wiki.dreamfactory.com).
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](https://www.dreamfactory.com/demo/)!
Feedback is welcome on our [forum](http://community.dreamfactory.com/) or in the form of pull requests and/or issues. Contributions should follow the strategy outlined in ["Contributing to a project"](http://help.github.com/articles/fork-a-repo#contributing-to-a-project).