Install with Docker
Official Docker images and Docker Compose configurations for Inventoros are in progress. Until they land, advanced users can build their own setup with the templates below.
Watch the GitHub repository to get notified when official images are available: https://github.com/Inventoros/Inventoros
Prerequisites
- Docker 24.0 or higher installed
- Docker Compose v2.0 or higher
- At least 2GB RAM and 10GB disk space
What is planned
- Official Docker Hub image (pre-built images ready to pull)
- Docker Compose template for one-command deployment
- Multi-container setup (app, MySQL, Redis, Nginx)
- Volume management for persistent data storage
- Environment configuration via environment variables
- Auto-updates through Watchtower integration
Do-it-yourself setup
For advanced users who want to create their own Docker setup, here is a basic Dockerfile template.
Sample Dockerfile:
FROM php:8.2-fpm
# Install system dependencies
RUN apt-get update && apt-get install -y \
git curl libpng-dev libonig-dev libxml2-dev zip unzip \
nginx supervisor
# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Install Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
RUN apt-get install -y nodejs
# Set working directory
WORKDIR /var/www
# Copy application files
COPY . /var/www
# Install dependencies
RUN composer install --no-dev --optimize-autoloader
RUN npm install && npm run build
# Set permissions
RUN chown -R www-data:www-data /var/www
EXPOSE 9000
CMD ["php-fpm"]
Sample docker-compose.yml:
services:
app:
build: .
volumes:
- ./storage:/var/www/storage
environment:
- DB_HOST=mysql
- DB_DATABASE=inventoros
- DB_USERNAME=inventoros
- DB_PASSWORD=secret
mysql:
image: mysql:8.0
environment:
- MYSQL_DATABASE=inventoros
- MYSQL_USER=inventoros
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=root
volumes:
- mysql_data:/var/lib/mysql
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./public:/var/www/public
- ./nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app
volumes:
mysql_data:
After the containers are up, run the usual setup commands inside the app container (php artisan key:generate, php artisan migrate) or complete setup through the web installer at /install.
Report an issue: https://github.com/Inventoros/Inventoros/issues
Need a hand?
Open an issue or start a discussion on GitHub and the community will help you out.