Requirements
Install the following on your system:- macOS
- Linux
- Windows
- Docker Desktop: Download
Setup
- Proxmox LXC
- CasaOS
- Ubuntu / Debian
1
Create the container
- In Proxmox, download the Debian 12 CT template.
- Create a new LXC container with:
- RAM: 1024 MB (2048 recommended)
- Disk: 8 GB
- Nesting: enabled (required for Docker)
- Uncheck Unprivileged container — Docker needs a privileged LXC.
- Start the container and open its shell.
2
Install Docker inside the LXC
1
Create a working directory
2
Download the Compose file and env template
3
Configure your environment
Open the Minimum required values:Paste the output (starts with
.env file in your editor:Generate
APP_KEY:base64:) into APP_KEY=.4
Pull and start
5
Default admin account
A default admin account is created automatically on first boot using the credentials in
.env:On every subsequent restart, the account creation step is skipped automatically.
6
Open in browser
Navigate to
https://your-domain.com. Let’s Encrypt issues a certificate automatically on first request (takes ~10 seconds).7
Clone repository
Clone the Zepeed repository to your local machine.
8
Create environment configuration
Copy the example environment file for your target environment. For development:For production:The environment file contains configuration for the application, database, cache, mail, and external services.
9
Configure environment variables
Edit the
.env file to match your deployment requirements. At minimum, set:10
Start containers
Build and start all services in detached mode.Docker Compose will:
- Build the Zepeed application image
- Pull MySQL, Redis, and Mailpit images
- Create containers and networks
- Start all services
11
Initialize database
Run database migrations and seed initial data.
If migrations fail with “No such table” errors, ensure the MySQL container is healthy before retrying. Check with
docker compose ps.12
Generate application key
If you haven’t set Update your
APP_KEY in your .env file, generate it now..env file with the generated key and restart the application:13
Create a user account
Open the Docker terminal for the Follow the interactive prompts to set the user details.
app container and run the following command to create your initial user account:14
Verify installation
Open your browser and navigate to the application URL:You should see the Zepeed login page. Log in with default credentials (if seeded) or create a new account via the application interface.Verify services are running:Expected output shows all containers with status “Up”.
Essential commands
Troubleshooting
Container fails to start
Check logs for error messages:- Port already in use: Change port mapping in
compose.yaml - Insufficient disk space: Clean up with
docker system prune - Permission denied: Ensure Docker daemon is running and you have permissions