2021-10-30 18:56:54 -04:00
# Getting started
## Preparing for running the backend code
**ToDo:** Document how to setup development environment using docker.
1. Clone the repository with `git clone https://github.com/hedgedoc/hedgedoc.git`
(cloning is the preferred way, but you can also download and unzip a release)
2. Enter the directory and run `yarn install` .
3. Run `cp .env.example .env` to use the example configuration.
Alternatively, set up a [.env ](../config/index.md ) or set up
[environment variables ](../config/index.md ) yourself.
4. Run `openssl rand -hex 16 | sed -E 's/(.*)/HD_SESSION_SECRET=\1/' >> .env` to generate a session secret if you have not set one manually before.
2021-12-15 16:22:11 -05:00
## Preparing for running the frontend code
2021-10-30 18:56:54 -04:00
**ToDo:** Document how to setup development environment using docker.
1. Clone the repository with `git clone https://github.com/hedgedoc/react-client.git`
(cloning is the preferred way, but you can also download and unzip a release)
2. Enter the directory and run `yarn install` .
2021-12-14 05:37:12 -05:00
## Running Hedgedoc with auto-reload
2021-10-30 18:56:54 -04:00
2021-12-14 05:37:12 -05:00
We will run Hedgedoc in development mode, which means the backend and frontend will automatically rebuild or restart when you make changes.
2021-10-30 18:56:54 -04:00
The commands will stay active in your terminal, so you will need multiple tabs
to run both at the same time.
2021-12-15 16:22:11 -05:00
1. Enter the `react-frontend` directory and use `yarn start:for-real-backend` if you want webpack to continuously rebuild the frontend code. The frontend will expect a running backend at port 3000.
2021-10-30 18:56:54 -04:00
2021-12-15 16:22:11 -05:00
**Note:** You can run `yarn start` to start a frontend with an integrated, mocked API. This may support more features than the real backend.
2021-10-30 18:56:54 -04:00
2021-12-15 16:22:11 -05:00
2. To start the server in auto-reload mode, enter the `hedgedoc` directory and run `env NODE_ENV=development yarn start:dev` .
2021-10-30 18:56:54 -04:00
## Testing
2021-12-21 04:37:11 -05:00
- After starting both frontend and backend, Hedgedoc will be available at `http://localhost:3000` .
2021-12-14 05:37:37 -05:00
2021-12-21 04:37:11 -05:00
**Note:** If you only started the frontend, it will be available at `http://localhost:3001` .
**Note:** If you want to use Hedgedoc with the real backend, point your browser at `http://localhost:3000` , as the backend proxies requests to the frontend and you'll get CORS errors if you try to use the frontend directly.