Deployment guide

frePPLe Ubuntu 24.04

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. You use it 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 frePPLe for material requirements planning (MRP), capacity planning, distribution requirements planning (DRP) and sales and operations planning.

This SecureAnyCloud 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. The image is backed by 24/7 SecureAnyCloud support.

What you get:

  • 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 SecureAnyCloud support

Prerequisites

You need an active Azure subscription, an SSH key pair, and a VNet and subnet in the target region.

Standard_B2s (2 vCPU / 4 GiB RAM) is a good starting size.

In the NSG, allow inbound 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 SecureAnyCloud, and select Create.

On the Basics tab, 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 select Review + create and Create.

Step 2 - Deploy from the Azure CLI

# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:frepple-ubuntu-24-04:default:latest
az vm create \
  --resource-group <your-rg> \
  --name frepple \
  --image sac1647283583153:frepple-ubuntu-24-04:default:latest \
  --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. Check the three services:

systemctl is-active postgresql apache2 frepple-worker

All three report active.

Confirm that 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 admin administrator user, a unique password, and the http://<vm-public-ip>/ URL. After your first sign-in, change the password from the user settings.

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 you sign 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 that 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, and the SecureAnyCloud 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. To count the resulting manufacturing orders, query the database directly:

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, and 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. Before any upgrade, back up the default planning database with pg_dump:

sudo -u postgres pg_dump frepple0 > frepple-backup.sql

Support

SecureAnyCloud maintains this image and provides 24/7 support. frePPLe Community Edition is open-source software licensed under the MIT License. "frePPLe" is a trademark of its respective owner, and SecureAnyCloud is not affiliated with or endorsed by the frePPLe project. For help with this image, contact sales@secureanycloud.com.

Deploy on Azure

Launch frePPLe on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure