Installation

System requirements

Hardware: 512 MB RAM for PostgreSQL (4 GB recommended), ~3 GB storage per 1M events.

Download

  1. Download the latest version of tirreno: tirreno-master.zip
  2. Extract the ZIP file to the location where you want it installed on your web server
  3. Configure your web server to point to the tirreno directory
  4. Run the web installer

Git clone

git clone https://github.com/tirrenotechnologies/tirreno.git
cd tirreno

After cloning, configure your web server to point to the tirreno directory and run the web installer.

Composer installation

tirreno is published on Packagist and can be installed with Composer.

Create a new project:

composer create-project tirreno/tirreno

Or add to an existing project:

composer require tirreno/tirreno

After installation, configure your web server to point to the tirreno directory and run the web installer.

Docker installation

One line Docker:

curl -sL tirreno.com/t.yml | docker compose -f - up -d

Manual Docker:

# Create network
docker network create tirreno-network

# Start PostgreSQL
docker run -d \
  --name tirreno-db \
  --network tirreno-network \
  -e POSTGRES_DB=tirreno \
  -e POSTGRES_USER=tirreno \
  -e POSTGRES_PASSWORD=secret \
  -v ./db:/var/lib/postgresql/data \
  postgres:15

# Start tirreno
docker run -d \
  --name tirreno-app \
  --network tirreno-network \
  -p 8585:80 \
  -v tirreno:/var/www/html \
  tirreno/tirreno:latest

Compose:

services:
  tirreno-app:
    image: tirreno/tirreno:latest
    ports:
      - "8585:80"
    volumes:
      - tirreno:/var/www/html
    networks:
      - tirreno-network
    depends_on:
      - tirreno-db

  tirreno-db:
    image: postgres:15
    environment:
      POSTGRES_DB: tirreno
      POSTGRES_USER: tirreno
      POSTGRES_PASSWORD: secret
    volumes:
      - ./db:/var/lib/postgresql/data
    networks:
      - tirreno-network

networks:
  tirreno-network:

volumes:
  tirreno:

Run: docker compose up -d

Access http://localhost:8585/install/ and use database URL postgresql://tirreno:secret@tirreno-db:5432/tirreno.

Heroku deployment

Click here to launch Heroku deployment.

Web installer

Access the installer at https://your-domain.com/install/ (for Docker: http://localhost:8585/install/) and provide PostgreSQL database credentials.

Input options:

You can enter credentials in two ways:

  1. Database URL (recommended for Docker):
   postgresql://tirreno:secret@tirreno-db:5432/tirreno

The URL will be automatically parsed into individual fields.

  1. Individual fields:

Testing the database connection:

Before running the full installation, click the Test button to verify your database connection:

This allows you to validate credentials without applying the schema.

Installation steps:

When you click Connect, the installer runs these steps:

StepChecks
Version checkVerifies you have the latest tirreno version
CompatibilityPHP version (8.0–8.3), mod_rewrite, PDO PostgreSQL, config folder permissions, .htaccess, cURL, memory limit (128MB)
Database paramsValidates all required fields are provided
Database setupTests connection, checks for existing installation, applies schema
Config buildWrites config/local/config.local.ini with your settings

After successful installation:

  1. Delete the /install directory
  2. Visit /signup to create your admin account

Post-installation steps

  1. Delete the /install directory
  2. Create your admin account at /signup
  3. Configure the cronjob (see Cronjob setup)
  4. Apply security hardening (see Security)
________________________________________________________________________________