frePPLe on Ubuntu 24.04 on Azure User Guide
Overview
frePPLe is an open source suite for production planning, supply chain planning and demand forecasting. It combines a Django web application, a PostgreSQL database and a high performance C++ planning engine to model your items, locations, resources, operations, demand and forecasts, and to run constrained and unconstrained plans that generate manufacturing orders, purchase orders and distribution orders together with resource load and material flow output. Teams use it for material requirements planning (MRP), capacity planning, distribution requirements planning (DRP) and sales and operations planning.
The cloudimg image installs frePPLe 9.17.0 from the official Ubuntu 24.04 package, served by Apache with the mod_wsgi application server, with PostgreSQL 16 and the frePPLe planning worker already running. No administrator account and no shared password ship in the image: on first boot a fresh Django secret key, a fresh database password and a unique administrator account are generated and written to a root-only file on the instance. Backed by 24/7 cloudimg support.
What is included:
- frePPLe 9.17.0 served over HTTP on port 80 by Apache with mod_wsgi
- PostgreSQL 16 as the planning database
frepple-worker.service, which processes the plan and forecast jobs submitted from the web Execute screen- A unique administrator account, database password and Django secret key generated on first boot
postgresql.service,apache2.serviceandfrepple-worker.serviceas systemd units, enabled and active- 24/7 cloudimg support
Prerequisites
An active Azure subscription, an SSH key pair, and a VNet plus subnet in the target region. Standard_B2s (2 vCPU / 4 GiB RAM) is a good starting point. NSG inbound: allow 22/tcp from your management network and 80/tcp for the frePPLe web interface.
Step 1 - Deploy from the Azure Marketplace
Sign in to the Azure Portal, choose Create a resource, search the Marketplace for frePPLe by cloudimg, and select Create. On Basics pick your subscription, resource group, region and size; under Administrator account choose SSH public key and paste your key; under Inbound port rules allow SSH (22) and HTTP (80). Then Review + create -> Create.
Step 2 - Deploy from the Azure CLI
az vm create \
--resource-group <your-rg> \
--name frepple \
--image <marketplace-image-urn> \
--size Standard_B2s \
--admin-username azureuser \
--ssh-key-values ~/.ssh/id_ed25519.pub \
--vnet-name <your-vnet> --subnet <your-subnet> \
--public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name frepple --port 80 --priority 1010
Step 3 - Connect to your VM
ssh azureuser@<vm-public-ip>
Step 4 - Confirm the frePPLe stack is running
On first boot frePPLe generates a fresh secret key and database password, initialises an empty planning database, creates a unique administrator account, and starts the web application and planning worker.
systemctl is-active postgresql apache2 frepple-worker
All three report active.

You can confirm the web application answers locally:
curl -s -o /dev/null -w 'HTTP %{http_code}\n' http://127.0.0.1/data/login/
The login page returns HTTP 200.
Step 5 - Retrieve the administrator password
The administrator account is unique to your VM and is generated on first boot. Read it as root:
sudo cat /root/frepple-credentials.txt

The file contains the administrator user (admin), a unique password, and the http://<vm-public-ip>/ URL. Change the password from the user settings after your first sign-in.
Step 6 - Sign in to frePPLe
Browse to http://<vm-public-ip>/ and sign in as admin with the password from the credentials file.

Step 7 - The planning cockpit
After signing in you land on the frePPLe cockpit, which summarises your models, scenarios and the most recent planning results. The left navigation groups the input data (items, locations, resources, operations, demand) and the output screens (the plan, manufacturing orders, purchase orders, distribution orders and resource load).

Step 8 - Review the production plan
The planning engine turns demand and capacity into an actionable plan. The Manufacturing orders screen lists the manufacturing orders the plan generated, with their quantities, start and end dates and the operation each one belongs to.

The Purchase orders screen shows the procurement the plan proposes for bought items, and the Distribution orders and Resource screens show inter-location transfers and capacity load. Together these output screens are the plan frePPLe produces from your input model.

Step 9 - Run a plan from the Execute screen
The Execute screen (under Admin) runs the planning tasks: load or generate a plan, import and export data, and scenario management. The frepple-worker service processes the jobs you submit here, so generating a plan from the web interface works out of the box.
You can also run a plan from the command line. frePPLe ships a management CLI; the cloudimg image provides a wrapper that loads the per-VM environment:
sudo -u frepple /usr/local/sbin/frepplectl-env runplan --env=supply,nowebservice
The command runs a constrained plan and exits when the plan is complete. Query the resulting manufacturing orders directly from the database:
sudo -u frepple /usr/local/sbin/frepplectl-env dbshell -- -tA -c "SELECT count(*) FROM operationplan WHERE type='MO';"

Step 10 - Administer frePPLe from the command line
The frepplectl-env wrapper runs any frePPLe management command with the per-VM environment loaded:
sudo -u frepple /usr/local/sbin/frepplectl-env --version
Use it to create scenarios, load and export data, run plans and manage users.
Maintenance
frePPLe periodically ships new releases. The PostgreSQL planning database persists across reboots on the OS disk. The OS continues to receive unattended security updates. frePPLe stores the default scenario in the frepple0 database (with frepple1 and frepple2 for the two extra scenarios). Back up the default planning database with pg_dump before any upgrade:
sudo -u postgres pg_dump frepple0 > frepple-backup.sql
Support
This image is maintained by cloudimg with 24/7 support. frePPLe Community Edition is open source software licensed under the MIT License. "frePPLe" is a trademark of its respective owner; cloudimg is not affiliated with or endorsed by the frePPLe project. For help with this image, contact support@cloudimg.co.uk.