[SUPPORT] EUROTIMMY - Reactive Resume v4 (RxV4)


Recommended Posts

Welcome to the support of Reactive Resume V4.

 

I appreciate people forgiving me for the extended time between my publishing the Unraid template in CA and eventually getting seen in here to provide better support / documentation.

Sometimes life throws you a curve-ball, maybe Reactive Resume V4 can help you knock that ball out of the park!!

 

I created a video and uploaded it to YouTube, showing an end-to-end walkthrough of my specific installation... 

To be clear, creating a video for YouTube is not within my wheelhouse so I take any feedback / constructive critisisms openly.

 

Also...

Github README and supporting information / files
 

Edited by Eurotimmy
Update to include YouTube video
  • Like 1
Link to comment
  • 2 weeks later...
  • 1 month later...

Ok, I ended up getting it running!

 

For support containers I used:

  • cheesemarathon's minio container
  • jj9987's postgresql15 container
  • A75G's redis continer (jj9987 also had a redis container, but I was already using it for immich, I'm guessing I can get them to share but didn't look into it yet just wanted things up and running)
  • Masterwishx's browserless container

For configuration stuff:

You will need the chrome token, access token, storage key access, and storage key secret EUROTIMMY mentions for this setup. You can follow the directions from EUROTIMMY to randomly create them, that is what I did.

I also realized I wrote "check for port conflicts" under every container, so I'm just going to mention that up here. You should always check for conflicts when installing any containers, unraid lets you expand the "Show docker allocations" option at the bottom of a container setup page to see all containers and their active ports.

 

Minio

Not much to do here, the MINIO_ROOT_USER should be set to your "storage key access" value that you generated and your MINIO_ROOT_PASSWORD should be set to the "storage key secret" you generated

 

POSTGRESQL15

Set a username and password, you can pick anything and you'll need them again for the reactive resume config. I didn't bother changing the DB name off the default "postgres". Verify you have a valid database storage path.

 

redis

Set "allow empty password" to "no". I didn't change anything else here and it had already populated a string of digits for the default password which I kept.

 

Browserless

Add a variable named "chrome token" with the KEY of "TOKEN" and VALUE of the randomly generated chrome token.

 

Ok, now moving on the application itself. Once the support containers are in place you can configure and launch EUROTIMMY's reactive resume V4 container. There is quite a bit to configure but it is all pretty straightforward:

 

If you're doing reverse proxying put your URLs in the PUBLIC_URL and STORAGE_URL. From what I can tell public url is the login page and storage url will display your "default" resume to anyone who goes to that page.

 

CHROME_TOKEN - enter the same value you entered in the browserless config for the TOKEN variable you created there.

 

CHROME_URL - use "http://<IP>:<PORT>/" for the browserless container

 

DATABASE_URL - this has a specific format of: "postgresql://<USER>:<PASSWORD>@<IP>:<PORT>/<DB_NAME>" the user, password, and db_name should all match the values in your postgresql15 config. For example, my string is something like "postgresql://reactive_user:[email protected]:5432/postgres"

 

ACCESS_TOKEN_SECRET & REFRESH_TOKEN_SECRET - these should be 2 of the 5 values your randomly generated following EUROTIMMY's existing instructions for creating tokens.

 

MAIL_FROM & SMTP_URL - use your email address and the SMTP url. This follows a simmilar pattern to the DATABASE_URL and there is an example string on the container instructions. If you're using gmail, I suggest following EUROTIMMY's instructions in the readme to create an app specific password.

 

STORAGE_ENDPOINT & STORAGE_PORT - the IP and PORT for your Minio container.

 

STORAGE_ACCESS_KEY & STORAGE_SECRET_KEY - these should match the values you used in your Minio config. Make sure you match the strings correctly, the access key and root user should be the same, and the secret key and root password should match each other.

 

REDIS_URL - Another url string simmilar to postgres and the smtp setups. if you used my instructions above for redis, this one should be "redis://default:<PASSWORD>@<IP>:<PORT>" with the password being the value entered on the redis config and the IP and port of the redis container as the IP and PORT

 

I did not need to adjust anything under the "SHOW MORE SETTINGS" heading.

 

I made sure all the support containers were launched and then fired up reactive and it seems to be working!

  • Thanks 1
Link to comment
5 hours ago, daedalusesq said:

Ok, I ended up getting it running!

 

For support containers I used:

  • cheesemarathon's minio container
  • jj9987's postgresql15 container
  • A75G's redis continer (jj9987 also had a redis container, but I was already using it for immich, I'm guessing I can get them to share but didn't look into it yet just wanted things up and running)
  • Masterwishx's browserless container

