A community platform for sharing Electronic Lab Notebook (ELN) archives, experiments, protocols, templates, and research resources. Built to foster collaboration and knowledge sharing in the scientific community.
- ELN Archive Sharing: Upload and share .eln files with the community
- ORCID Integration: Secure authentication using ORCID credentials
- Research Organization Registry (ROR): Link uploads to research institutions via ROR identifiers
- Categorization: Organize content with flexible category system
- RO-Crate Metadata: Rich metadata support for research objects
- Backend: Go 1.24+ with HTTP server and session management
- Database: PostgreSQL for data persistence
- Storage: S3-compatible object storage for file uploads
- Authentication: ORCID OpenID Connect (OIDC) integration
- Frontend: Vanilla JavaScript with esbuild bundling
- Deployment: Docker and Docker Compose ready
- Reverse Proxy: Nginx configuration included
Prerequisites: Docker 20.10+ and Docker Compose 2.0+
The application is configured entirely through environment variables. This guide provides comprehensive information about all available configuration options.
| Variable | Required | Default | Description | Example |
|---|---|---|---|---|
SITE_URL |
Yes | http://localhost |
Full URL where the application will be accessible. Must include protocol and domain. Used for ORCID redirects and internal links. | https://eln.community |
DEV_MODE |
No | 0 |
Enable development mode. Set to 1 for development features like detailed error messages and hot reload support. |
1 |
| Variable | Required | Default | Description | Example |
|---|---|---|---|---|
DATABASE_URL |
Yes | None | PostgreSQL connection string. Must include username, password, host, port, database name, and SSL mode. | postgres://eln:password@localhost:5432/eln?sslmode=disable |
| Variable | Required | Default | Description | Example |
|---|---|---|---|---|
ACCESS_KEY |
Yes | None | S3-compatible storage access key. Required for file upload functionality. | AKIAIOSFODNN7EXAMPLE |
SECRET_KEY |
Yes | None | S3-compatible storage secret key. Keep this secure and never commit to version control. | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY |
BUCKET_NAME |
Yes | None | Name of the S3 bucket where uploaded files will be stored. Bucket must exist and be accessible. | eln-community-files |
REGION |
Yes | None | AWS region or S3-compatible service region where the bucket is located. | us-east-1 or fr-par |
MAX_FILE_SIZE_MB |
No | 1024 |
Maximum allowed file size for uploads in megabytes. Adjust based on your storage capacity and needs. | 2048 |
| Variable | Required | Default | Description | Example |
|---|---|---|---|---|
ORCID_CLIENT_ID |
Yes | None | ORCID OAuth client ID. Obtain from ORCID Developer Tools after registering your application. | APP-1234567890ABCDEF |
ORCID_CLIENT_SECRET |
Yes | None | ORCID OAuth client secret. Keep secure and never expose in client-side code or logs. | 12345678-1234-1234-1234-123456789abc |
The application supports any S3-compatible storage service:
- Create a bucket in your preferred region
- Create IAM user with S3 access permissions
- Use the access key and secret key in configuration