Self Hosting Guide
LearnHouse Community Edition is designed for self-hosting on your own infrastructure. We use Docker & Docker Compose to make it easy to run LearnHouse on any machine.
For complete installation instructions, please visit the LearnHouse Community Edition repository (opens in a new tab). This repository contains the latest Docker Compose setup, detailed configuration guides, and troubleshooting information.
Quick Start
TLDR: Clone the repository, copy .env.example to .env, configure your admin credentials, and run docker-compose -f docker-compose.yml up -d. Should be ready in less than 2 minutes!
git clone https://github.com/learnhouse/community-edition.git
cd community-edition
cp .env.example .env
# Edit .env with your configuration
docker-compose -f docker-compose.yml up -dPrerequisites
- Docker Engine 20.10+ and Docker Compose 2.0+
- At least 2GB RAM
- 10GB+ disk space
- A domain name (optional, for production; use
localhostfor local development)
Key Features
The Community Edition includes:
- Multi-container architecture with PostgreSQL, Redis, and nginx
- Environment-based configuration via
.envfile - Initial admin setup with configurable credentials
- Production-ready deployment options
- Data persistence with Docker volumes
- Health checks for all services
- Comprehensive monitoring and logging
Important Configuration
Before first start, make sure to set:
LEARNHOUSE_INITIAL_ADMIN_EMAIL: Email for the first admin userLEARNHOUSE_INITIAL_ADMIN_PASSWORD: Password for the first admin userNEXTAUTH_SECRET: Generate withopenssl rand -base64 32LEARNHOUSE_AUTH_JWT_SECRET_KEY: Generate withopenssl rand -base64 32
⚠️ Important: Change the admin password after first login! The default credentials are only for initial setup.
Architecture
LearnHouse Community Edition uses a multi-container architecture:
- learnhouse-app: Combined Next.js frontend and FastAPI backend (includes internal nginx on port 80)
- nginx: Reverse proxy (port 80 externally)
- db: PostgreSQL database
- redis: Redis cache
All containers communicate via a Docker network.
Access LearnHouse
After starting, access LearnHouse at:
- Frontend: http://localhost (opens in a new tab)
Login with the initial admin credentials you configured in .env.
Further Configuration
For detailed information on:
- Environment variables
- Production deployment
- Data persistence and backups
- Monitoring and troubleshooting
- Advanced configuration options
Please visit the LearnHouse Community Edition repository (opens in a new tab).
You can also check our configuration guide for additional LearnHouse-specific settings like AI features, email configuration, S3 storage, and more.
Found bugs?
If you find any bugs or have suggestions, please open an issue on the Community Edition repository (opens in a new tab), we would love to hear from you.
Please include as much information as possible, like the steps to reproduce the bug, the expected behavior and the actual behavior.