Blame

29c2be Ralph Thesen 2024-10-19 11:28:18
Added FAQ entry about running An Otter Wiki in a SELinux environment.
1
# FAQ
2
3
We cover both frequently asked questions and special cases that would polute the documentation here.
4
5
## Installation
6
7
### Environments with SELinux
8
9
To make An Otter Wiki run in an environment with `SELINUX=enforcing` with the methods propose in the [[Installation]] document the bind mounts have to be adjusted.
10
11
When podman gives you the error message
12
```
13
mkdir: cannot create directory '/app-data': Permission denied
14
```
15
please update your `compose.yaml` to
16
```yaml
17
services:
18
otterwiki:
19
image: redimp/otterwiki:2
20
restart: unless-stopped
21
ports:
22
- 8080:80
23
volumes:
24
- ./app-data:/app-data:Z
25
```
26
27
For podman please see the [podman troubleshooting guide](https://github.com/containers/podman/blob/main/troubleshooting.md#2-cant-use-volume-mount-get-permission-denied) for more details and instructions.
28
7d6142 Ralph Thesen 2025-07-13 20:01:28
Added SELinux hint for Caddy
29
In our tests in `rocky:9 docker` configured the permissions even with setting the `:z` flag, please see the [docker documentation about bind mounts](https://docs.docker.com/engine/storage/bind-mounts/#configure-the-selinux-label) for more details.
30
31
#### Caddy as reverse proxy provisioning TLS certificates
32
33
In an environment with `SELINUX=enforcing` where Caddy is used as reverse proxy, it was observed that it is necessary to run
34
```bash
35
setsebool -P httpd_can_network_connect on
36
```
37
to enable Caddy to connect to the internet in order to provision proper TLS certificates.
00f9ff Ralph Thesen 2025-03-07 22:38:39
added entry about the 413 error
38
e974ea Ralph Thesen 2026-08-30 14:14:02
Add FAQ entries for CSRF token expiry and subfolder hosting
39
### The wiki cannot be served from a subfolder
40
41
An Otter Wiki requires a dedicated domain (e.g. `wiki.domain.tld`) and can not be mapped into a subfolder of a domain (e.g. `domain.tld/wiki`). See the requirements in [[Installation|Installation#requirements]].
42
00f9ff Ralph Thesen 2025-03-07 22:38:39
added entry about the 413 error
43
## Errors
44
45
### 413 RequestEntityTooLarge
46
850be8 Ralph Thesen 2026-08-30 13:33:28
Fix MAX_FORM_MEMORY_SIZE default in the FAQ
47
When An Otter Wiki raises the error 413 RequestEntityTooLarge please configure the variable `MAX_FORM_MEMORY_SIZE` which is in bytes and by default `1000000`, see [Configuration](/Configuration#content-and-editing-preferences).
e5497a Ralph Thesen 2026-01-12 22:39:13
Added FAQ item on net.core.somaxconn
48
49
### Listen queue size is greater than the system max net.core.somaxconn
50
51
This was reported to happen when using the `-slim` image on a Synology NAS, see [#342](https://github.com/redimp/otterwiki/issues/342). This can be fixed with increasing the value via sysctl or when using a `docker-compose.yaml` with
52
53
```yaml
54
services:
55
otterwiki:
56
image: redimp/otterwiki:2-slim
57
restart: unless-stopped
58
ports:
31bced Ralph Thesen 2026-08-30 14:05:09
Fix slim image port mapping in the somaxconn FAQ example
59
- 8080:8080
e5497a Ralph Thesen 2026-01-12 22:39:13
Added FAQ item on net.core.somaxconn
60
volumes:
61
- ./app-data:/app-data
62
sysctls:
63
- net.core.somaxconn=1024
64
```
e974ea Ralph Thesen 2026-08-30 14:14:02
Add FAQ entries for CSRF token expiry and subfolder hosting
65
66
### Form submission fails after a tab was left open for a long time
67
68
Symptom: saving a page, logging in or submitting any other form fails after the tab had been open for a long time. Cause: the CSRF token expired. CSRF protection (from version **2.20.0**) is controlled by `WTF_CSRF_TIME_LIMIT`, which defaults to `86400` seconds (24 hours). If your users run into this regularly, raise the value, see [[Configuration|Configuration#security]]. Do not work around it by disabling `WTF_CSRF_ENABLED`, that turns off the CSRF protection entirely.
8eb549 Ralph Thesen 2026-08-30 20:16:05
Add FAQ entry for recovering admin access when locked out
69
70
## Administration
71
72
### I locked myself out
73
74
Symptom: nobody can log into an admin account any more, for example a forgotten admin password, a deleted admin user, or a mail server that is down so the password reset email never arrives. Fix: use the [[command line interface|CLI]], which needs neither a browser nor a working login. Generate a fresh password for your admin user:
75
76
```
77
docker compose exec -u www-data otterwiki flask user password you@example.com --generate
78
```
79
80
The command prints a new password to log in with. If no admin user is left, create one first with `flask user create you@example.com "You" -p admin`. See the [[CLI]] page for running these commands from a source install and for the full command reference.