44 lines
951 B
Docker
44 lines
951 B
Docker
# Dockerfile for the laravel.io application
|
|
|
|
FROM ubuntu:22.04
|
|
|
|
ARG SEED_DATA="false"
|
|
|
|
RUN apt update
|
|
# install system dependencies
|
|
RUN apt install software-properties-common git -y
|
|
|
|
RUN git clone https://github.com/laravelio/laravel.io.git /app/laravel
|
|
|
|
WORKDIR /app/laravel
|
|
|
|
RUN mv .env.example .env
|
|
|
|
# add php apt repo
|
|
RUN add-apt-repository ppa:ondrej/php
|
|
|
|
RUN apt update
|
|
|
|
# install app dependencies
|
|
RUN DEBIAN_FRONTEND=noninteractive TZ=Europe/Lisbon apt install php8.2 php8.2-simplexml php8.2-curl php8.2-dom composer npm -y
|
|
|
|
ENV DB_CONNECTION=mysql
|
|
ENV DB_HOST=laraveldb
|
|
ENV DB_DATABASE=laravel
|
|
ENV DB_USERNAME=myuser
|
|
ENV DB_PASSWORD=password
|
|
|
|
RUN composer install
|
|
|
|
RUN php artisan key:generate
|
|
|
|
# seed data if build arg is provided
|
|
RUN if [ "$SEED_DATA" = true ]; then php artisan migrate --seed; fi
|
|
|
|
EXPOSE 8000
|
|
|
|
RUN npm install
|
|
RUN npm run build
|
|
|
|
#Open on port 8000 to all addresses
|
|
ENTRYPOINT php artisan serve --port=8000 --host=0.0.0.0
|