Biorix

joined 1 year ago
[–] Biorix@lemmy.world 2 points 1 month ago

Well, I found it to be easier than stainless. I know how to use stainless in theory, but I never managed to use it properly. lol

I realized there's a hipster factor around it but I really find it easy to cook a lot of things without thinking twice. I'm only careful when I clean it.

[–] Biorix@lemmy.world 2 points 5 months ago (1 children)

Yes, that why I recommand jinja. as it can be used in OpenXML as well as latex or anything in plain text.

Let's say you want to place a table that corresponds to a certain pattern, you could add it to your file conditionally. In your Word document, you could add that :

{% for job in jobs %}
   {% if job.style == 1 %}
       {{ job.name }} |  {{ job.date}} | ...
   {% else %}
       - {{ job.name }}
       - {{ job.date}}
       - ...
    {% endif %}
{% endfor %}

I don't know .NET but you can probably call a Jinja tools

Also for the resume, you might be insterested in Rx Resume

[–] Biorix@lemmy.world 1 points 5 months ago (3 children)

I'm using docxtpl which uses jinja placeholder to set values.

For your solution, you should use jinja It's used for whatever text files you want, htlm, txt, latex, MD, etc. And you can put code into the document (see my examples document in the post)

[–] Biorix@lemmy.world 2 points 5 months ago

It used to be integromat. You can look it up more easily, haha

I almost succeeded with it, but to integrate multiple entries in one document, it was too complicated.

So, I'm modifying the code I originally made to make API calls to Airtable, and I assemble the doc with docxtpl

I started by creating an API on my already functioning flask app, so everything can be done through Airtable page. But I was worried about opening an API to the world, so I decided to make a local python app that I'll probably compile to .exe

And yes, I can open source, but it's really tailored to me needs

[–] Biorix@lemmy.world 1 points 5 months ago

Oh wow that looks great! I didn't know about n8n

[–] Biorix@lemmy.world 2 points 5 months ago (2 children)

Nice!

Secretary looks exactly like Docxtemplate, which I used on my homemade webpage. Maybe it's a fork.

It never was really user friendly so I am looking to replace it. That is also the main issue with your self build solution? Or are there other issues as well?

Yes exactly. I need people to be able to use the tools easily and reliably and to be able to add templates themselves.

Also, my main job is not developing tools and I can only do it on my spare time, so the fastest it is to implement the better.

After a week to try, Airtable + Make seems to be the easiest. Airtable also offers to generate documents directly in it, but it lacks options.

My main issue with a lot of tool (except Docxtemplate or similar) is to renders array of data. Most solution replace a {{tag}} with an info, but what I would need is a {{array[i]}} and to be able to generate different paragraphs.

[–] Biorix@lemmy.world 1 points 5 months ago (2 children)

Ha that looks like something I can use!

I think that Airtable + Make is still easier to use with less code, so my colleagues might prefer it over your solution

But I definitely keep that in mind. I have another tool where that might be useful.

[–] Biorix@lemmy.world 1 points 5 months ago (2 children)

Thanks! This look interesting. I can't find the document generation though

[–] Biorix@lemmy.world 1 points 5 months ago

Sorry, my comments and edits seem to fail every time

[–] Biorix@lemmy.world 2 points 5 months ago

Yes, it does have the same option that libreoffice. But this solution would not be better than what I have currently

[–] Biorix@lemmy.world 1 points 5 months ago (6 children)

It is, but the main issue is how to select the values from the database and to render without the user needing to tweak anything

Latex, MD, Word is equivalent (although Word is preferred) since I'll just place universal markers in it

[–] Biorix@lemmy.world 2 points 5 months ago (4 children)

Thank you !

It's pretty much the solution I already have: I generate a doc with DocxTemplate through a webpage made with Flask.

What I'm looking for is a solution with a user-friendly pipeline that can be easily used by anyone once it's set up

Form > generate new entry in a db

Entry > Select entry from tags > generate documents from template

Airtable is already proposing something similar, which is why I'm currently trying it with zapier, Documint, and other automation solutions

I'm looking for a self host solution but mostly a free and polished one

30
submitted 5 months ago* (last edited 5 months ago) by Biorix@lemmy.world to c/selfhosted@lemmy.world
 

I'm looking for a solution to generate document (ideally docx but pdf is ok) from a database

Ex: I have a project entry (with client info, dates, information about the project, etc.) and I want to generate documents from a tender templates, containing selected entries from the database.

