Files
homarr/apps/docs/docs/getting-started/installation/source.mdx
T
Thomas 0ffa95c505 docs: make environment examples safe and current (#6777)
* docs: make SQLite environment example runnable

* docs: remove unsafe source secret examples

* docs(auth): remove unsafe SSO environment values

* docs(auth): clarify OIDC credential placeholders
2026-09-06 15:31:40 +02:00

59 lines
1.8 KiB
Plaintext

---
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
<ol>
<li>
Clone the Repository using <code>git clone https://github.com/homarr-labs/homarr.git</code>
</li>
<li>
Enter the created directory using <code>cd homarr</code>
</li>
<li>
Install all dependencies using <code>pnpm install</code>
</li>
<li>
Copy the `.env.example` file to `.env`. Its `DB_URL='./db.sqlite'` value is ready for local use and stores the
database in the cloned repository. Replace it with an absolute writable path such as
`DB_URL='/home/username/homarr/db.sqlite'` if you want to store the database elsewhere.
</li>
<li>
Run `openssl rand -hex 32` twice and set `AUTH_SECRET` and `SECRET_ENCRYPTION_KEY` to the two different generated
values. Keep both values secret and preserve `SECRET_ENCRYPTION_KEY` with your backups.
</li>
<li>Run `pnpm run db:migration:sqlite:run` and wait that it completes</li>
<li>Build the source using `pnpm build`</li>
<li>
Copy better-sqlite3.node files with `mkdir build` and `cp
./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node`
</li>
<li>Start a redis server using `redis-server`</li>
<li>Run the server using `pnpm start`</li>
<li>Open `http://localhost:3000` in your browser</li>
</ol>