Use these instructions to install Geotrek-admin in an easy way on a dedicated Ubuntu Focal Fossa 20.04 LTS server for production. For another distributions, please use the Docker installation method. It requires more technical skills. Lastly, for a developer instance, please follow the dedicated procedure.
Geotrek is mostly a CPU-bound application due to the complex queries including geometric operations (such as intersection) which are executed on the database. This is especially true in the setup with a Geotrek Rando v3 portal requesting dynamic geometric data through the Geotrek API.
In such a configuration the required system resources should be:
8 Go RAM or more
50 Go disk space or more (20 Go + estimated size of attached files like photos, including elements imported from SIT)
If spreading the components on multiple hosts keep in mind the bottleneck will most likely be the CPU and RAM at the database server level.
Software requirements are :
Ubuntu Focal Fossa 20.04 LTS. Server flavor is recommended but any other flavors work too (desktop…)
An Internet connection with open HTTP and HTTPS destination ports is required.
Information to prepare before installation
These information will be asked during the installation process and are the basic configuration of Geotrek-admin:
The domain name or IP to use to access to Geotrek-admin web application.
Rando server name: the domain name to use to access to Geotrek-rando website (optional, if appropriate).
PostgreSQL host, port, user, password and DB name if you use an external DB server.
The SRID of the projection to use to store geometries. The projection must match your geographic area and coordinates must be in meters.
The list of languages into which translation of contents will be made
The name or acronym of your organization
Run the following command in a shell prompt on your server:
curl https://raw.githubusercontent.com/GeotrekCE/Geotrek-admin/master/tools/install.sh | bash
If you don’t want to use a local database, you can run the following command instead. This will prevent the script to install PostgreSQL server locally. Don’t forget to enable PostGIS extension in your remote database before installation.
curl https://raw.githubusercontent.com/GeotrekCE/Geotrek-admin/blob/master/tools/install.sh | bash -s - --nodb
Then create the application administrator account and connect to the web interface.
sudo geotrek createsuperuser
If you are not confident with the
install.sh script, or if you are having troubles, you can do the same operations by hand:
deb https://packages.geotrek.fr/ubuntu bionic mainto APT sources list.
Add https://packages.geotrek.fr/geotrek.gpg.key to apt keyring.
If you want to use a local database, install PostGIS package (before installing Geotrek-admin, not at the same time). If not, you must create database and enable PostGIS extension before.
Install the Geotrek-admin package (
sudo apt install geotrek-admin).
Geotrek-admin is automatically installed in
The installation automatically creates an internal
geotrek linux user, owner of this directory
The Geotrek-admin Python application is located in
We highly recommend installing an antivirus software to regularly scan uploaded files located under
Here is the installation process for ClamAV :
apt install clamav
Prepare quarantine folder for suspicious files :
chmod 700 /var/lib/clamav/quarantine/
Configure ClamAV via cron, to scan the folder once a day, put suspicious files in quarantine, and raise email alerts, by creating file
/etc/cron.daily/clamscan with the following content :
nice -n 15 ionice -c 3 clamscan --recursive --allmatch --suppress-ok-results --no-summary --infected --scan-mail=no --log=/var/log/clamav/scan-report.$(date -Iseconds) /opt/geotrek-admin/var/media/ |mail -E -s "ClamAV report for $(hostname)" email@example.com
# Cleanup old files in quarantine (> 90 days)
find /var/lib/clamav/quarantine/ -type f -mtime +90 -delete
# Cleanup old scan reports (> 365 days)
find /var/log/clamav/ -type f -name "scan-report.*" -mtime +365 -delete
Make sure to change alert recepient (
firstname.lastname@example.org above) and make this cron file executable :
chmod 700 /etc/cron.daily/clamscan
If a suspicious file is put in quarantine, you will need to manually delete the corresponding attachment from Geotrek-Admin (since the file for this attachment has moved to the quarantine folder, it will no longer be found).
From Geotrek-admin >= 2.33
Beforehand you shoud update your system’s catalog:
sudo apt-get update
If your current version is <= 2.40.1 you should run instead:
sudo apt-get update --allow-releaseinfo-change
To display the installed version and the latest upgradeable version, run:
apt list --all-versions geotrek-admin
To upgrade only geotrek-admin and its dependencies, run:
sudo apt-get install geotrek-admin
To upgrade geotrek-admin to a specific version, run:
sudo apt-get install geotrek-admin=<version>
sudo apt-get install geotrek-admin=2.97.4.ubuntu18.04
sudo apt-get install geotrek-admin=2.98.0.ubuntu20.04
Note: all package versions remain available. Even when not listed with
Once geotrek-admin has been upgraded you may want to prevent unwanted upgrade with the whole distribution, you can run:
sudo apt-mark hold geotrek-admin
From Geotrek-admin <= 2.32
First of all, make sure your current Geotrek-admin version works correctly.
Especially, after an upgrade of the Ubuntu distribution, you will have to run
before proceeding with Geotrek-admin upgrade.
Then, go inside your existing Geotrek-admin installation directory and run the dedicated migration script:
curl https://raw.githubusercontent.com/GeotrekCE/Geotrek-admin/blob/master/tools/migrate.sh | bash
SPATIAL_EXTENT is well set in
/opt/geotrek-admin/var/conf/custom.py (see Advanced configuration section)
Geotrek-admin is now automatically installed in
and the advanced configuration file moved to
(with spatial extent, map and modules configuration…).
See advanced configuration documentation for details.
etc/settings.ini file is replaced by basic configuration, updated with
sudo dpkg-reconfigure geotrek-admin command (database, SRID, languages, server_name, timeout…).
Update your imports, synchronization and backup commands and directories.
From Geotrek-admin <= 2.69.0
Starting from version 2.70.0, Geotrek now needs PostgreSQL extension ‘pgrypto’.
Make sure to run the following command BEFORE upgrading:
su postgres -c "psql -q -d $POSTGRES_DB -c 'CREATE EXTENSION pgcrypto;'"
It is a new installation with an additional backup/restore and a file transfert in between. The commands below are examples to adapt to your actual configuration (server names, database configuration). These commands apply to versions >= 2.33. If your version is below 2.33, please check the doc of your version.
Backup settings, media files and database on the old server:
sudo -u postgres pg_dump -Fc geotrekdb > geotrekdb.backup
tar cvzf data.tgz geotrekdb.backup /opt/geotrek-admin/var/conf/ /opt/geotrek-admin/var/media/
Restore files on the new server:
scp old_server_ip:path/to/data.tgz .
tar xvzf data.tgz
Ubuntu bionic PostGIS 2.5 upgrade
Geotrek-admin requires at least PostGIS 2.5.
If you installed Geotrek-admin on bionic ubuntu with provided install method, you should update your database :
# Firstly, backup your database (see previous section)
# install postgresql APT repository
# (from https://wiki.postgresql.org/wiki/Apt)
sudo apt install curl ca-certificates gnupg
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt update
# install postgis 2.5 on postgresql 10
sudo apt install postgresql-10-postgis-2.5-scripts
sudo -u postgres psql -d geotrekdb -c "ALTER EXTENSION POSTGIS UPDATE"; # replace geotrekdb by your database name
# You database is now using postgis 2.5 !
# If you encounter error with last command to update postgis, just drop view v_projects and retry
# This view will be recreated after next Geotrek-admin upgrade or dpkg-reconfigure.
sudo -u postgres psql -d geotrekdb -c "DROP VIEW v_projects;";
sudo -u postgres psql -d geotrekdb -c "ALTER EXTENSION POSTGIS UPDATE";
# Warning, by using postgresql official apt repo, next apt upgrade or apt full-upgrade will install postgresql-9.6 and postgis 3 along your database, because postgis meta-package has changed
# If your are not using postgresql-9.6, you can remove it (bionic postgresql default version is 10)
# sudo apt remove postgresql-9.6
If you use an external database, you should adapt this method along your system
apt-get remove geotrek-admin
Media files will be left in
/opt/geotrek-admin/var directory. To remove them, run:
apt-get purge geotrek-admin
To remove dependencies (convertit, screamshooter…), run:
PostgreSQL and its database will not be removed by these commands. If need be, remove them manually.