![]()
Some checks are pending
Docker / build-and-push (backend) (push) Waiting to run
Docker / build-and-push (frontend) (push) Waiting to run
Deploy HD2 docs to Netlify / Deploys to netlify (push) Waiting to run
E2E Tests / backend-sqlite (push) Waiting to run
E2E Tests / backend-mariadb (push) Waiting to run
E2E Tests / backend-postgres (push) Waiting to run
E2E Tests / Build test build of frontend (push) Waiting to run
E2E Tests / frontend-cypress (1) (push) Blocked by required conditions
E2E Tests / frontend-cypress (2) (push) Blocked by required conditions
E2E Tests / frontend-cypress (3) (push) Blocked by required conditions
Lint and check format / Lint files and check formatting (push) Waiting to run
REUSE Compliance Check / reuse (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Static Analysis / Njsscan code scanning (push) Waiting to run
Static Analysis / CodeQL analysis (push) Waiting to run
Run tests & build / Test and build with NodeJS 20 (push) Waiting to run
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
Dockerfile | ||
README.md |
Using HedgeDoc with Docker
Important: This README does not refer to HedgeDoc 1. For setting up HedgeDoc 1 with Docker, see https://docs.hedgedoc.org/setup/docker/.
The Dockerfile
in this repo uses multiple stages and can be used to create both images for development
and images with only production dependencies.
It uses features which are only available in BuildKit - see https://docs.docker.com/go/buildkit/ for more information.
Build a production image
Note: This does not include any frontend!
To build a production image, run the following command from the root of the repository:
docker buildx build -t hedgedoc-prod -f backend/docker/Dockerfile .
When you run the image, you need to provide environment variables to configure HedgeDoc.
See the config docs for more information.
This example starts HedgeDoc on localhost, with non-persistent storage:
docker run -e HD_BASE_URL=http://localhost -e HD_MEDIA_BACKEND=filesystem -e HD_MEDIA_BACKEND_FILESYSTEM_UPLOAD_PATH=uploads -e HD_DATABASE_TYPE=sqlite -e HD_DATABASE_NAME=hedgedoc.sqlite -e HD_SESSION_SECRET=foobar -e HD_LOGLEVEL=debug -p 3000:3000 hedgedoc-prod
Build a development image
You can build a development image using the development
target:
docker buildx build -t hedgedoc-dev -f backend/docker/Dockerfile --target development .
You can then, e.g. run tests inside the image:
docker run hedgedoc-dev yarn run test:e2e