Last updated: February 3, 2026
This page explains the technologies used by Piastro and provides transparency about audience measurement (with no advertising trackers).
Purpose
Piastro aims to be transparent about its technical stack and how usage statistics (if enabled) are collected.
Main components of the stack (by category)
Backend (application)
- Python 3.12 — main runtime
- Django 5.x — web framework
- Gunicorn — WSGI application server
- python-decouple — configuration management via environment variables
- psycopg2-binary — PostgreSQL driver
- python-dateutil — date manipulation utilities
- Python-Markdown + Bleach — rich content rendering and sanitization
Database
- PostgreSQL 16 — primary production database
- SQLite — may be used locally (depending on the dev environment)
Static files / media
- WhiteNoise — serve static files from Django
- Nginx — reverse proxy and static/media delivery in production
Deployment & infrastructure
- Docker — containerization
- Docker Compose — orchestration
- Nginx — TLS + reverse proxy
- Certbot / Let’s Encrypt — TLS certificates
- Ansible — deployment automation, notably for analytics
Analytics (no advertising trackers)
- Plausible Analytics (Community Edition), self-hosted (domain
analytics.piastro.ca) - Plausible dependencies: PostgreSQL + ClickHouse
Front-end (libraries)
Some pages load UI/charting libraries from CDNs:
- Chart.js
- Apache ECharts
- Lucide — icons
- Google Fonts — fonts
Trackers: what Piastro does not use
- No advertising trackers (e.g., Google Analytics/Tag Manager, Meta Pixel, etc.).
- When usage statistics are present, they go through self-hosted Plausible (privacy-oriented solution).
Note: using CDNs (fonts, JS libraries) implies network requests to those providers. If you want a 100% “no external calls” version, contact us — these resources can be self-hosted.
Official links
- Python: python.org
- Django: djangoproject.com
- PostgreSQL: postgresql.org
- Gunicorn: gunicorn.org
- WhiteNoise: whitenoise.readthedocs.io
- python-decouple: pypi.org
- psycopg2: psycopg.org
- python-dateutil: dateutil.readthedocs.io
- Python-Markdown: python-markdown.github.io
- Bleach: bleach.readthedocs.io
- Docker: docker.com
- Docker Compose: docs.docker.com
- Nginx: nginx.org
- Certbot: certbot.eff.org
- Let’s Encrypt: letsencrypt.org
- Ansible: ansible.com
- Plausible: plausible.io
- Plausible — Data Policy: plausible.io/data-policy
- ClickHouse: clickhouse.com
- Chart.js: chartjs.org
- Apache ECharts: echarts.apache.org
- Lucide: lucide.dev
- Google Fonts: fonts.google.com