Requirements¶
Everything runs inside Docker containers: no PHP, Apache, MySQL or Composer installation is required on the host.
Server¶
- A Linux server (the stack is developed and tested on Debian; any distribution supported by Docker works).
- Docker Engine with the Compose plugin (v2 — the
docker composecommand, not the legacydocker-compose). git, to clone the repository and pull updates.
Resources¶
| Resource | Recommendation |
|---|---|
| RAM | 4 GB or more. The default MySQL configuration allocates a 2 GB InnoDB buffer pool; on smaller machines lower --innodb_buffer_pool_size in docker-compose.yml. |
| CPU | No special requirement; 2 cores are plenty for a small/medium instance. |
| Disk | Driven almost entirely by the uploaded content. 3D models in Nexus format typically weigh tens to hundreds of MB each — plan according to the size of your collection, and leave room for database growth and backups. |
Network¶
| Port | Use |
|---|---|
8081 (loopback) |
The web container. Bound to 127.0.0.1 by design: the public traffic should arrive through a reverse proxy. |
3306 (loopback, configurable via DB_PORT) |
MySQL, exposed on the loopback interface only, for administration tools. |
80 / 443 |
Your reverse proxy (Apache or nginx on the host), for public access. |
For public production use¶
- A domain name with a DNS record pointing to the server.
- A TLS certificate — free via Let's Encrypt (certbot).
- An SMTP account for the platform emails (user registration, password reset): host, port, username and password. Ask your institution's IT department.
Optional (development only)¶
- MkDocs with the Material theme (
pip install mkdocs-material) to preview this documentation locally withmkdocs serve. The published documentation is built automatically by GitHub Actions.
Next step: Installation.