An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


DreamFactory


Docker container for DreamFactory 7.x using Ubuntu 24.04, PHP 8.3 and NGINX.


Get Started GuideTry OnlineContributeCommunity SupportDocs


GitHub
Docker Pulls
GitHub Release Date


Twitter Follow

## 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.


## Documentation

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).


## Commercial Licenses

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 and Contributions

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).