WallAI is a self-hosted AI wallpaper generator built with Laravel 13, Livewire 4, and the Laravel AI SDK. It supports OpenAI and Google for text and image generation, plus Ollama for local text models.
- Generate mobile and desktop wallpapers in 21 curated styles.
- Configure providers, models, and personal API keys in the application.
- Run with authenticated multi-user workspaces or private browser sessions.
- Invite and manage users when authentication is enabled.
- Process image generation and invitations through dedicated Horizon queues.
- Install on any Docker host without installing PHP, Composer, Node.js, or Redis.
Requirements: Docker Engine 20.10 or newer, Docker Compose 2.15 or newer, and at least 2 GB of available memory.
git clone https://github.com/lauroguedes/wallai.git
cd wallai
./bin/wallai installOpen http://localhost:8080 and complete the first-run setup. The default port only listens on the host loopback interface.
./bin/wallai install --localLocal mode creates an ignored .env.docker, builds the source with Docker, and opens WallAI at http://wallai.localhost:8080. The .localhost hostname resolves to the local machine without DNS or a hosts-file entry. Later commands automatically reuse .env.docker.
| Local value | Purpose |
|---|---|
APP_ENV=local, APP_DEBUG=true |
Enables local diagnostics while testing the current checkout. |
WALLAI_BUILD_LOCAL=true |
Builds the current checkout instead of pulling GHCR. |
WALLAI_IMAGE=wallai, WALLAI_VERSION=local |
Gives the local image a predictable name. |
WALLAI_PROJECT_NAME=wallai-local |
Keeps local containers and volumes isolated. |
APP_URL=http://wallai.localhost:8080 |
Provides a zero-configuration browser URL. |
WALLAI_DOMAIN= |
Disables the public HTTPS proxy locally. |
SESSION_SECURE_COOKIE=false |
Allows the local HTTP session cookie. |
Use --port, --project-name, or --bind-address when the defaults conflict with another local service:
./bin/wallai install --local --port 8090 --project-name wallai-devPoint the domain to the server, allow inbound TCP ports 80 and 443, then run:
./bin/wallai install --domain wallai.example.com --version 2.1.0The installer derives the secure production settings automatically:
APP_URL=https://wallai.example.com
WALLAI_DOMAIN=wallai.example.com
SESSION_SECURE_COOKIE=true
TRUSTED_HOSTS=wallai.example.com
WALLAI_VERSION=2.1.0WallAI will start its automatic HTTPS proxy and obtain a certificate from Let's Encrypt.
Additional install options include --image, --env-file, --port, --bind-address, and --project-name. Run ./bin/wallai install --help for the complete list. SMTP and external database settings remain editable in the generated environment file; see the configuration reference.
./bin/wallai status
./bin/wallai logs
./bin/wallai doctor
./bin/wallai backup
./bin/wallai updateRun ./bin/wallai help for every available command.
- Self-hosting quick start
- Configuration reference
- Architecture and persisted data
- HTTPS and reverse proxies
- Ollama
- Backup and restore
- Upgrading
- Security
- Troubleshooting
- Development
- Maintainer release process
- Changelog
- Security policy
Native development requires PHP 8.4 or newer, Node.js 26 or newer, and Redis. Docker source builds require only Docker. See the development guide.
WallAI is released under the MIT License.