Install Etendo - Interactive Guide
Overview
IMPORTANT: THIS IS A BETA VERSION
It is under active development and may contain unstable or incomplete features. Use it at your own risk. The module behavior may change without notice. Do not use it in production environments.
This guide demonstrates how to install Etendo Classic using the Interactive Configuration System - an intuitive wizard that guides you through the setup process step by step.
Why Use Interactive Installation?
The Etendo Interactive Configuration System offers several advantages over manual configuration:
- Guided Setup: Step-by-step wizard with clear documentation for each property
- Secure Input: Automatic detection and hidden input for sensitive data (passwords, tokens)
- Organized Configuration: Properties grouped by category (Database, Security, Application, etc.)
- Built-in Validation: Validation and confirmation before applying changes
- Safe Updates: Automatic backup of existing configuration files
- Faster Setup: Reduces configuration errors and setup time
Prerequisites
Before starting, ensure you have:
- System requirements met
- PostgreSQL properly configured
- GitHub credentials ready (setup guide)
- Etendo Gradle Plugin 2.1.0 or higher. For more information, visit Etendo Gradle Plugin.
Interactive Installation Process
Step 1: Prepare Your Environment
Choose your installation format and prepare the base files:
-
Clone Etendo Base project:
-
Copy sources to your installation directory:
-
Add your GitHub credentials to
gradle.properties
: -
Uncomment the core dependency in
build.gradle
:
-
Clone Etendo Base project:
-
Copy sources to your installation directory:
-
Add your GitHub credentials to
gradle.properties
: -
Expand Etendo Base:
-
Clone Etendo Base project:
-
Copy sources to your installation directory:
-
Add your GitHub credentials to
gradle.properties
: -
Add Platform Extensions bundle dependency:
-
Expand Etendo Base:
Step 2: Start Interactive Configuration
Launch the interactive configuration wizard:
Step 3: Navigate the Configuration Menu
You'll see the main configuration menu:
🎛️ Interactive Setup - Main Menu
============================================================
📋 Choose configuration option:
1️⃣ Default configuration (use current/default values)
2️⃣ Group configuration:
📦 a. all - Configure all groups
📋 b. Database Configuration
📋 c. Security Settings
📋 d. Application Settings
3️⃣ Exit without saving
🎯 Select an option:
Configuration Options:
- Option 1 (Default): Use existing or default values for all properties
- Option 2a (All Groups): Configure all properties step by step
- Option 2b-2d (Specific Groups): Configure only selected categories
- Option 3: Exit without making changes
Step 4: Configure Properties
When you select a configuration group, you'll be guided through each property:
📋 Database Configuration
==================================================
🔧 Property: bbdd.host
ℹ️ Database server hostname or IP address
Current value: localhost
✏️ New value: [Enter to keep current, or type new value]
🔧 Property: bbdd.port
ℹ️ Database server port number
Current value: 5432
✏️ New value: [Enter to keep current, or type new value]
🔧 Property: bbdd.password
ℹ️ Database connection password
Current value:
🔐 New value (hidden): [Password input is hidden]
Property Configuration Tips
- Press Enter to keep the current/default value
- Type new values to override defaults
- Sensitive properties (passwords, tokens) will hide your input
- Required properties must have a value to proceed
Step 5: Review Configuration Summary
Before applying changes, you'll see a complete summary:
📊 Configuration Summary
============================================================
📋 Database Configuration:
🔧 bbdd.host = localhost
🔧 bbdd.port = 5432
🔧 bbdd.password = ********
📋 Security Settings:
🔧 githubToken = ********
🔧 nexusPassword = ********
📋 Application Settings:
🔧 context.name = etendo
📊 Total: 6 properties configured
🔐 Including 3 sensitive properties (shown masked)
✅ Confirm configuration? (Y/N):
Review Checklist
- All required properties have values
- Database connection details are correct
- GitHub/Nexus credentials are properly set
- Application context name is as desired
Step 6: Complete Installation
After confirming your configuration:
- Properties are saved to
gradle.properties
(with automatic backup). - Traditional setup runs automatically.
- Installation continues with your configured settings.
Complete the installation process:
Step 7: Access Your Installation
Open your browser and navigate to:
- Standard Installation:
https://<Public server IP>/<Context Name>
- Local Development:
http://localhost:8080/etendo
Configuration Groups Reference
Database Configuration
bbdd.host
- Database server hostnamebbdd.port
- Database server port (5432 for PostgreSQL, 5434 for Docker)bbdd.sid
- Database namebbdd.systemUser
- Database admin userbbdd.systemPassword
- Database admin passwordbbdd.user
- Application database userbbdd.password
- Application database password
Security Settings
githubUser
- GitHub username for repository accessgithubToken
- GitHub personal access tokennexusUser
- Nexus repository usernamenexusPassword
- Nexus repository password
Application Settings
context.name
- Web application context nameallow.root
- Allow root user accessorg.gradle.jvmargs
- JVM arguments for Gradle
Docker Settings (when using Docker format)
docker_com.etendoerp.tomcat
- Enable Dockerized Tomcatdocker_com.etendoerp.docker_db
- Enable Dockerized PostgreSQLtomcat.port
- Tomcat port (default: 8080)
Advanced Features
Re-running Interactive Configuration
You can run the interactive configuration again at any time:
This will:
- Show your current configuration values
- Allow you to modify any settings
- Create new backups before applying changes
Debug Mode
For troubleshooting, enable debug output:
Using with Custom Modules
If your project includes custom modules with config.gradle
files, they will automatically appear in the configuration groups. The new system preserves property names exactly as written and supports custom gradle.properties keys through the optional name
field.
Info
See the Etendo Interactive Configuration guide for details on adding configuration to custom modules.
Troubleshooting
Common Issues
Interactive Mode Not Starting
# Ensure you're using the correct flags
./gradlew setup -Pinteractive=true --console=plain
# If issues persist, stop Gradle daemon and retry
./gradlew --stop
./gradlew setup -Pinteractive=true --console=plain
Password Input Visible
- Use a proper terminal (not IDE console)
- Ensure TTY allocation for remote sessions:
ssh -t
Configuration Not Applied
- Check file permissions on
gradle.properties
- Look for backup files indicating partial success
- Verify no temporary files remain