-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmy-FileWizard.xml
More file actions
59 lines (59 loc) · 5.19 KB
/
my-FileWizard.xml
File metadata and controls
59 lines (59 loc) · 5.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0"?>
<Container version="2">
<Name>FileWizard</Name>
<Repository>loredcast/filewizard:latest</Repository>
<Registry>https://hub.docker.com/r/loredcast/filewizard</Registry>
<Network>bridge</Network>
<MyIP/>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support/>
<Project/>
<Overview># https://github.com/LoredCast/filewizard
# https://hub.docker.com/r/loredcast/filewizard/
# https://github.com/LoredCast/filewizard/blob/main/docker-compose.yml

https://old.reddit.com/r/selfhosted/comments/1nlezmf/selfhosted_simple_file_converter_pdf_ocr_and/

Arch: AMD64 (NO ARM)
AI: CPU Only, GPU Roadmap

It was built with FastAPI and vanilla frontend, I might port to svelte if the app gets any more complex, but it works for now and is quite light in code. I know it's just a fancy wrapper for existing tools but I don't always have a cli with me to do simple file conversions on the go. 

Right now it uses:
- ocrmypdf, fasterwhisper, libreoffice, pandoc, ghostscript_pdf, calibre, ffmpeg, vips, graphicsmagick, libjxl, resvg, potrace, pngquant, sox and mozjpeg. 

Let me know which tools you like to be added. 
You can easily include your own tools by going into the docker image, installing a cli and add an entry to the settings.yml for the command template.
I'm aware of ConvertX, Scriberr and paperless-ngx, 
which combined serve the same purpose but I didn't like using them for quick tasks and ConvertX had very little configuration room.

You can also connect the app to an OAuth provider like authelia or voidauth (I tested with voidauth) for user authentication and per-user history and admin roles.

NOTE: This is the first release and I do not recommend hosting this publicly unless you know how to setup the authentication and have some understanding of security since I can't be 100% sure that this can't lead to Exmploits since it deals with executing commands on your machine. I've tried my best to make the command wrapper safe but run at your own risk.</Overview>
<Category/>
<WebUI>http://[IP]:[PORT:8000]</WebUI>
<TemplateURL/>
<Icon>https://avatars.githubusercontent.com/u/43859792?v=4&amp;size=40</Icon>
<ExtraParams/>
<PostArgs/>
<CPUset/>
<DateInstalled>1758349846</DateInstalled>
<DonateText/>
<DonateLink/>
<Requires>Arch: AMD64 (NO ARM)
AI: CPU Only, GPU Roadmap</Requires>
<Config Name="LOCAL_ONLY" Target="LOCAL_ONLY" Default="True|False" Mode="" Description="set to False to enable OIDC auth (requires configuration in settings.yml)" Type="Variable" Display="always" Required="false" Mask="false">True</Config>
<Config Name="SECRET_KEY" Target="SECRET_KEY" Default="" Mode="" Description="if using auth" Type="Variable" Display="always" Required="false" Mask="true">123456</Config>
<Config Name="UPLOADS_DIR=/app/uploads" Target="UPLOADS_DIR" Default="/app/uploads" Mode="" Description="Container Mapping within folder structure" Type="Variable" Display="always" Required="false" Mask="false">/app/uploads</Config>
<Config Name="PROCESSED_DIR=/app/processed" Target="PROCESSED_DIR" Default="/app/processed" Mode="" Description="Container Mapping within Folder Structure" Type="Variable" Display="always" Required="false" Mask="false">/app/processed</Config>
<Config Name="WebUI" Target="8000" Default="8008" Mode="tcp" Description="Expose the website within the container Container Port Default: 8000" Type="Port" Display="always" Required="true" Mask="false">8008</Config>
<Config Name="Config_DIR" Target="/app/config" Default="/mnt/cache/AppData/FileWizard/" Mode="rw" Description="Mount local directories and files into the container for persistence // you can copy settings.default.yml into here as settings.yml" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/AppData/FileWizard/config</Config>
<Config Name="Uploads_DIR" Target="/app/uploads" Default="/mnt/cache/AppData/FileWizard/" Mode="rw" Description="Folder supporting all the uploaded data and temp location" Type="Path" Display="always" Required="false" Mask="false">/mnt/cache/AppData/FileWizard/data</Config>
<Config Name="Processed_DIR" Target="/app/processed" Default="/mnt/cache/AppData/FileWizard/" Mode="rw" Description="Folder for Finished/Completed files" Type="Path" Display="always" Required="false" Mask="false">/mnt/cache/AppData/FileWizard/Processed</Config>
<Config Name="Container Name" Target="container_name:" Default="FileWizard" Mode="" Description="Just an identification flag for the container" Type="Variable" Display="always" Required="false" Mask="false">FileWizard</Config>
<Config Name="UserID" Target="UID" Default="1000" Mode="" Description="User Permissions for Read/Write" Type="Variable" Display="advanced" Required="false" Mask="false">1000</Config>
<Config Name="GroupID" Target="GID" Default="1000" Mode="" Description="Group Folder Permissions" Type="Variable" Display="advanced" Required="false" Mask="false">1000</Config>
<Config Name="UMASK" Target="UMASK" Default="0002" Mode="" Description="UMASK Folder Permissions Read/Write" Type="Variable" Display="advanced" Required="false" Mask="false">0002</Config>
<TailscaleStateDir/>
</Container>