Installing OpenSPP
Contents
Installing OpenSPP#
This guide walks you through installing OpenSPP on Ubuntu 24.04 or Debian 12 (Bookworm) using the official APT repository hosted on Nexus.
Tip
For development setup instructions, see the Development Setup Guide.
Prerequisites#
Before installing OpenSPP, ensure you have:
Ubuntu 24.04 LTS (Noble Numbat) or Debian 12 (Bookworm)
64-bit Intel or AMD CPU (amd64)
Minimum 4GB RAM (8GB recommended for production)
Minimum 10GB disk space
Root access
Internet connection for downloading packages
Access to https://builds.acn.fr (OpenSPP APT repository)
Step 1: Update system#
First, ensure your system is up to date and install wget and gnupg2:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y wget gnupg2
Step 2: Install PostgreSQL#
OpenSPP requires PostgreSQL as its database backend. Install and verify by running the commands:
sudo apt-get install -y postgresql postgresql-client
sudo systemctl status postgresql
Step 3: Configure OpenSPP repository#
Add the OpenSPP Public Key and APT repository to your system:
wget -qO - https://builds.acn.fr/repository/apt-keys/openspp/public.key | sudo apt-key add -
echo "deb https://builds.acn.fr/repository/apt-openspp-daily bookworm main" | \
sudo tee /etc/apt/sources.list.d/openspp.list
sudo apt-get update
Step 4: Install OpenSPP#
Install OpenSPP directly from the repository:
Install OpenSPP package#
sudo apt-get install -y openspp-17-daily
Alternative: Manual download#
If you prefer to download the package manually or the repository is not accessible:
Create a temporary directory where you will then store and run the downloaded package:
mkdir -p ~/openspp-install && cd ~/openspp-install
wget https://builds.acn.fr/repository/apt-openspp/pool/main/o/openspp/openspp_17.0.1+odoo17.0-1_amd64.deb
sudo dpkg -i openspp_17.0.1+odoo17.0-1_amd64.deb
Fix any dependency issues if they occur#
sudo apt-get install -f
The installation will:
Create an
opensppsystem userInstall files to
/opt/openspp/Create data directory at
/var/lib/openspp/Create log directory at
/var/log/openspp/Install systemd service
Install command-line tools in
/usr/bin/
Step 5: Configure PostgreSQL#
Create a PostgreSQL user for OpenSPP:
Create the openspp PostgreSQL user#
sudo -u postgres createuser -s openspp
Set password (Optional)#
If you want to use password authentication instead of peer authentication
sudo -u postgres psql -c "ALTER USER openspp WITH PASSWORD 'your_secure_password';"
Step 6: Configure OpenSPP#
Basic configuration#
The main configuration file is located at /etc/openspp/odoo.conf.
Set the admin password (IMPORTANT for security):
Generate a strong password#
openssl rand -base64 32
Copy the generated password
Edit the configuration#
sudo nano /etc/openspp/odoo.conf
Find and update these lines (paste the generated password):
; Security
admin_passwd = YOUR_STRONG_PASSWORD_HERE
Database management settings:
; Database Management
list_db = True ; IMPORTANT: Set to True to enable database creation via web UI
; Set to False for production (more secure)
Queue job configuration (REQUIRED for OpenSPP):
OpenSPP uses the queue_job module for asynchronous operations. The package includes default configuration, but you may need to adjust it:
; Server-wide modules (queue_job is required)
server_wide_modules = base,web,queue_job
; Performance - workers MUST be > 0 for queue_job to function
workers = 4 ; Set to number of CPU cores - 1 (minimum 2 for queue_job)
[queue_job]
channels = root:2 ; Number of worker channels
; Database connection for job runner (should match main database settings)
jobrunner_db_host = ; Empty for Unix socket
jobrunner_db_port = 5432
jobrunner_db_user = openspp
jobrunner_db_password = False
Important: Queue jobs will NOT run if workers = 0. Always set workers to at least 2 for production.
Other optional configurations you may want to adjust:
; Memory limits
limit_memory_hard = 4294967296 ; 4GB in bytes
limit_memory_soft = 3221225472 ; 3GB in bytes
; Network
xmlrpc_port = 8069 ; Change if you need a different port
longpolling_port = 8072 ; For real-time features
; Logging
log_level = info ; Options: debug, info, warning, error, critical
Database configuration#
By default, the package is configured to use Unix socket authentication (peer). This means the openspp system user can connect to PostgreSQL without a password.
If you need to use password authentication:
sudo nano /etc/openspp/odoo.conf
Update:
db_host = localhost
db_password = your_postgresql_password
Step 7: Start OpenSPP service#
Enable the service to start on boot#
sudo systemctl enable openspp
Start the service#
sudo systemctl start openspp
Check service status#
sudo systemctl status openspp
You should see output indicating the service is active and running.
Type q to exit this state
Restart the service#
Required to apply any changes to the configuration:
sudo systemctl restart openspp
Step 8: Create your first database#
Option A: Via web interface (recommended)#
Prerequisites: Ensure list_db = True is set in /etc/openspp/odoo.conf (see Step 6).
Open a web browser and navigate to:
http://your-server-ip:8069 # e.g http://localhost:8069
You'll see the database creation page. Fill in:
Master Password: The admin password you set in odoo.conf
Database Name: Choose a name (e.g.,
openspp_prod)Email: Your admin email address
Password: Password for the admin user in this database
Language: Select your preferred language
Country: Select your country
Demo Data: Uncheck for production (check only for testing)
Click "Create Database" and wait (this may take 2-3 minutes)
Option B: Via command line#
Create the database, then restart the service:
sudo -u openspp openspp-server \
--database=openspp_prod \
--init=base \
--stop-after-init
sudo systemctl restart openspp
Step 9: Access OpenSPP#
Once the database is created:
Access the login page at:
http://your-server-ip:8069Login with:
Email: The email you provided during database creation
Password: The password you set for the admin user
Step 10: Install OpenSPP modules#
After logging in, you'll need to activate the OpenSPP modules:
Navigate to Apps menu
Search and install spp_mis_demo (OpenSPP Demo) or spp_farmer_registry_demo (OpenSPP Farmer Registry Demo)
Restart OpenSPP after installing the demo modules:
sudo systemctl restart openspp
Note: The queue_job module, which is essential for asynchronous background tasks, is automatically installed as a dependency of the main OpenSPP modules. It is also pre-configured as a server_wide_module, ensuring that background workers can process jobs correctly after a service restart.
Getting Help#
Documentation: https://docs.openspp.org
Community forum: coming soon
Issue tracker: https://github.com/openspp/openspp-modules/issues
Email support: support@openspp.org
APT repository: https://builds.acn.fr/
Next steps#
Now that OpenSPP is installed, here are some recommended next steps:
Learn to use OpenSPP: Start with the User guide to understand core features.
Administer the system: Refer to the Administration for guides on security, maintenance, and troubleshooting.
Customize and develop: Explore the Developer guide to learn how to extend the platform.
Set Up a pilot program: Follow the From proof of concept to pilot guide to launch a Proof of Concept (PoC).
openspp.org