Docker Web Interface — Multi-Server Container Management
PHPMariaDBDockerGitLab CI/CDApache HTTP Server

Docker Web Interface is a PHP web application to administer several Docker hosts from a single dashboard: connect servers over SSH or the Docker socket, then manage containers, images and Dockerfiles.
- Context: BTS SIO professional workshop 3 — CCI Campus Alsace
- Team: two developers — lead developer
- Timeline: 2024–2025 school year
Overview
Managing containers across several machines usually means juggling SSH sessions and CLI commands. This project centralizes it in a secure, fully containerized web control plane that talks to the Docker API of every registered server.
Features
- Servers — register remote hosts, connect through SSH or the Docker socket, and check connection status
- Containers — list running, stopped and failed containers; start, stop, restart, edit or remove them; inspect ports, volumes, environment variables and logs
- Images — list, pull and remove images on each server
- Dockerfiles — create, edit and store custom Dockerfiles centrally, then build them on any connected server
- Users — account management for the super admin, with three permission levels enforced by middleware
Architecture & engineering
- MVC architecture in PHP with Twig templates, a service layer for Docker operations, and security and logging middleware
- MariaDB persistence with hashed passwords, input validation and SQL injection protection
- Fully containerized stack (Apache, PHP, Composer and Docker-in-Docker images) with an HTTPS-only Apache configuration
- GitLab CI/CD pipeline with build, test, SAST security scanning and deployment stages
- Git workflow with feature and hotfix branches, commit conventions and merge request reviews
Documentation
Specifications, architecture, development and installation guides, administration and user manuals, plus class, sequence and data-flow diagrams — all available below.