Skip to content

Add Ratelog app to catalog#5301

Draft
golmenero wants to merge 12 commits into
truenas:masterfrom
golmenero:ratelog
Draft

Add Ratelog app to catalog#5301
golmenero wants to merge 12 commits into
truenas:masterfrom
golmenero:ratelog

Conversation

@golmenero

Copy link
Copy Markdown

App Addition

  • I have opened an issue to discuss this app addition before submitting this pull request.

AI

  • Part or All of this PR was generated by an LLM.

Description

Adds ratelog to the community train. Ratelog is a self-hosted media rating application that lets you search, rate, and track movies and TV series.

  • TMDB Integration: Search for movies and TV shows using TheMovieDB API.
  • Detailed Ratings: Rate titles across 5 categories (Directing, Cinematography, Acting, Soundtrack, Screenplay) with automatic average score calculation.
  • Top Lists: Generate ranked lists for movies and series, filterable by year and category.
  • Tracking: Follow upcoming releases and see them grouped by release status.
  • Multi-user Support: Each user has their own private ratings, follows, and top lists.
  • Privacy-focused: No premium tiers, no tracking, just a straightforward tool for your media collection.

App Information

Testing

Tested locally with:

  • basic-values.yaml

All tests passed successfully.

Icons and Screenshots

Please upload the following to the CDN:

  • Icon: logo

  • Screenshot: search

Special Notes

  • I initially built this app for personal use. As it matured, I decided to share it with the TrueNAS community to give back to the open-source ecosystem that has supported me for years.

Checklist

  • App runs successfully locally
  • Only modified files under /ix-dev/ or /library/
  • README.md included
  • Multiple test scenarios tested
  • questions.yaml has clear descriptions and follows structure of existing apps
  • All automated CI checks pass

@golmenero golmenero changed the title Ratelog Add Ratelog app to catalog Jul 4, 2026

@stavros-k stavros-k left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not exhaustive review, but it does not seem ready for review

Comment thread ix-dev/community/ratelog/ix_values.yaml Outdated
images:
image:
repository: ghcr.io/golmenero/ratelog
tag: latest

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no latest

Comment thread ix-dev/community/ratelog/ix_values.yaml
Comment thread ix-dev/community/ratelog/questions.yaml
Comment thread ix-dev/community/ratelog/questions.yaml Outdated
schema:
type: string

- variable: database

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrong place see other apps

Comment thread ix-dev/community/ratelog/questions.yaml Outdated
label: Port Number
schema:
type: int
default: 8080

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

must be unique and above 30k like all other apps

Comment thread ix-dev/community/ratelog/README.md Outdated
@@ -0,0 +1,3 @@
# Ratelog

[Ratelog](https://github.com/golmenero/ratelog) es una aplicación para ratear y registrar películas y series vistas. No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

english only

{% do app.environment.add_env("PORT", values.network.web_port.port_number) %}
{% do app.environment.add_env("TMDB_API_KEY", values.ratelog.tmdb_api_key) %}
{% do app.environment.add_env("POSTGRES_HOST", values.consts.postgres_container_name) %}
{% do app.environment.add_env("POSTGRES_PORT", 5432) %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get_port()

{% do app.environment.add_user_envs(values.ratelog.additional_envs) %}

{# Add port mappings #}
{% if not values.network.host_network %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not needed

Comment on lines +26 to +40
{# Setup permissions container for storage initialization #}
{% set perms = tpl.deps.perms(values.consts.perms_container_name) %}

{# Add PostgreSQL database #}
{% set pg_config = {
"user": values.consts.db_user,
"password": values.ratelog.db_password,
"database": values.consts.db_name,
"volume": values.storage.postgres_data,
} %}
{% set postgres = tpl.deps.postgres(values.consts.postgres_container_name, "postgres_image", pg_config, perms) %}
{% do postgres.container.add_network(ratelog_net) %}

{# Dependencies #}
{% do app.depends.add_dependency(values.consts.postgres_container_name, "service_healthy") %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove useless comments and follow ordering of defining everything in this file based on other apps

{# Define the main application container #}
{% set app = tpl.add_container(values.consts.ratelog_container_name, "image") %}
{% do app.add_network(ratelog_net) %}
{% do app.set_user(568, 568) %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hardcoded run user

@stavros-k
stavros-k marked this pull request as draft July 6, 2026 13:09
@golmenero
golmenero requested a review from stavros-k July 10, 2026 16:00

@stavros-k stavros-k left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if you are doing the changes or an LLM, but there are things before that got removed now and shouldnt, like the depends_on, set_user and probably more.
This is becoming a slippery slop to review..


{% set ratelog_net = tpl.networks.create_internal("ratelog-net") %}

{% set app = tpl.add_container(values.consts.ratelog_container_name, "image") %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not run as specific (user configurable) user?
also lacks postgres dependency.depends_on

Comment thread ix-dev/community/ratelog/ix_values.yaml
Comment thread ix-dev/community/ratelog/questions.yaml Outdated
label: Value
schema:
type: string
- variable: postgres_image_selector

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wrong order

"database": values.consts.db_name,
"volume": values.storage.postgres_data,
} %}
{% set postgres = tpl.deps.postgres(values.consts.postgres_container_name, "postgres_image", pg_config, perms) %}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does not use image selector

@golmenero

Copy link
Copy Markdown
Author

Not sure if you are doing the changes or an LLM, but there are things before that got removed now and shouldnt, like the depends_on, set_user and probably more. This is becoming a slippery slop to review..

I apologize if im not doing it properly. Im pretty new with this type of integrations. For the majority of changes what i did was specifically checking other apps.

@stavros-k

Copy link
Copy Markdown
Contributor

For the majority of changes what i did was specifically checking other apps.

Specifically postgres parts are pretty much the same across the board, so I'm not sure how we ended up here.

Please make sure you copy an existing app that uses the dependencies you need and adjust it.

@golmenero

golmenero commented Jul 10, 2026

Copy link
Copy Markdown
Author

@stavros-k done.

I used an existing docker compose with postgres and customized for my specific app, Hope its better at least :)

@golmenero
golmenero requested a review from stavros-k July 10, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants