Install Etendo - Server Installation
Overview
This guide covers installing Etendo on a production server using the Etendo ISO, which automates the operating system setup and base environment configuration. Copilot and Main UI are included in the base installation and are configured as part of this process.
Prerequisites
- GitHub credentials
- OpenAI API Key — required for Copilot. Use your own key from OpenAI or contact Etendo to get one. For details on supported providers, see the Copilot Installation guide.
Info
The ISO configures the full stack (OS, PostgreSQL, Docker, Tomcat) automatically. No additional system setup is required.
Installation
1. Download the ISO
Download the latest Etendo ISO from the Etendo ISO - Release Notes page.
2. Provision the Server
How you use the ISO depends on your infrastructure:
- Bare metal / physical server: burn the ISO to a USB drive using balenaEtcher (Linux/macOS) or Rufus (Windows), then boot from the USB.
- AWS: an official Etendo AMI is published alongside each ISO release. Find the AMI ID in the Etendo ISO - Release Notes page, then launch a new EC2 instance from it.
- Hetzner Cloud: upload the ISO as a custom image from the Hetzner Cloud Console and create a new server from it. Refer to the Hetzner documentation for details.
- Scaleway: upload the ISO and use custom boot modes to provision an instance from it.
- Other cloud providers: upload the ISO as a custom image and create a new instance from it. Refer to your provider's documentation for importing custom OS images.
- Virtual machine: mount the ISO directly in your hypervisor. Qemu with Virt-Manager (Linux) or UTM (macOS) are recommended options.
3. Boot and Install the OS
Start the system from the ISO. Follow the prompts:
- Network Connections: verify an IP address is correctly assigned and internet access is available.
- Storage Configuration: select the target disk.
- Profile Setup: enter your name, server name, and a password for the
etendouser.
Wait for the operating system installation and server upgrade to complete. When prompted, select Reboot Now.
After the restart, the final server configuration runs automatically. Wait for it to complete — the base environment will be ready.
Installing without internet connection
If no internet connection is available during installation, select Continue without internet at the network configuration step. After the OS installation and reboot, configure the network, connect to the internet, log in as superuser (sudo su), and run etendo-install.
4. Add GitHub Credentials
Once the server is ready, navigate to the project directory and add your GitHub credentials to gradle.properties. To generate them, follow the Use of Repositories in Etendo guide.
5. Apply the Server Template
Run the following task to configure all required variables for the server environment:
When prompted, provide:
- Etendo ERP URL — the full URL of your installation (e.g.,
http://myserver.com/etendo). The context name and host are derived automatically. - OpenAI API Key — your key for Copilot integration (input is masked).
Availability
setup.applyTemplates is available from Etendo 26 onwards, or in earlier versions with the Etendo Gradle Plugin 3.0.0 or higher.
Info
For details about available templates, options, and advanced usage, see the How to Use Setup Apply Templates guide.
Alternative: Manual Configuration
Configure variables directly in gradle.properties and apply them by running:
Alternative: Interactive Setup
For a fully guided, property-by-property configuration, run the interactive setup instead:
For more details, see the How to Use the Interactive Setup guide.6. Start Docker Services
This starts the Copilot and Main UI containers.
7. Compile and Deploy
This creates the database, compiles the sources, and deploys to the local Tomcat directory.8. Configure Apache
From the /opt/EtendoERP directory, run the Apache configuration script:
This configures Apache as a reverse proxy for the server. Once complete, the Main UI and Classic UI URLs are set automatically based on the domain provided.
9. Start Tomcat
Access the Installation
Once all services are running:
| Interface | URL |
|---|---|
| Main UI | https://<server-address>/ |
| Classic UI | https://<server-address>/<context-name> |
Default credentials
User: admin
Password: admin
Change the default password immediately after the first login in a production environment.
This work is licensed under CC BY-SA 2.5 ES by Futit Services S.L.