Fr
Applications Azure

frePPLe on Ubuntu 24.04 on Azure User Guide

| Product: frePPLe on Ubuntu 24.04 LTS on Azure

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.service and frepple-worker.service as 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.

frePPLe stack status on Ubuntu 24.04

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

Per-VM frePPLe credentials file

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.

frePPLe sign-in page

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

frePPLe planning cockpit

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.

frePPLe manufacturing orders

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.

frePPLe purchase orders

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';"

frePPLe plan run from the command line

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.