Skip to content

Commit 77a1c18

Browse files
dominic-rdewi-tik
andauthored
website/docs: clarify file upload troubleshooting (#21361)
Co-authored-by: Dewi Roberts <dewi@goauthentik.io>
1 parent 163f56a commit 77a1c18

2 files changed

Lines changed: 31 additions & 2 deletions

File tree

website/docs/customize/files.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Image files are used in authentik to add icons to new applications or sources, a
66

77
authentik provides a centralized file management system for storing and organizing these files. Files can be uploaded and managed from **Customization** > **Files** in the Admin interface. By default, files are stored on disk in the `/data` directory, but [S3 storage](../sys-mgmt/ops/storage-s3.md) can also be configured.
88

9+
If file uploads are missing or unavailable after an upgrade, see [Errors when uploading icons](../troubleshooting/image_upload.md).
10+
911
## Upload and manage files
1012

1113
To upload and use image files, follow these steps:

website/docs/troubleshooting/image_upload.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,46 @@
22
title: Errors when uploading icons
33
---
44

5+
There are two common causes for icon and image upload problems when authentik uses local file storage.
6+
7+
## 1. Permissions problems
8+
59
:::info
6-
This is specific to the Docker Compose installation. If you're running into issues on Kubernetes, please open a GitHub issue.
10+
This section applies to Docker Compose and other deployments that use bind mounts, where host filesystem permissions determine whether authentik can write to the mounted data directory.
711
:::
812

913
This issue is most likely caused by permissions. Docker creates bound volumes as root, but the authentik processes do not run as root.
1014

1115
This will cause issues with icon uploads (for Applications), background uploads (for Flows) and local backups.
1216

13-
To fix these issues, run these commands in the folder of your Docker Compose file:
17+
For Docker Compose, run these commands in the directory of your Compose file:
1418

1519
```shell
1620
sudo chown 1000:1000 data/
1721
sudo chown 1000:1000 custom-templates/
1822
sudo chmod ug+rwx data/
1923
sudo chmod ug+rx certs/
2024
```
25+
26+
Alternatively, If you are using Kubernetes, ensure that the volume mounted at `/data` is writable by the authentik container.
27+
28+
## 2. Legacy `/media` mounts after upgrading
29+
30+
If you upgraded from an older release and existing files still appear, but the upload controls are missing in **Customization** > **Files**, or you cannot upload new files, check your local storage mount path.
31+
32+
Current authentik versions expect local file storage at `/data`, with media files stored under `/data/media`. A legacy mount to `/media` will still allow older files to be read through compatibility handling, while preventing new uploads and file management.
33+
34+
Update your deployment to use the current storage layout.
35+
36+
Examples:
37+
38+
```yaml
39+
# Docker Compose
40+
volumes:
41+
- ./data:/data
42+
- ./data/custom-templates:/templates
43+
```
44+
45+
For Kubernetes deployments, mount your persistent storage at `/data` instead of `/media`.
46+
47+
If you previously stored files under a path mounted to `/media`, move that data so it is available under `/data/media` inside the authentik container.

0 commit comments

Comments
 (0)