No description
  • Python 69.2%
  • Jinja 13.3%
  • JavaScript 9.2%
  • CSS 4.7%
  • Shell 3%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Stas b33cc64b7e
All checks were successful
Security Scans / Prepare Trivy vulnerability database (push) Successful in 3s
Security Scans / Trivy filesystem/dependency/config scan (push) Successful in 13s
Security Scans / Semgrep SAST (push) Successful in 23s
Security Scans / Trivy image scan (push) Successful in 27s
CI Checks / lint-and-budget (push) Successful in 36s
Build CI Images / test (push) Successful in 41s
Build CI Images / build-and-push (docker/nginx.Dockerfile, plisrael-frontend) (push) Successful in 20s
Build CI Images / build-and-push (docker/openpl-sync.Dockerfile, plisrael-openpl-sync) (push) Successful in 31s
Build CI Images / build-and-push (docker/site-renderer.Dockerfile, plisrael-site-renderer) (push) Successful in 31s
Security Scans / Trivy image scan-1 (push) Successful in 59s
Security Scans / Trivy image scan-2 (push) Successful in 53s
Update psycopg and nginx dependencies
2026-09-06 19:21:28 +03:00
.forgejo Harden blue-green rollout preflight and draining 2026-09-06 16:02:29 +03:00
db Add Smuel Fargeslish lifter alias 2026-08-28 08:13:35 +03:00
deploy Redirect empty lifter routes to rankings 2026-08-05 15:29:42 +03:00
directus Simplify project tooling 2026-08-14 15:22:23 +03:00
docker Update psycopg and nginx dependencies 2026-09-06 19:21:28 +03:00
scripts Harden blue-green rollout preflight and draining 2026-09-06 16:02:29 +03:00
services Add styled CMS content CTAs 2026-08-19 14:06:03 +03:00
static Add styled CMS content CTAs 2026-08-19 14:06:03 +03:00
templates Share records filters safely 2026-08-16 20:29:26 +03:00
tests Harden blue-green rollout preflight and draining 2026-09-06 16:02:29 +03:00
.gitignore Optimize OpenPL sync 2026-08-14 13:43:03 +03:00
.trivyignore security(ci): add Trivy/Semgrep scans with Discord failure notifications 2026-06-16 21:07:28 +03:00
docker-compose.website.yml Add blue-green frontend rollouts 2026-09-06 15:57:27 +03:00
env.website.example openpl-sync: remove legacy source mode, dead env vars, duplicate compute_dots 2026-06-17 15:36:56 +03:00
README.md Simplify project tooling 2026-08-14 15:22:23 +03:00
renovate.json ci: add Renovate for automated dependency updates 2026-06-08 14:53:48 +03:00
requirements.txt Update psycopg and nginx dependencies 2026-09-06 19:21:28 +03:00

Powerlifting Israel

Powerlifting Israel is a community project for following Israeli powerlifting across federations and equipment classes.

What it provides

  • Searchable records, rankings, and lifter profiles.
  • Results sourced from OpenPowerlifting.
  • Editorial pages, posts, updates, sponsors, and site settings managed in Directus.
  • Hebrew, English, and Russian public pages with language alternates for search engines.

How it works

Cloudflare ──► Caddy (TLS) ──► nginx ──► static HTML / JSON / Markdown
                                  ▲
OpenPowerlifting ──► openpl-sync ──► PostgreSQL ──► site-renderer
                                                          ▲
Directus CMS ────────────────────────────────────────────┘
  • openpl-sync checks OpenPowerlifting updates and imports relevant Israeli data.
  • site-renderer checks PostgreSQL and Directus every five minutes, rebuilding the static site only when public inputs changed.
  • Cloudflare caches the public site; Caddy terminates TLS and Nginx serves generated output.
  • Deployments wait for a successful renderer build before purging the Cloudflare host cache.

Project layout

Path Purpose
services/openpl_sync/ OpenPowerlifting import and record recomputation
services/site_renderer/ Static-site rendering and CMS/data loading
templates/ and static/ Public site templates and assets
directus/ CMS schema and permission contract
db/ Database schema
.forgejo/workflows/ Build, CI, deployment, security, and dependency-update workflows
tests/ Renderer, import, schema, and deployment regression coverage

Quality and discoverability

The project uses Forgejo CI to test changes, build images, validate the CMS contract, and render a static-output check. The public site includes canonical URLs, structured data, sitemaps, and language alternates.

For CMS schema details, see directus/README.md.