Logistack Requirements: Difference between revisions
Appearance
Lee Miller (talk | contribs) |
Lee Miller (talk | contribs) No edit summary |
||
| Line 27: | Line 27: | ||
* Backups: Daily database dumps and file snapshots (retain 30 days) | * Backups: Daily database dumps and file snapshots (retain 30 days) | ||
* Monitoring: Uptime, disk usage, and error log alerts | * Monitoring: Uptime, disk usage, and error log alerts | ||
== Minimum (single site) == | |||
* OpenAI API Key | |||
* Google Maps API key | |||
== Required PHP extensions == | == Required PHP extensions == | ||
Revision as of 04:10, 7 October 2025
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 (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
Recommended (production)
- 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
Minimum (single site)
- OpenAI API Key
- Google Maps API key
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.
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+).
- 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