There are different ways to get Meh up and running. You can use Docker, Docker Compose, or set it up manually on your server.
Meh is available as a Docker image for easy deployment. It's based on the official PHP image and includes everything you need to run Meh.
Images are available on the GitHub Container Registry (GHCR) and Docker Hub.
To start the container use:
docker run --name meh -p 8080:80 -v meh-data:/app/data splitbrain/meh:latest
To run the command line tool use:
docker exec meh /app/meh
Use the command line tool to initialize the database and configure your installation. Configuration can also be done via environment variables.
Docker Compose makes it easy to define and manage your Meh deployment configuration. Here's a minimal example:
services:
meh:
image: splitbrain/meh:latest
ports:
- "8080:80"
volumes:
- ./data:/app/data
restart: unless-stopped
Start the container with:
docker-compose up -d
To run the command line tool use:
docker-compose exec meh /app/meh
Use the command line tool to initialize the database and configure your installation. Configuration can also be done via environment variables.
Of course, you can run the whole thing the classical way.
- PHP 8.1 or higher
- SQLite extension for PHP
- Composer (for installation)
- Node.js and npm (for building the frontend)
- Web server (Apache, Nginx, etc.)
-
Clone the repository:
git clone https://github.com/splitbrain/meh.git cd meh
-
Install backend dependencies:
cd backend composer install --no-dev cd ..
-
Build the frontend:
cd frontend npm install npm run build cd ..
-
Point your web server to the
public
directory
Use the command line tool to initialize the database and configure your installation. Configuration can also be done via environment variables.
Meh requires URL rewriting to work correctly. There's a .htaccess
file included that handles this for Apache. For other web servers, you need to configure URL rewriting manually.