FROM ubuntu:24.04 RUN apt update -y RUN apt upgrade -y RUN apt install -y php curl unzip wget xz-utils php-xml php-curl php-mysql php-pdo php-mbstring RUN rm -rf /var/lib/apt/lists/* USER ubuntu ENV HOME=/home/ubuntu \ PATH=/home/ubuntu/.local/bin:$PATH WORKDIR $HOME RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" RUN php composer-setup.php RUN php -r "unlink('composer-setup.php');" USER root RUN mv composer.phar /usr/local/bin/composer USER ubuntu RUN wget https://nodejs.org/dist/v20.18.1/node-v20.18.1-linux-x64.tar.xz RUN chmod 777 ./node-v20.18.1-linux-x64.tar.xz RUN tar -xf './node-v20.18.1-linux-x64.tar.xz' USER root RUN cp -r $HOME/node-v20.18.1-linux-x64/bin $HOME/node-v20.18.1-linux-x64/include $HOME/node-v20.18.1-linux-x64/lib $HOME/node-v20.18.1-linux-x64/share /usr/ USER ubuntu RUN mkdir example-app WORKDIR $HOME/example-app COPY --chown=ubuntu app/ ./ RUN chmod 777 -R $HOME/example-app RUN composer install RUN cp $HOME/example-app/.env.example $HOME/example-app/.env RUN php artisan key:generate CMD \ sed -i "s|\$DB-DATABASE|$DB_DATABASE|" .env && \ sed -i "s|\$DB-USERNAME|$DB_USERNAME|" .env && \ sed -i "s|\$DB-HOST|$DB_HOST|" .env && \ sed -i "s|\$DB-PORT|$DB_PORT|" .env && \ sed -i "s|\$DB-PASSWORD|$DB_PASSWORD|" .env && \ # composer clear-cache; \ # composer install; \ chown -R ubuntu:ubuntu $HOME/example-app; \ php artisan storage:link; \ chmod 777 -R $HOME/example-app; \ #####php artisan migrate:refresh;\ php artisan migrate; \ #####php artisan migrate:status; \ echo ========== factory PersonaSeeder ============; \ php artisan db:seed --class=PersonaSeeder;\ #####echo ========== factory RolSeeder ============; \ php artisan db:seed --class=RolSeeder;\ #####echo ========== factory DefaultUsuarioSeeder ============; \ php artisan db:seed --class=DefaultUsuarioSeeder;\ php artisan serve --host=0.0.0.0 --port=7860; : > /dev/null 2>&1; \ php -S 0.0.0.0:7860; \ tail -F keep.run #######################FROM ubuntu:24.04 #######################RUN apt update -y #######################RUN apt upgrade -y #######################RUN apt install -y php curl unzip wget xz-utils php-xml php-curl php-mysql php-pdo php-mbstring #######################RUN rm -rf /var/lib/apt/lists/* ####################### #######################USER ubuntu #######################ENV HOME=/home/ubuntu \ ####################### PATH=/home/ubuntu/.local/bin:$PATH #######################WORKDIR $HOME #######################RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" #######################RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" #######################RUN php composer-setup.php #######################RUN php -r "unlink('composer-setup.php');" #######################USER root #######################RUN mv composer.phar /usr/local/bin/composer #######################USER ubuntu ####################### #######################RUN wget https://nodejs.org/dist/v20.18.1/node-v20.18.1-linux-x64.tar.xz ####################### #######################RUN chmod 777 ./node-v20.18.1-linux-x64.tar.xz ####################### #######################RUN tar -xf './node-v20.18.1-linux-x64.tar.xz' ####################### #######################USER root ####################### #######################RUN cp -r $HOME/node-v20.18.1-linux-x64/bin $HOME/node-v20.18.1-linux-x64/include $HOME/node-v20.18.1-linux-x64/lib $HOME/node-v20.18.1-linux-x64/share /usr/ ####################### #######################USER ubuntu #######################RUN mkdir example-app ####################### #######################WORKDIR $HOME/example-app #######################COPY --chown=ubuntu app/ ./ ####################### #######################RUN chmod 777 -R $HOME/example-app ##########################RUN composer install ##########################RUN composer clear-cache ##########################RUN php artisan cache:clear ##########################RUN php artisan config:clear ##########################RUN php artisan config:cache ##########################RUN composer clear-cache #######################RUN composer install ##########################RUN npm install #######################RUN cp $HOME/example-app/.env.example $HOME/example-app/.env ####################### #######################RUN php artisan key:generate ########################RUN mkdir -p $HOME/example-app/public/storage/images ####################### ##########################RUN chmod 777 -R $HOME/example-app ##########################RUN chown -R ubuntu:ubuntu $HOME/example-app ####################### #######################CMD \ #######################ls && \ #######################pwd && \ #######################ls storage -la && \ #######################sed -i "s|\$DB-DATABASE|$DB_DATABASE|" .env && \ #######################sed -i "s|\$DB-USERNAME|$DB_USERNAME|" .env && \ #######################sed -i "s|\$DB-HOST|$DB_HOST|" .env && \ #######################sed -i "s|\$DB-PORT|$DB_PORT|" .env && \ #######################sed -i "s|\$DB-PASSWORD|$DB_PASSWORD|" .env && \ #######################composer clear-cache; \ #######################composer install; \ #######################chown -R ubuntu:ubuntu $HOME/example-app; \ #######################php artisan storage:link; \ #######################chmod 777 -R $HOME/example-app; \ #######################php artisan migrate; \ #######################php artisan migrate:status; \ #######################php artisan serve --host=0.0.0.0 --port=7860; \ #######################php -S 0.0.0.0:7860; \ #######################tail -F keep.run