* hegedoc was once called codiMD, so container, config and users are still called codimd.
**Do NOT change this** unless you're activly migrating the service (with container, database and all) to the new name.
Everything userfacing is already renamed.
* there is a second instance named **pad-i4f** running for embedding into nextcloud.
# Troubleshooting
## Basic
Usually if hedgedoc dies, it's because postgres wasn't ready yet and the translation layer dosen't understand the wait message. Just restart hedgedoc in the container:
```
sudo nixos-container root-login codimd
systemctl restart hedgedoc
```
Sometimes restarting nginx fixes the problem. To do so run:
```
sudo systemctl restart nginx
```
As a last basic step try restarting the container as a whole:
```
sudo systemctl restart container@codimd
```
### Advanced
log into the container and take a look at the logs
sudo nixos-container root-login codimd
journalctl -e
#### fixing failed database upgrades
In some cases, HedgeDoc might apply migrations without correctly saving the progress. In these cases, HedgeDoc will refuse to start with “already exists”-errors like ERROR: type "enum_Notes_permission" already exists.
Get the name of the failing migration and append .js to it. For example, if you encounter this error
== 20180306150303-fix-enum: migrating =======
ERROR: type "enum_Notes_permission" already exists
the name of the failed migration would be 20180306150303-fix-enum.js.
The SQL-statement may look like this:
INSERT INTO "SequelizeMeta" (name) VALUES ('20180306150303-fix-enum.js');
Make sure HedgeDoc does not run and insert the name into the SequelizeMeta table.
Enter the container switch to the postgres user, open psql and commect to the codimd dataase:
su postgres
psql
\l
\c codimd
[ RUN adjusted SQL STAMEMENT from above ]
\q
Start HedgeDoc again and observe if it starts correctly. It may be necessary to repeat this process and insert multiple migrations into the SequelizeMeta table.