--- title: From source --- # (Not recommended): From source :::caution Installing from source is a bad idea in many ways: - No isolation between applications - Dependency conflicts on your root operating system - Cumbersome update process - Permission management - Handling of conflicts Therefore, we highly discourage you from using this as a normal user. This method is only useful, when you want to develop on Homarr or extend it with your own functionality. ::: ## Prerequisites - [Node.js](https://nodejs.org/en/download/) - [pnpm](https://pnpm.io/installation) - [Redis](https://redis.io/download) ## Steps
  1. Clone the Repository using git clone https://github.com/homarr-labs/homarr.git
  2. Enter the created directory using cd homarr
  3. Install all dependencies using pnpm install
  4. Copy the `.env.example` file to `.env` and replace `DB_URL` with the full path you want to use for the sqlite database file. For example `DB_URL='/home/username/homarr/db.sqlite`
  5. Replace `AUTH_SECRET` and `SECRET_ENCRYPTION_KEY` both with a secure random string by using `openssl rand -hex 32`
  6. Replace `CRON_JOB_API_KEY` with a secure random string by using `openssl rand -base64 32`
  7. Run `pnpm run db:migration:sqlite:run` and wait that it completes
  8. Build the source using `pnpm build`
  9. Copy better-sqlite3.node files with `mkdir build` and `cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node`
  10. Start a redis server using `redis-server`
  11. Run the server using `pnpm start`
  12. Open `http://localhost:3000` in your browser