Skip to main content

Hostinger offers a ready-made Reactive Resume template on its VPS plans. It sets up the Docker containers, the database, file storage and HTTPS for you, so you get your own Reactive Resume server without writing a Compose file. Plans with the template start at $6.49/month.

Deploy on Hostinger
Note

Hostinger sponsors Reactive Resume, and the Hostinger links on this page are partner links. Hostinger builds and maintains the template. If you’d rather set everything up yourself, follow Self-hosting with Docker; it runs the same app.

What the template sets up#

The template deploys a Docker Compose project with five containers:

ContainerPurpose
Reactive ResumeThe app, from the amruthpillai/reactive-resume:latest image.
PostgreSQL 16Stores accounts, resumes, cover letters and applications.
SeaweedFSS3-compatible storage for uploaded pictures and files.
Bucket setupA one-off job that creates the storage bucket, then exits.
Browserless (Chrome)A headless browser. Reactive Resume v6 renders PDFs itself and doesn’t use this container.

The database and storage run on your VPS next to the app, not as separate managed services. Redis isn’t included; a single app container doesn’t need it. See How the pieces fit for what each service does.

The secrets and other required settings are generated for you when the project is created. The app is served at an address like https://<project>.srvXXXX.hstgr.cloud, with an HTTPS certificate from Let’s Encrypt set up by a Traefik proxy on the VPS.

Deploy#

Choose a plan

Open the Reactive Resume template on Hostinger, pick a VPS plan and finish checkout.

Let Hostinger set up the server

Hostinger creates the VPS, installs Docker and starts the Reactive Resume project. The first start also applies the database migrations, so give it a few minutes.

Open your instance

Open the project in Hostinger’s Docker Manager and select its address (https://<project>.srvXXXX.hstgr.cloud).

Create your account

Sign up with your email address; see Creating an account. You’re signed in right away. Until you add SMTP settings, verification emails aren’t sent; their links are written to the app log instead.

Finish the setup#

The template leaves a few things for you to configure. Each one is an environment variable on the Reactive Resume container. Change them in the project’s settings in Docker Manager, or over SSH by editing the project’s Compose file and running docker compose up -d in its folder. The app restarts with the new values.

  • Keep it private. After your own account exists, set FLAG_DISABLE_SIGNUPS="true". Nobody else can sign up; existing accounts keep working.
  • Send real emails. Add the SMTP_* settings from the reference so verification and password-reset emails reach your inbox.
  • Use your own domain. Point a DNS record for the domain at your VPS, add the domain to the project’s proxy settings, and set APP_URL to the new https:// address.
  • Sign in with Google, GitHub or SSO. Add the provider settings from Single sign-on (SSO).
  • Turn on job search and AI. Connect shared Firecrawl and AI services, or let users save their own AI keys. See Job search and AI.
Warning

APP_URL must match the address in the browser’s address bar exactly, including https://. If it doesn’t, sign-in redirects go to the wrong place and session cookies don’t stick.

Update your instance#

The template runs the latest image, which tracks the newest Reactive Resume release. Hostinger doesn’t update a project after it’s deployed, so pulling a new version is up to you:

Back up first

Back up the database and uploads before every update. See Back up your data.

Pull the new image and recreate the app

Redeploy the project from Docker Manager, or over SSH run this in the project’s folder:

The new version applies its database migrations on startup.

Updating from v5? Read Migrating from v5 first.

Back up your data#

Hostinger VPS plans include weekly backups of the whole server. For backups you can restore on their own, or to another host, dump the database and copy the uploads as described in Back up your data. Keep a copy of the generated secrets as well: without the same AUTH_SECRET, a restored instance signs everyone out.

Troubleshooting#

Check the app container’s log in Docker Manager, or run docker compose logs in the project’s folder. Most problems, such as sign-in loops or missing emails, are covered in the Docker guide’s troubleshooting. GET /api/health on your address reports whether the app can reach its database and storage; see Check the health endpoint.

For problems with the VPS itself or the template, contact Hostinger support.