Get Started in Minutes
This quick start guide will help you set up OpenEyes for development using Docker Compose. This is the fastest way to get a working OpenEyes instance running on your machine.This guide is for development and testing purposes. For production deployment, see the Installation Guide.
Prerequisites
Before you begin, ensure you have the following installed:1
Docker Desktop
Install Docker Desktop (includes Docker Compose)
- macOS/Windows: Download Docker Desktop
- Linux: Install Docker Engine and Docker Compose separately
2
Git
Install Git for cloning the repository
3
System Requirements
- RAM: Minimum 4GB (8GB recommended)
- Disk: 10GB free space
- Ports: 7777 (HTTP) and 7743 (HTTPS) available
Quick Installation
1
Clone the Repository
Clone the OpenEyes repository from GitHub:
The default branch is
master (stable). For bleeding-edge development, use git checkout develop2
Configure Environment Variables
Create a Add the following configuration:
.env file in the .devcontainer directory:.env
3
Start the Services
Launch the OpenEyes stack using Docker Compose:This will start two containers:Wait for the message indicating the web server is ready (typically 2-3 minutes on first run).
db- MySQL database with sample dataweb- Apache/PHP web server with OpenEyes application
4
Access OpenEyes
Once the containers are running, access OpenEyes in your browser:HTTP: http://localhost:7777HTTPS: https://localhost:7743
Default login credentials:
- Username:
admin - Password:
admin(or as configured in your sample database)
Docker Compose Configuration
The development environment uses the following configuration from.devcontainer/docker-compose.yml:
Key Environment Variables
Common Development Tasks
Running Database Migrations
Apply database schema changes:Installing PHP Dependencies
Update Composer dependencies:Viewing Logs
Application logs:Accessing the Database
Connect to MySQL:Running Tests
Execute PHPUnit tests:Working with Modules
Installing Additional Modules
Set theMODULES environment variable to automatically install specific modules:
.env
Available Modules
Common modules included in OpenEyes:OphCiExamination- Clinical examination (core)OphCoCorrespondence- Letters and correspondenceOphDrPrescription- Prescription managementOphCoTherapyapplication- Therapy applicationsOphInBiometry- Biometry measurementsOphCoMessaging- Internal messagingGenetics- Genetic testing workflowsPatientTicketing- Queue management
Troubleshooting
Port Already in Use
Port Already in Use
If ports 7777 or 7743 are already in use, modify the port mappings in Then restart:
docker-compose.yml:docker compose up -dDatabase Connection Failed
Database Connection Failed
Ensure the database container is healthy:If needed, recreate the database:
Permission Errors
Permission Errors
Fix file permissions inside the container:
Composer Install Fails
Composer Install Fails
Clear Composer cache and reinstall:
Stopping the Environment
Stop containers (preserves data):Development Workflow
1
Make Code Changes
Edit files in your local repository. Changes are automatically synced to the container via volume mounts.
2
Test Changes
Refresh your browser to see changes. For PHP changes, no restart needed. For configuration changes, restart the web container:
3
Run Migrations
After database schema changes:
4
Commit Changes
Follow the gitflow model:
master- stable releasesdevelop- active developmentfeature/*- new features
Next Steps
Installation Guide
Production installation and configuration
API Reference
Explore the OpenEyes API
Contributing
Contribute to OpenEyes development
Module Development
Learn to create custom modules