Skip to content

Quick start guide ​

Get EvoNEST running in just a few minutes with this quick installation guide.

Prerequisites

  • Docker Desktop installed and running
  • Git installed
  • Basic familiarity with command line
  • A modern web browser (Chrome, Firefox, Safari, or Edge)

Installation guide ​

Setting up the development environment ​

Before deploying EvoNEST to production, it's recommended to test the application in a development environment. This allows you to verify that everything works correctly and to make any necessary adjustments. If you do not want to do this, you can skip to the Production setup section.

1. Clone the repository ​

bash
git clone https://github.com/daniele-liprandi/EvoNEST-backbone.git
cd EvoNEST-backbone

2. Set up environment files ​

In this repository, you will find already configured environment files for production and development. You should start by editing them to match your environment. The mandatory step is to set up your NEXTAUTH secret. You can generate it by running the following command:

bash
openssl rand -base64 32

Create a new file called .env.local in your project directory with the following content and your key:

txt
NEXTAUTH_SECRET=your-secret-key

The repository includes a docker-compose.dev.yml file with default MongoDB credentials (root:pass). For security, you should change these credentials.

Optional but recommended: Update the MongoDB credentials in docker-compose.dev.yml:

yaml
# Find the mongo_dev service and update:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: pass  # Change this to a secure password

Then create a new file called .env.development with matching credentials:

txt
NEXTAUTH_URL=http://localhost:3005
MONGODB_URI=mongodb://root:pass@mongo_dev:27017
STORAGE_PATH='/usr/evonest/file_storage_dev'

Security Note

If you change the MongoDB password in docker-compose.dev.yml, make sure to update it in three places:

  1. mongo_dev service: MONGO_INITDB_ROOT_PASSWORD
  2. mongo-express service: ME_CONFIG_MONGODB_ADMINPASSWORD and ME_CONFIG_MONGODB_URL
  3. .env.development: MONGODB_URI

3. Start the development environment ​

Make sure that your docker instance is running and execute

bash
docker compose -f docker-compose.dev.yml up -d

This will start:

  • EvoNEST Application: Available at http://localhost:3005
  • MongoDB Database: Running on port 27019 with authentication
  • Admin Tools: Mongo Express tool for managing the database, available at http://localhost:8081

4. Access EvoNEST ​

Open your browser and navigate to http://localhost:3005

Setting up the production environment ​

If you haven't already, make sure to complete Step 1 and Step 2 before proceeding.

The production setup also uses default credentials (root:pass) that you should change for security.

Optional but recommended: Update the MongoDB credentials in docker-compose.yml:

yaml
# Find the mongo service and update:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: pass  # Change this to a secure password

Then create the production environment file .env.production with matching credentials:

txt
NEXTAUTH_URL=http://localhost:3000
MONGODB_URI=mongodb://root:pass@mongo:27017
STORAGE_PATH='/usr/evonest/file_storage'

Security Note

If you change the MongoDB password in docker-compose.yml, make sure to update it in two places:

  1. mongo service: MONGO_INITDB_ROOT_PASSWORD
  2. backup service: MONGO_URI
  3. .env.production: MONGODB_URI

To start the production setup, make sure that your docker instance is running and execute

bash
docker compose -f docker-compose.yml up -d

This will start:

  • Production Server: Available at http://localhost:3000
  • MongoDB Database: Running on port 27017 with authentication
  • Admin Tools: Mongo Express tool for managing the database, available at http://localhost:8081
  • Backup Service: Scheduled backups of the database, making copies of your data every 24 hours for a week, every week for a month, and month for a year.

First login ​

  1. Navigate to the EvoNEST application in your browser
  2. Login using the default credentials:
    • Username: admin
    • Password: pass

Note: We strongly advise to set up Nextauth with a secure provider of your choice, compatible with the rules of your institution. EvoNEST leverages NextJS, meaning that you can use any NextAuth provider, such as Google, GitHub, or custom OAuth providers. For more information, refer to the NextAuth documentation.

Verify installation ​

To ensure everything is working:

  1. Check the dashboard: You should see the main EvoNEST interface
  2. Test navigation: Click through the main menu items (Samples, Traits, Experiments, Settings)

✅ Installation complete!

Next steps ​

Now that you have EvoNEST running:

  1. Configure your NEST: See the NEST setup guide to configure your laboratory's instance
  2. Manage users: Learn about user accounts to add team members
  3. Learn the features: Explore the User documentation for:
    • Sample management
    • Data collection
    • Experiments
    • Data analysis
    • Data export

Getting help ​

If you encounter issues:

For developers ​

Need to customize EvoNEST?

Released under the AGPL License.