For configuration stuff:

You will need the chrome token, access token, storage key access, and storage key secret EUROTIMMY mentions for this setup. You can follow the directions from EUROTIMMY to randomly create them, that is what I did.

I also realized I wrote "check for port conflicts" under every container, so I'm just going to mention that up here. You should always check for conflicts when installing any containers, unraid lets you expand the "Show docker allocations" option at the bottom of a container setup page to see all containers and their active ports.

 

Minio

Not much to do here, the MINIO_ROOT_USER should be set to your "storage key access" value that you generated and your MINIO_ROOT_PASSWORD should be set to the "storage key secret" you generated

 

POSTGRESQL15

Set a username and password, you can pick anything and you'll need them again for the reactive resume config. I didn't bother changing the DB name off the default "postgres". Verify you have a valid database storage path.

 

redis

Set "allow empty password" to "no". I didn't change anything else here and it had already populated a string of digits for the default password which I kept.

 

Browserless

Add a variable named "chrome token" with the KEY of "TOKEN" and VALUE of the randomly generated chrome token.

 

Ok, now moving on the application itself. Once the support containers are in place you can configure and launch EUROTIMMY's reactive resume V4 container. There is quite a bit to configure but it is all pretty straightforward:

 

If you're doing reverse proxying put your URLs in the PUBLIC_URL and STORAGE_URL. From what I can tell public url is the login page and storage url will display your "default" resume to anyone who goes to that page.

 

CHROME_TOKEN - enter the same value you entered in the browserless config for the TOKEN variable you created there.

 

CHROME_URL - use "http://<IP>:<PORT>/" for the browserless container

 

DATABASE_URL - this has a specific format of: "postgresql://<USER>:<PASSWORD>@<IP>:<PORT>/<DB_NAME>" the user, password, and db_name should all match the values in your postgresql15 config. For example, my string is something like "postgresql://reactive_user:[email protected]:5432/postgres"

 

ACCESS_TOKEN_SECRET & REFRESH_TOKEN_SECRET - these should be 2 of the 5 values your randomly generated following EUROTIMMY's existing instructions for creating tokens.

 

MAIL_FROM & SMTP_URL - use your email address and the SMTP url. This follows a simmilar pattern to the DATABASE_URL and there is an example string on the container instructions. If you're using gmail, I suggest following EUROTIMMY's instructions in the readme to create an app specific password.

 

STORAGE_ENDPOINT & STORAGE_PORT - the IP and PORT for your Minio container.

 

STORAGE_ACCESS_KEY & STORAGE_SECRET_KEY - these should match the values you used in your Minio config. Make sure you match the strings correctly, the access key and root user should be the same, and the secret key and root password should match each other.

 

REDIS_URL - Another url string simmilar to postgres and the smtp setups. if you used my instructions above for redis, this one should be "redis://default:<PASSWORD>@<IP>:<PORT>" with the password being the value entered on the redis config and the IP and port of the redis container as the IP and PORT

 

I did not need to adjust anything under the "SHOW MORE SETTINGS" heading.

 

I made sure all the support containers were launched and then fired up reactive and it seems to be working!

Thanks for the guide, it helped me get things setup along with OPs.

 

I will note tho, when setting up the redis docker, make sure to run the [chown -R 1001:1001 /mnt/user/appdata/redis/] command. I know, should be obvious but I did overlook it and someone else might.

 

But now I have a weird question, I did enter in my email information for a yahoo account, setup an app password an all, got everything running, went into the resume builder and...who do I log in as? lol Do I make an account?

Link to comment

Hey I have a question.

 

I did everything like it was needed and I can see my stuff in the MinIO console. The PDF and preview of the CV are there. But I get the broken image link in reactive resume and an error when downloading the PDF. Could anyone point me to the broken link that has to be somewhere in resume docker? Because I can download from minio just not from resume. 

  • Upvote 1
Link to comment
On 3/20/2024 at 2:12 PM, gxs said:

Hey I have a question.

 

I did everything like it was needed and I can see my stuff in the MinIO console. The PDF and preview of the CV are there. But I get the broken image link in reactive resume and an error when downloading the PDF. Could anyone point me to the broken link that has to be somewhere in resume docker? Because I can download from minio just not from resume. 

I'm having the same issue, hope someone has a solution for this.

Screenshot 2024-03-21 235638.png

Screenshot 2024-03-21 235745.png

Link to comment
On 3/19/2024 at 7:44 PM, Jobe5150 said:

 

I will note tho, when setting up the redis docker, make sure to run the [chown -R 1001:1001 /mnt/user/appdata/redis/] command. I know, should be obvious but I did overlook it and someone else might.

 

