Toolvana: production-ready media tools platform (CodeIgniter 4)

- 134-tool registry with programmatic SEO (unique titles/H1/descriptions,
  JSON-LD graphs, sitemap index, canonical 301 enforcement via required filter)
- DB-backed job queue (SKIP LOCKED) with drivers: Ffmpeg, Images (GD),
  Pdf (qpdf/gs/poppler), Youtube (thumbnails), Qr (server-side PNG)
- Security: SSRF guard, MIME validation, rate limits, API-key auth,
  bcrypt admin login, security headers
- Admin panel: dashboard, tools/categories/guides CRUD, SEO audit,
  analytics, job inspector with retry, system health, feature flags
- Docker deployment (nginx + web/api FPM pools + scalable workers),
  PHPUnit suite (19 tests / 1139 assertions), PWA manifest + service worker
This commit is contained in:
deepseek
2026-08-23 07:10:30 +00:00
commit beaf0e1f37
217 changed files with 19619 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Docker deployment environment (copy values, never commit real secrets)
CI_ENVIRONMENT = production
app.baseURL = 'https://your-domain.example/'
app.forceGlobalSecureRequests = true
app.indexPage = ''
database.default.hostname = db
database.default.database = toolvana
database.default.username = toolvana
database.default.password = toolvana
database.default.DBDriver = MySQLi
# generate once: php spark key:generate
encryption.key =
session.driver = CodeIgniter\Session\Handlers\FileHandler
session.savePath = /app/writable/session
site.name = 'Toolvana'
# bcrypt hash of the admin password
site.adminPassword =
site.retentionHours = 2
site.maxUploadMb = 512
site.ytDlpEnabled = false
log.threshold = 4
cache.handler = redis
cache.redis.host = redis