dockerize the project
This commit is contained in:
69
Dockerfile
69
Dockerfile
@@ -1,58 +1,29 @@
|
||||
FROM alpine:3.18
|
||||
FROM dunglas/frankenphp:1.11.1-php8.2
|
||||
|
||||
RUN apk update && apk add --no-cache\
|
||||
bash \
|
||||
wget \
|
||||
curl \
|
||||
nano \
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends default-mysql-client \
|
||||
unzip \
|
||||
libzip-dev \
|
||||
libxml2 \
|
||||
libxml2-dev \
|
||||
git \
|
||||
zlib-dev \
|
||||
libpng-dev \
|
||||
php81 \
|
||||
php81-common \
|
||||
php81-fpm \
|
||||
php81-pdo \
|
||||
php81-opcache \
|
||||
php81-soap \
|
||||
php81-zip \
|
||||
php81-phar \
|
||||
php81-iconv \
|
||||
php81-cli \
|
||||
php81-curl \
|
||||
php81-openssl \
|
||||
php81-mbstring \
|
||||
php81-tokenizer \
|
||||
php81-fileinfo \
|
||||
php81-json \
|
||||
php81-xml \
|
||||
php81-xmlwriter \
|
||||
php81-xmlreader \
|
||||
php81-simplexml \
|
||||
php81-dom \
|
||||
php81-pdo_mysql \
|
||||
php81-pdo_pgsql \
|
||||
php81-pdo_sqlite \
|
||||
php81-tokenizer \
|
||||
php81-pecl-redis \
|
||||
php81-gd
|
||||
zip \
|
||||
&& docker-php-ext-install pdo_mysql \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||
WORKDIR /var/www/rms
|
||||
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
# Copy Laravel application
|
||||
COPY . .
|
||||
|
||||
ARG MOUNT_PATH
|
||||
# Give permissions to storage and bootstrap/cache
|
||||
RUN chmod -R 777 storage bootstrap/cache
|
||||
|
||||
COPY . /var/www/app
|
||||
|
||||
WORKDIR /var/www/app
|
||||
# Install Composer
|
||||
COPY --from=docker.arvancloud.ir/composer:latest /usr/bin/composer /usr/bin/composer
|
||||
|
||||
# Optional: Run migrations/seeds if you want
|
||||
# CMD php artisan migrate && php artisan db:seed && frankenphp run --config /etc/frankenphp/config.prod.yaml
|
||||
CMD composer install;\
|
||||
php artisan key:generate;\
|
||||
# php artisan migrate ;\
|
||||
# php artisan db:seed;\
|
||||
# php artisan storege:link;\
|
||||
php artisan serve --host=0.0.0.0
|
||||
php artisan migrate;\
|
||||
php artisan db:seed;\
|
||||
cd public;\
|
||||
frankenphp php-server
|
||||
33
docker-compose.yml
Normal file
33
docker-compose.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:10.11.8
|
||||
container_name: rms-mariadb
|
||||
ports:
|
||||
- "3307:3306"
|
||||
environment:
|
||||
MARIADB_DATABASE: ${MARIADB_DATABASE}
|
||||
MARIADB_USER: ${MARIADB_USER}
|
||||
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
|
||||
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- ./2025-11-30:/var/lib/mysql
|
||||
networks:
|
||||
- rms
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: rms
|
||||
ports:
|
||||
- "8003:80"
|
||||
volumes:
|
||||
- ./:/var/www/rms
|
||||
depends_on:
|
||||
- mariadb
|
||||
networks:
|
||||
- rms
|
||||
|
||||
networks:
|
||||
rms:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user