{"id":20118504,"url":"https://github.com/flowfuse/docker-compose","last_synced_at":"2026-02-27T13:14:27.568Z","repository":{"id":38201398,"uuid":"449771001","full_name":"FlowFuse/docker-compose","owner":"FlowFuse","description":"Docker Compose file to run FlowForge","archived":false,"fork":false,"pushed_at":"2025-08-28T12:16:30.000Z","size":474,"stargazers_count":18,"open_issues_count":4,"forks_count":20,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-28T16:41:03.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FlowFuse.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-19T16:32:47.000Z","updated_at":"2025-08-28T12:16:25.000Z","dependencies_parsed_at":"2023-09-28T19:15:30.622Z","dependency_job_id":"1ec3a90f-b39b-44b0-a680-16627f79769e","html_url":"https://github.com/FlowFuse/docker-compose","commit_stats":null,"previous_names":["flowfuse/docker-compose"],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/FlowFuse/docker-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlowFuse%2Fdocker-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlowFuse%2Fdocker-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlowFuse%2Fdocker-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlowFuse%2Fdocker-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FlowFuse","download_url":"https://codeload.github.com/FlowFuse/docker-compose/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FlowFuse%2Fdocker-compose/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273703278,"owners_count":25152999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T19:11:17.813Z","updated_at":"2026-02-03T12:16:14.854Z","avatar_url":"https://github.com/FlowFuse.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FlowFuse Docker Compose\n\nAn example Docker Compose project to run FlowFuse\n\n## Prerequisites\n\n### Docker Compose\n\nFlowFuse uses Docker Compose to install and manager the required components. Instructions on how to install Docker Compose on your system can be found here:\n\n[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)\n\nFlowFuse requires at least Docker Compose v2\n\nThese instructions assume you are running Docker on a Linux or MacOS host system.\n\n\n### DNS\n\nTo access the Projects created you will need to set up a wildcard DNS entry that points to the `domain` entered in the `etc/flowforge.yml` file.\n\ne.g. assuming that Docker is running on a machine with IP address `192.168.0.8` then an A record point to  `*.example.com`.\n\nThis  will mean that any host at `example.com` will resolve to the `192.168.0.8`.\n\n**Note** When testing locally you can not use the loopback address `127.0.0.1` for this, e.g. in the [`hosts`](https://en.wikipedia.org/wiki/Hosts_(file)) file, as this will resolve to the TCP/IP stack inside each container.\n\n## Installing FlowFuse\n\n### Building Containers\n\nTo build the required containers simply run `./build-containers.sh`.\n\nThis will build and tag `flowfuse/forge-docker` and `flowfuse/node-red` and `flowfuse/file-server`.\n\n#### flowfuse/flowforge-docker\n\nThis container holds the FlowFuse App and the Docker Driver.\n\n#### flowfuse/node-red\n\nThis is a basic Node-RED image with the FlowFuse Launcher and the required Node-RED plugins to talk to the FlowFuse Platform.\n\nThis is the container you can customize for your deployment.\n\n#### flowfuse/file-server\n\nThis holds the Object Store used to allow persistent file storage for Projects running on Docker\n\n## Configuration\n\nConfiguration details are stored in the `etc/flowforge.yml` file which is mapped into the `flowforge/forge-docker` container. You will need to edit this file to update the `domain` and `base_url` entries to match the DNS settings.\n\nYou also need to update the `VIRTUAL_HOST` entry in the `docker-compose.yml` file to use the same domain as in the `etc/flowforge.yml` file.\n\nYou should also update the `email` section to point to a local SMTP server so you can invite users to join teams. \n\n### Creating Instance\n\nOnce the container have been built you can start the FlowFuse by running:\n\n```\ndocker-compose -p flowforge up -d\n```\n\nThis will also create a directory called `db` to hold the database files used to store project instance and user information.\n\n# Upgrading\n\nIf upgrading from version before version 1.2.0 you will need to manually create the database for the persistent context store.\n\nTo do this you will need to run the following command after starting:\n\n```\ndocker exec -it flowforge_postgres_1 /docker-entrypoint-initdb.d/setup-context-db.sh\n```\n\n# Development Mode\n\n**This is experimental**\n\nIf you are actively developing FlowFuse, the following instructions can be used\nto run it with the Docker driver using a locally mounted source tree.\n\n1. Ensure that you have all of the FlowFuse source repositories checked out next to each\nother - including this repository.\n\n2. Run `npm install` in each repository that has a package.json file.\n\n3. In the `flowforge` repo, run `npm run dev:local` to setup proper dev symlinks\n   between the repos.\n\n4. Follow the instructions above to setup DNS.\n\n5. Edit the `etc/flowforge.yml` file in the `flowforge` repository to use the docker driver:\n  ```\n  port: 3000\n  host: 0.0.0.0\n  domain: example.com\n  base_url: http://forge.example.com\n  api_url: http://forge:3000\n  \n  driver:\n    type: docker\n    options:\n      socket: /tmp/docker.sock\n  ```\n\n\n6. Depending on what OS you are running on, the core project has one binary\n  dependency that needs to be rebuilt for it to work inside Docker - `bcrypt`.\n  The super hacky way to get that to work is to edit `flowforge/package.json` and\n  modify the `serve` task to first reinstall that module:\n  ```\n  \"serve\": \"npm uninstall bcrypt \u0026\u0026 npm install bcrypt \u0026\u0026 npm-run-all --parallel build-watch start-watch\"\n  ```\n  You only need to do this the first time you run under docker - you can then revert\n  that change for the subsequent runs.\n\n  **Note:** You will need to reinstall the module when you go back to running outside\n  of docker.\n\n7. Start the platform with: `docker-compose -f docker-compose-local-dev.yml up --build` \n\n  That will start the standard environment, but the `forge` container will have the\n  local source tree mounted, and use `npm run serve` to start the code. This means\n  it will automatically rebuild/restart whenever source code changes are made.\n\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowfuse%2Fdocker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowfuse%2Fdocker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowfuse%2Fdocker-compose/lists"}