Here is what I tried until now :

  • Custom database (tinyDB) + custom webpage form + a docx template with jinja markups served by a homemade webpage hosted on pythonanywhere (lot of work and not reliable as I'm doing everything myself)
  • Nocodb form and database (no document generation yet) (self-hosted or on cloud)
  • Airtable (closed source and on cloud) for forms, database and document generation

Airtable is what I'm currently trying because it's the only one that I found that have lot of support and adds on.

There are a few options on Airtable for document generation, lot of which cost around $30/month which is why I'm looking for a viable alternative. Ideally I would like to be able to upload my already made templates.

More point to the solution if it's supports geodata

I'm considering keeping airtable and using the api to generate document with the python program I used on the first point, but I'd like to know if there is more options.

EDIT2: to be concise: I'm looking for an alternative to Airtable + Make. Ideally, FOSS and self-hostable or on cloud

Edit: precision: I need to create a document that contains multiple items of the db. Ex: I need to create a resume with different experiences that are saved in the database

Here is an example of a template:

 

Recently, Radarr and Sonarr stopped working, and I don't know why or where to look.

Host: Kubuntu 22.04

Kernel: 3.2.0-39-generic (64 bits)

Docker: 24.0.5, build 24.0.5-0ubuntu1~22.04.1

Image: linuxserver/sonarr 3.0.10.1567 and linuxserver/radarr 5.2.6.

Every other app, including other servarr app (readarr, lidarr, etc.) is working

Apps is giving me the following message:

[Info] Bootstrap: Starting Sonarr - /app/sonarr/bin/Sonarr.exe - Version 3.0.10.1567 
[Info] AppFolderInfo: Data directory is being overridden to [/config] 
[Info] Router: Application mode: Interactive 
[Info] MigrationLogger: *** Checking database for required migrations data source=/config/sonarr.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 *** 
[Info] MigrationLogger: *** Checking database for required migrations data source=/config/logs.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 *** 
[Info] OwinHostController: Listening on the following URLs: 
[Info] OwinHostController:   http://192.168.1.100:8989/ 
[Info] OwinHostController:   http://localhost:8989/ 
[Info] SonarrBootstrapper: Starting Web Server 
[Fatal] ConsoleApp: The requested address is not valid in this context. This can happen if another instance of Sonarr is already running another application is using the same port (default: 8989) or the user has insufficient permissions 
Press enter to exit...

I checked, and nothing seems to use the same port:

~$ sudo netstat -nlp | grep 8989
tcp        0      0 0.0.0.0:8989            0.0.0.0:*               LISTEN      48005/docker-proxy  
tcp6       0      0 :::8989                 :::*                    LISTEN      48011/docker-proxy  

And I don't think permission is at fault since other docker apps works fine.

Where should I look to fix that?

Edit: the compose file

version: '3.8'
services:
    Sonarr:
        container_name: sonarr
        image: linuxserver/sonarr
        ports:
        - '8989:8989' # sonarr
        environment:
        - PUID=1000
        - PGID=1000
        - TZ=Canada/Eastern
        volumes:
        - '/etc/timezone:/etc/timezone:ro'
        - '/etc/localtime:/etc/localtime:ro'
        - '/bibliotheque1/configs/sonarr:/config'
        - '/bibliotheque1:/data'
        - '/bibliotheque2:/data2'
        restart: unless-stopped
    radarr:
        container_name: radarr
        image: linuxserver/radarr
        environment:
        - PUID=1000
        - PGID=1000
        - TZ=Canada/Eastern
        ports:
        - '7878:7878'
        volumes:
        - '/etc/timezone:/etc/timezone:ro'
        - '/etc/localtime:/etc/localtime:ro'
        - '/bibliotheque1/configs/radarr:/config'
        - '/bibliotheque1:/data'
        - '/bibliotheque2:/data2'
        restart: unless-stopped

edit2: added all the details of the logs

edit 3:

I don't think the issue is actually the port since I've got the same issue when I'm switching to a different port, and if I stop the container, its ports no longer appears in the netstats commands.

Might be permission issue (but no idea what that would mean in its context) or something else.

Edit 4 and kinda solution

It IS a permission issue, although I'm not getting why it's happening

If the config file is in another volume, the container starts no problem. But if I try to starts with the old directory, it gave the error message.

    volumes:
        - '/bibliotheque1/configs/radarr_test:/config'

But there is no difference in the owner of this repository

Why can't the container access it?

drwxr-xr-x   7 $USER $USER 4096 mar 19  2023 heimdall
drwxr-xr-x   6 $USER $USER 4096 déc 26 11:39 radarr
drwxr-xr-x   6 $USER $USER 4096 déc 26 11:43 radarr_test
drwxr-xr-x   6 $USER $USER 4096 déc 26 11:43 sonarr
drwxr-xr-x   6 $USER $USER 4096 déc 26 11:43 sonarr_test
drwxr-xr-x   4 $USER $USER 4096 aoû 28 23:07 plex

I'll use my backups and use a different directory, but I want to know what went wrong...

view more: next ›