Jump to content

Guidelines:DebianPackages

From Sahana Eden Wiki
Revision as of 11:23, 25 November 2025 by Dominic (talk | contribs) (Prerequisites)

Debian Packages

As of version 6.0, Eden provides packaged releases for installation, setup and server administration. Packages for Debian (*.deb) are currently provided as assets attached to the respective GitHub release:

Using packaged releases is the recommended setup method for production servers.

Prerequisites

Before starting the installation, you should have a server machine (virtual or bare metal) ready, installed with a suitable Debian/Linux distribution. As a rule, Eden supports the last two Debian releases (stable and oldstable).

Note: Occasionally, support for the current stable can be delayed while we are fixing incompatibilities - but the oldstable should always be available.

The server should have access to corresponding Debian repositories in order to install dependencies, either locally or via internet.

You should be able to access the server via SSH (alternatively physical console), and to become the root user.

Additionally, you will need a DNS A-record for the intended server URL pointing to the server's IP address, which you can obtain from your domain services provider. Make sure the server is accessible from the network under that server URL via both HTTP and HTTPs.

Installation

Login to the server via SSH, and make yourself root with sudo su -.

Download the release package matching your Debian version, e.g. for Eden-6.0 on Debian-12 Bookworm:

 cd /tmp
 wget https://github.com/sahana/eden/releases/download/6.0/sahana-eden-debian12_6.0-1_all.deb

Install the package:

 apt-get update
 apt-get install -f sahana-eden-debian12_6.0-1_all.deb

This will install all necessary dependencies, including PostgreSQL with PostGIS, the web2py framework, the nginx web server and uWSGI, and finally Eden itself.

The package also deploys the edenctl tool to configure and manage the server.

Configuration

If you want to use a custom configuration template, add a symbolic link for it in the /home/web2py/applications/eden/modules/templates directory.

Use edenctl to configure the Eden instance on your server:

 edenctl setup

Enter your server details as you are prompted for them.

Tip: if your server URL is eden.example.com, then the hostname would be eden, and the domain example.com

Edenctl will configure the nginx web server and set up a uWSGI daemon to connect it to web2py/Eden. It will also set up and initialize the database, and pre-populate it with some basic data from the configuration template you selected.

It will also configure SSL (HTTPs) with Certbot to manage the server certificate and key.

Once this is done, you can start your Eden instance with

 edenctl start