WallAI turns a short idea into a detailed prompt, sends it to an image model, and returns a wallpaper sized for a phone or a desktop. Users pick from 21 visual styles, write their own description or generate one automatically, preview the result in a device mockup and download the final image. AI providers and models are configured from inside the application, so each installation uses its own OpenAI, Google or Ollama setup.
📦 Installation in three commands
A host only needs Docker Engine and Docker Compose. PHP, Composer, Node.js and Redis are packaged inside the deployment instead of becoming prerequisites for the operator.
git clone https://github.com/lauroguedes/wallai.git cd wallai ./bin/wallai install
The installer creates its secrets, starts the required services, runs migrations, performs deployment checks and exposes the application on http://localhost:8080, bound to the host loopback interface by default.
For a server deployment, pass a domain and an immutable release version to enable the bundled Caddy proxy and obtain a TLS certificate:
./bin/wallai install --domain wallai.example.com --version 2.1.1
✨ Features
- 🎨 21 visual styles with automatic or hand-written prompts
- 📱 Device mockups — preview each wallpaper on a phone or monitor before downloading
- 🔑 Bring your own provider — OpenAI and Google for text and images, Ollama for local text models
- 👤 Accounts or private workspaces — authenticated users, or an anonymous browser workspace
- 🐳 Multi-architecture images for Linux
amd64andarm64via GitHub Container Registry - 🔒 HTTPS included — bundled Caddy proxy, or drop it behind your existing reverse proxy
- 🌗 Persistent light and dark themes with adaptive logo, favicon and PWA assets
🧱 Runtime architecture
The same immutable image runs in four roles: init runs migrations and diagnostics, web serves Laravel through FrankenPHP, horizon processes generation and invitation queues, and scheduler runs scheduled tasks and records a health heartbeat. Redis runs as a separate authenticated service on the private Docker network with no published host port.
Built with Laravel 13, Livewire 4, the Laravel AI SDK, MaryUI, Tailwind CSS 4 and DaisyUI 5, on PHP 8.5 and FrankenPHP. SQLite by default, with PostgreSQL, MySQL and MariaDB available.