But now I have a weird question, I did enter in my email information for a yahoo account, setup an app password an all, got everything running, went into the resume builder and...who do I log in as? lol Do I make an account?

Nice catch, I was just sort of fumbling through this and didn't see that either, I'm going to try and run the command and see if it fixes the any of the hanging issues I have.

 

As for the account/email, I created a new account using the account creation thing, I think the SMTP stuff just lets the container send emails so that you can do account confirmation and password resets.

 

On 3/20/2024 at 9:12 AM, gxs said:

I did everything like it was needed and I can see my stuff in the MinIO console. The PDF and preview of the CV are there. But I get the broken image link in reactive resume and an error when downloading the PDF. Could anyone point me to the broken link that has to be somewhere in resume docker? Because I can download from minio just not from resume.

 

I am pretty much in the same spot as you. I'm going to try and run the CHOWN command that Jobe5150 mentioned to see if it helps fix the PDF and image issues.

 

16 hours ago, Ejtech said:

I'm having the same issue, hope someone has a solution for this.

 

 

See above, I also have the problem and haven't solve it yet. Hopefully EUROTIMMY has a solution when he finally posts the rest of the guide.

  • Like 1
Link to comment

I'm having the same issues as @daedalusesq and @Ejtech. I can't even access the PDFs in the Minio container either. I see the store and it has objects in the bucket, but just churns and churns on the loading screen when I try to browse to the exported PDFs.

 

The software looks promising and very useful. I have slacked over the years keeping my resume updated, but hopefully this will help me keep it at-the-ready if another company wants to poach me from my current position.

Link to comment

Hello all. I gave this a go today and with a bit of tinkering I got it working, with previews and pdf downloading. What fixed it for me was defining the STORAGE_URL to <MINIO IP>:<MINIO Web UI Port>. I am using nginx-proxy-manager and have one record pointing to <Reactive-Resume-V4 IP>:<Reactive-Resume-V4 PORT>, for the Reactive-Resume-V4 conrtainer's PUBLIC_URL var and one record pointing to minio as I described above for the Reactive-Resume-V4 container's STORAGE_URL var.  Don't forget to append "default" at the end of your STORAGE_URL or to whatever your STORAGE_BUCKET is set to. This page was really helpful for me, thanks for putting this together.

 

I must admit I took inspiration from this guide

Edited by themosm
forgot to add an additional link
  • Like 1
Link to comment
On 3/24/2024 at 6:37 PM, themosm said:

Hello all. I gave this a go today and with a bit of tinkering I got it working, with previews and pdf downloading. What fixed it for me was defining the STORAGE_URL to <MINIO IP>:<MINIO Web UI Port>. I am using nginx-proxy-manager and have one record pointing to <Reactive-Resume-V4 IP>:<Reactive-Resume-V4 PORT>, for the Reactive-Resume-V4 conrtainer's PUBLIC_URL var and one record pointing to minio as I described above for the Reactive-Resume-V4 container's STORAGE_URL var.  Don't forget to append "default" at the end of your STORAGE_URL or to whatever your STORAGE_BUCKET is set to. This page was really helpful for me, thanks for putting this together.

 

I must admit I took inspiration from this guide

 

Hello, thanks this helped a lot to get my instance working! However I would like to note that for STORAGE_URL I had to set it to <MINIO IP>:<MINIO API Port> in order to get PDF downloads working. Hope this helps someone else too!

  • Like 1
Link to comment
12 minutes ago, chandz05 said:

 

Hello, thanks this helped a lot to get my instance working! However I would like to note that for STORAGE_URL I had to set it to <MINIO IP>:<MINIO API Port> in order to get PDF downloads working. Hope this helps someone else too!

Thank you @chandz05 for the tip on changing the port.

 

There was no need for a reverse proxy or any additional complex configurations. The key was to use the Minio web UI port directly in the STORAGE_URL configuration setting in Reactive Resume. This adjustment alone resolved the issue.

I've attached images of my configuration as examples to illustrate the change that was made. It's straightforward and effective.

Reactive resume storage URL.png

minio UI port.png

Link to comment

Yup, I am sorry folks... I took a long time to get started in here due to... well, 'life'.

Please accept my apologies and I hope the video walkthrough I have created will assist in peoples own installations!!

 

Any feedback appreciated!

 

and... I hope you make the resume that lands you the job you'll love! 

  • Thanks 1
Link to comment

This tutorial helped a lot!

 

I tried to reverse proxy the RxV4 and Minio containers and was getting the whole broken images and export issues. I should have set it up locally and THEN tried to reverse proxy it.

 

