How to install?

My version of HedgeDoc is: 1.9.6
Host OS: Ubuntu 20.04.5 LTS
NodeJS version: v16.18.1

I already tried:

Based on:

  1. I install docker, docker-compose
  2. I create docker-compose.yaml
  3. I run docker-compose up

Config

mhanusek@hedgedoc:~$ cat ./docker-compose.yml 

version: '3'
services:
  database:
    image: postgres:13.4-alpine
    environment:
      - POSTGRES_USER=hedgedoc
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=hedgedoc
    volumes:
      - database:/var/lib/postgresql/data
    restart: always
  app:
    # Make sure to use the latest release from https://hedgedoc.org/latest-release
    image: quay.io/hedgedoc/hedgedoc:1.9.6
    environment:
      - CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc
      - CMD_DOMAIN=localhost
      - CMD_URL_ADDPORT=true
    volumes:
      - uploads:/hedgedoc/public/uploads
    ports:
      - "3000:3000"
    restart: always
    depends_on:
      - database
volumes:
  database: {}
  uploads: {}

What I expected to happen:

Working hedgedoc on my machine

What actually happened:

mhanusek@hedgedoc:~$ docker-compose up
Starting mhanusek_database_1 ... done
Starting mhanusek_app_1      ... done
Attaching to mhanusek_database_1, mhanusek_app_1
database_1  | 
database_1  | PostgreSQL Database directory appears to contain a database; Skipping initialization
database_1  | 
database_1  | 2023-02-01 12:21:40.428 UTC [1] LOG:  starting PostgreSQL 13.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.3.1_git20210424) 10.3.1 20210424, 64-bit
database_1  | 2023-02-01 12:21:40.428 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
database_1  | 2023-02-01 12:21:40.428 UTC [1] LOG:  listening on IPv6 address "::", port 5432
database_1  | 2023-02-01 12:21:40.557 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
database_1  | 2023-02-01 12:21:40.733 UTC [20] LOG:  database system was interrupted; last known up at 2023-02-01 12:18:44 UTC
database_1  | 2023-02-01 12:21:41.458 UTC [20] LOG:  database system was not properly shut down; automatic recovery in progress
database_1  | 2023-02-01 12:21:41.478 UTC [20] LOG:  redo starts at 0/1616E10
database_1  | 2023-02-01 12:21:41.478 UTC [20] LOG:  invalid record length at 0/16171A0: wanted 24, got 0
database_1  | 2023-02-01 12:21:41.478 UTC [20] LOG:  redo done at 0/1617168
database_1  | 2023-02-01 12:21:41.700 UTC [1] LOG:  database system is ready to accept connections
app_1       | 2023-02-01T12:21:44.603Z warn: 	Session secret not set. Using random generated one. Please set `sessionSecret` in your config.json file. All users will be logged out.
app_1       | 2023-02-01T12:21:44.979Z info: 	All migrations performed successfully
app_1       | 2023-02-01T12:21:44.989Z info: 	HTTP Server listening at 0.0.0.0:3000
app_1       | 2023-02-01T12:22:01.186Z info: 	10.20.90.24 - - [01/Feb/2023:12:22:01 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
app_1       | 
root@0e3c0897420e:/hedgedoc# cat ./config.json
{}

Hello @mhanusek,

welcome to the community forum.

If you run your instance via docker-compuse the configuration is meant to go in the compose file. All of the config options have a environment variable equivalent as well for this reason.

In regards to your interface, I think this from our FAQ maybe helpful: FAQ - HedgeDoc

Greetings,
DerMolly

I tried add:

    environment:
      - CMD_DOMAIN=10.20.2.150
      - CMD_PROTOCOL_USESSL=true
      - CMD_PORT=443
      - CMD_URL_ADDPORT=false
    ports:
      - "443:443"

but it not working.

Your database is also telling you that it could not probably start. I suggest you investigate this further.