mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-02-11 17:42:10 +00:00
105 lines
3.8 KiB
Markdown
105 lines
3.8 KiB
Markdown
# HedgeDoc Docker Image
|
|
|
|
!!! info "Requirements on your server"
|
|
- [Git](https://git-scm.com/)
|
|
- [Docker](https://docs.docker.com/get-docker/) 17.03.1 or higher
|
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
|
|
|
The official docker images are [available on quay.io](https://quay.io/repository/hedgedoc/hedgedoc).
|
|
We currently only support the AMD64 architecture.
|
|
|
|
|
|
The easiest way to get started with HedgeDoc and Docker is to use the following `docker-compose.yml`:
|
|
|
|
```shell
|
|
git clone https://github.com/hedgedoc/container.git hedgedoc-container
|
|
cd hedgedoc-container
|
|
docker-compose up
|
|
```
|
|
HedgeDoc should now be available at http://127.0.0.1:3000.
|
|
You can configure your container with a config file or with env vars.
|
|
Check out [the configuration docs](/configuration) for more details.
|
|
|
|
## Upgrading
|
|
|
|
!!! warning
|
|
Before you upgrade, **always read the release notes**.
|
|
You can find them on our [releases page](https://hedgedoc.org/releases/).
|
|
|
|
!!! info "Upgrading to 1.7"
|
|
Together with changing the name to "HedgeDoc" the default username,
|
|
password and database name have been changed in `docker-compose.yml`.
|
|
|
|
In order to migrate the existing database to the new default credentials, run
|
|
```shell
|
|
docker-compose exec database createuser --superuser -Uhackmd postgres
|
|
docker-compose exec database psql -Upostgres -c "alter role hackmd rename to hedgedoc; alter role hedgedoc with password 'password'; alter database hackmd rename to hedgedoc;"
|
|
```
|
|
before running `docker-compose up`.
|
|
|
|
You can upgrade to the latest release using these commands:
|
|
|
|
```shell
|
|
cd hedgedoc-container # Enter the directory you previously cloned into
|
|
git pull # Pull new commits
|
|
docker-compose pull # Pull new container images
|
|
docker-compose up # Start with the new images
|
|
```
|
|
|
|
### Migrating from HackMD
|
|
|
|
If you used the [`docker-hackmd`](https://github.com/hackmdio/docker-hackmd) repository before,
|
|
you can migrate to [`hedgedoc-container`](https://github.com/hedgedoc/container).
|
|
|
|
`hedgedoc-container` is a fork of `docker-hackmd`, so you need to replace the upstream URL:
|
|
|
|
```shell
|
|
git remote set-url origin https://github.com/hedgedoc/container.git
|
|
git pull
|
|
```
|
|
|
|
Since both codebases diverged since the fork, we recommend that you read the
|
|
[HedgeDoc release notes](https://hedgedoc.org/releases/) at
|
|
least since 1.6.0 and follow any instructions present there. A particular issue
|
|
that has come up is when handling TLS connections when using a reverse proxy.
|
|
You must [set the `X-Forwarded-Proto` header
|
|
correctly](https://docs.hedgedoc.org/guides/reverse-proxy/).
|
|
|
|
|
|
## Backup
|
|
|
|
If you use a PostgreSQL database, you can leverage this command to create a backup:
|
|
|
|
```shell
|
|
docker-compose exec database pg_dump hedgedoc -U hedgedoc > backup.sql
|
|
```
|
|
|
|
|
|
## Restore
|
|
|
|
If you want to restore your PostgreSQL backup, run these commands before starting the application for the first time:
|
|
|
|
```shell
|
|
docker-compose up -d database
|
|
cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hedgedoc
|
|
```
|
|
|
|
## Custom build
|
|
|
|
The default setting is to use pre-built docker images.
|
|
If you want to build your own containers uncomment the `build` section in the
|
|
[`docker-compose.yml`](https://github.com/hedgedoc/container/blob/master/docker-compose.yml)
|
|
and edit the
|
|
[`config.json`](https://github.com/hedgedoc/container/blob/master/resources/config.json).
|
|
|
|
If you change the database settings and don't use the `CMD_DB_URL` make sure
|
|
you edit the
|
|
[`.sequelizerc`](https://github.com/hedgedoc/container/blob/master/resources/.sequelizerc).
|
|
|
|
## Issues
|
|
|
|
If you have any problems with or questions about this image, please contact us
|
|
through a [GitHub issue](https://github.com/hedgedoc/container/issues).
|
|
|
|
You can also reach many of the project maintainers via our matrix room
|
|
[`#hedgedoc:matrix.org`](https://chat.hedgedoc.org).
|