I do have a question before I tinker more on this. Do all 5 containers need to be reverse proxied? I'm thinking yes because all the dockers need to talk to each other. I can assign a subdomain for each and NPM it together right? Is it that easy?

Link to comment
On 3/30/2024 at 4:37 AM, dallus said:

Do all 5 containers need to be reverse proxied?

Thank you @dallus for giving the tutorial a shot!

I only proxy 2 servers... in my tutorial I use the following settings:
Port 3000 - for Reactive Resume V4 Web UI

Port 9004 - for MinIO file storage

 

In NPM - Proxy Hosts (for example):
cv.mydomain.com >> http://192.168.1.200:3000

cv-store.mydomain.com >> http://192.168.1.200:9004

 

Please note:

Due to me not wanting other (public) users being able to create accounts / resumes's I have Disabled the "cv.mydomain.com" proxy host.

This means your "cv-store.mydomain.com" will still serve your completed resume files publicly for those you share the link to.

Unfortunately the docker env. for disabling public account creation doesn't work...

 



 

Link to comment

Total Unraid + tinkering n00b here.

I followed @Eurotimmy's guide and got it mostly working, I just have a few issues/questions.

 

1. Entering my email in the settings, it doesn't send me a verification link. I've tried the Gmail email address I added in when folllowing along with the YouTube tutorial, as well as trying a separate email, and no verification link.

2. Export as PDF doesn't work. Download JSON works, but Export as PDF results in an about:blank page.

3. How does one delete entries under sections? I added a work experience entry under the Experience section, but now want to delete it. There doesn't seem to be any option to delete that specific experience without deleting the entire Experience section??

 

Screenshots attached for reference.

 

Would really appreciate if anyone was able to have a peek at all this and see if they can spot what I'm doing wrong!

Chrome.png

MinIO.png

Postgres.png

Reactive.png

Redis.png

nas-diagnostics-20240409-1441.zip

Link to comment

Hi @icarus69
I've only been able to look briefly so far.

The PDF looks like it's failing due to the ports being misaligned between Reactive resume and the Chrome container.
Reactive Resume container is pointing at the Chrome container: 192.168.0.229:3010 but you're Chrome container appears to be at :3004
A quick edit to that entry should correct the PDF creation.

 

Link to comment
On 4/4/2024 at 1:44 AM, justinbadal said:

Has anyone figured out a day to disable new user registration?

Personally I have not figured out how to correct this, but instead I don't reverse proxy the Reactive Resume container and only the MinIO container.

I can work on resumes remotely via Wireguard or locally on my server, but having the MinIO container on my NPM reverse proxy will allow anybody with the URL to each resume to download them.

Link to comment
1 hour ago, Eurotimmy said:

Hi @icarus69
I've only been able to look briefly so far.

The PDF looks like it's failing due to the ports being misaligned between Reactive resume and the Chrome container.
Reactive Resume container is pointing at the Chrome container: 192.168.0.229:3010 but you're Chrome container appears to be at :3004
A quick edit to that entry should correct the PDF creation.

 

Thanks, that worked.

Another question I have: because I've listed a lot of different experiences, and because the Experience section is tied to page #1, when exporting the PDF, page #1 is incredibly long.

Is there a way of setting the default page size as A4, so that the page-splitting occurs more normally?

Link to comment
  • 2 weeks later...
On 4/1/2024 at 4:38 PM, Eurotimmy said:

Thank you @dallus for giving the tutorial a shot!

I only proxy 2 servers... in my tutorial I use the following settings:
Port 3000 - for Reactive Resume V4 Web UI

Port 9004 - for MinIO file storage

 

In NPM - Proxy Hosts (for example):
cv.mydomain.com >> http://192.168.1.200:3000

cv-store.mydomain.com >> http://192.168.1.200:9004

 

Please note:

Due to me not wanting other (public) users being able to create accounts / resumes's I have Disabled the "cv.mydomain.com" proxy host.

This means your "cv-store.mydomain.com" will still serve your completed resume files publicly for those you share the link to.

Unfortunately the docker env. for disabling public account creation doesn't work...

 



 



thanks for the tutorial !! it was very helpful  !!

I have a problem download pdf after i use my proxy hosts, just like what you did "

In NPM - Proxy Hosts (for example):
cv.mydomain.com >> http://192.168.1.200:3000

cv-store.mydomain.com >> http://192.168.1.200:9004

Port 3000 - for Reactive Resume V4 Web UI

Port 9004 - for MinIO file storage


PUBLIC_URL -> cv.mydomain.com

STORAGE_URL -> cv-store.mydomain.com/default

"

 

i can not export the pdf either in the LAN or WAN,  can you guide me how to solve this?

 



 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.