Jump to content

Logistack Requirements

From Logistack
Revision as of 03:59, 7 October 2025 by Lee Miller (talk | contribs) (Created page with "= LogiStack Pro — Server Requirements = This page lists supported environments and sizing guidance for running LogiStack Pro (web app, customer portal, admin). == Summary == * Application stack: PHP + MySQL or MariaDB on Apache or Nginx * Operating system: Linux preferred (Ubuntu/Debian/Alma/Rocky); Windows Server possible * Access: HTTPS required; SMTP needed for outbound mail * Storage: Local disk for POD images and invoice PDFs; delivery videos are hosted external...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

LogiStack Pro — Server Requirements

This page lists supported environments and sizing guidance for running LogiStack Pro (web app, customer portal, admin).

Summary

  • Application stack: PHP + MySQL or MariaDB on Apache or Nginx
  • Operating system: Linux preferred (Ubuntu/Debian/Alma/Rocky); Windows Server possible
  • Access: HTTPS required; SMTP needed for outbound mail
  • Storage: Local disk for POD images and invoice PDFs; delivery videos are hosted externally and linked

Minimum (dev or small single site)

  • Web server: Apache 2.4+ or Nginx 1.18+
  • PHP: 8.1+ (8.2/8.3 recommended)
  • Database: MySQL 8.0+ or MariaDB 10.5+
  • CPU and RAM: 1 vCPU, 1–2 GB RAM
  • Disk: 10–20 GB
  • TLS: Valid HTTPS certificate
  • Mail: Authenticated SMTP account
  • OS: Ubuntu LTS (22.04 or 24.04) or equivalent
  • Web server: Nginx with PHP-FPM, or Apache 2.4 with PHP-FPM
  • PHP: 8.2+ with OPcache enabled
  • Database: MySQL 8.0.34+ or MariaDB 10.6+ (local or managed)
  • CPU and RAM: 2–4 vCPU, 4–8 GB RAM (scale with drivers and customers)
  • Disk: 50–100 GB SSD (separate volume for /uploads)
  • Backups: Daily database dumps and file snapshots (retain 30 days)
  • Monitoring: Uptime, disk usage, and error log alerts

Required PHP extensions

  • pdo_mysql
  • mbstring
  • intl
  • openssl
  • curl
  • json
  • fileinfo
  • zip
  • gd or imagick
  • opcache

Suggested php.ini settings

memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 60
expose_php = Off
date.timezone = Europe/London
session.cookie_httponly = 1
session.cookie_secure = 1
opcache.enable = 1

Database settings

  • Engine: MySQL 8.0+ or MariaDB 10.5+
  • Charset and collation: utf8mb4 / utf8mb4_unicode_ci
  • Grant a least-privilege application user to the app database.

Example SQL (adjust names and passwords)

CREATE DATABASE logistack DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'logistack'@'%' IDENTIFIED BY 'strong-password';
GRANT ALL PRIVILEGES ON logistack.* TO 'logistack'@'%';
FLUSH PRIVILEGES;

File storage

  • Create writable folders for uploads, for example:
    • /uploads/pod
    • /uploads/invoices
  • The web server user must have read and write permissions on these paths.
  • Recommended permissions: directories 755, files 644.
  • Videos are not stored on the server; only the link is saved.

Email (SMTP)

  • Required for sending invoice PDFs and notifications.
  • Needs host, port, username, password, and TLS (typically port 587 or 465).

HTTPS and security

  • Enforce HTTPS (TLS 1.2+).
  • Consider HSTS after confirming HTTPS is stable across the site.
  • Keep OS, web server, PHP, database, and extensions up to date.

Cron jobs (recommended)

  • Nightly database backup
  • Log rotation
  • Optional: mail retry queue and temporary file cleanup

Example crontab line (02:15)

15 2 * * * /usr/bin/mysqldump -ulogistack -p'***' logistack | gzip > /backups/logistack-$(date +\%F).sql.gz

Firewall and ports

  • Inbound: 80 (HTTP) and 443 (HTTPS)
  • Outbound: 443 for SMTP/API endpoints and video embeds
  • Restrict SSH (22) to admin IPs only

Sizing notes

  • POD images: approx. 0.3–1.5 MB each
  • Invoice PDFs: approx. 30–300 KB each
  • Start with 50–100 GB for /uploads; review quarterly

Troubleshooting

  • Blank page or 500: check web server and PHP error logs; confirm required PHP extensions.
  • Upload failures: increase upload_max_filesize and post_max_size; verify folder permissions.
  • Emails not sending: verify SMTP credentials and connectivity; try port 587 with TLS.
  • Thumbnails not generating: confirm gd