Spaces:
Running
Running
File size: 8,356 Bytes
ebcfa9f f04cf7c 8bed157 dce0923 148753b 65f5a7c 992488d 148753b 65f5a7c 309c46a 65f5a7c 1eb3cac 65f5a7c 992488d 65f5a7c 40dca3b 65f5a7c 992488d 40dca3b 17fbd96 c518ecd 65f5a7c 770a789 65f5a7c fb164e7 148753b a61abb6 e04c022 992488d e04c022 f04cf7c 8bed157 f04cf7c 21602df 40dca3b dce0923 21602df dce0923 21602df fdee96c 21602df 0c117c4 21602df 40dca3b 21602df 40dca3b 992488d 40dca3b 992488d ef9e3a9 992488d ef9e3a9 992488d ef9e3a9 992488d 40dca3b 21602df 4545968 21602df 243a3d0 21602df 0c117c4 dce0923 21602df 3ec054a 99fcd1f 21602df ebcfa9f 243a3d0 3ec054a 3c5c4e9 326a4ce 33a7042 c518ecd ebcfa9f 4545968 243a3d0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | FROM ubuntu:24.04
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt-get install -y apache2 curl unzip wget xz-utils net-tools procps gnupg
RUN apt-get install -y \
php8.3 \
php8.3-fpm \
php8.3-cli \
php8.3-common \
php8.3-mbstring \
php8.3-xml \
php8.3-mysql \
php8.3-pgsql \
php8.3-sqlite3 \
php8.3-zip \
php8.3-curl \
php8.3-gd \
php8.3-intl
#-------- php-fpm
ENV php_conf /etc/php/8.3/fpm/php-fpm.conf
ENV fpm_conf /etc/php/8.3/fpm/pool.d/www.conf
ENV php_vars /etc/php/8.3/fpm/conf.d/docker-vars.ini
ADD www.conf ${fpm_conf}
#RUN echo "cgi.fix_pathinfo=0" > ${php_vars} &&\
# echo "upload_max_filesize = 100M" >> ${php_vars} &&\
# echo "post_max_size = 100M" >> ${php_vars} &&\
# echo "variables_order = \"EGPCS\"" >> ${php_vars} && \
# echo "memory_limit = 128M" >> ${php_vars} && \
# sed -i \
# -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" \
# -e "s/pm.max_children = 5/pm.max_children = 4/g" \
# -e "s/pm.start_servers = 2/pm.start_servers = 3/g" \
# -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" \
# -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" \
# -e "s/;pm.max_requests = 500/pm.max_requests = 200/g" \
# -e "s/user = www-data/user = nginx/g" \
# -e "s/group = www-data/group = nginx/g" \
# -e "s/;listen.mode = 0660/listen.mode = 0666/g" \
# -e "s/;listen.owner = www-data/listen.owner = nginx/g" \
# -e "s/;listen.group = www-data/listen.group = nginx/g" \
# -e "s/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm.sock/g" \
# -e "s/^;clear_env = no$/clear_env = no/" \
# ${fpm_conf}
# ------------ ngnix
USER root
RUN apt-get install --reinstall ca-certificates
RUN update-ca-certificates
RUN apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /run/php && \
mkdir -p /var/www/html && \
mkdir -p /etc/nginx/sites-available/ && \
chmod -R 777 /var/www/html && \
chmod -R 777 /run/php
RUN chmod -R 777 /var/lib
ENV nginx_vhost /etc/nginx/sites-available/default
ENV php_conf /etc/php/8.3/fpm/php.ini
ENV nginx_conf /etc/nginx/nginx.conf
# ----------------------
# Enable php-fpm on nginx virtualhost configuration
ADD default ${nginx_vhost}
#RUN sed -i -e 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' ${php_conf} && \
# echo "\ndaemon off;" >> ${nginx_conf}
# php-xml php-dom php-pdo php-mysql
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
RUN php -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
RUN php composer-setup.php
RUN php -r "unlink('composer-setup.php');"
RUN mv composer.phar /usr/local/bin/composer
#RUN wget https://nodejs.org/dist/v20.17.0/node-v20.17.0-linux-x64.tar.xz
#RUN chmod 777 /node-v20.17.0-linux-x64.tar.xz
#RUN tar -xf '/node-v20.17.0-linux-x64.tar.xz'
#RUN cp -r /node-v20.17.0-linux-x64/bin /node-v20.17.0-linux-x64/include /node-v20.17.0-linux-x64/lib /node-v20.17.0-linux-x64/share /usr/
#---------------------
ENV GOSU_VERSION 1.17
RUN set -eux; \
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends ca-certificates wget; \
rm -rf /var/lib/apt/lists/*; \
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
apt-mark auto '.*' > /dev/null; \
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
chmod +x /usr/local/bin/gosu; \
gosu --version; \
gosu nobody true
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
bzip2 \
openssl \
# FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
# File::Basename
# File::Copy
# Sys::Hostname
# Data::Dumper
perl \
xz-utils \
zstd \
; \
rm -rf /var/lib/apt/lists/*
RUN set -eux; \
# pub rsa4096 2023-10-23 [SC] [expires: 2025-10-22]
# BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C
# uid [ unknown] MySQL Release Engineering <mysql-build@oss.oracle.com>
# sub rsa4096 2023-10-23 [E] [expires: 2025-10-22]
key='BCA4 3417 C3B4 85DD 128E C6D4 B7B3 B788 A8D3 785C'; \
export GNUPGHOME="$(mktemp -d)"; \
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
mkdir -p /etc/apt/keyrings; \
gpg --batch --export "$key" > /etc/apt/keyrings/mysql.gpg; \
gpgconf --kill all; \
rm -rf "$GNUPGHOME"
# Cập nhật và cài đặt MySQL
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
RUN rm -rf /var/lib/mysql && mkdir -p /var/lib/mysql /var/run/mysqld \
&& chmod 1777 /var/run/mysqld /var/lib/mysql
VOLUME /var/lib/mysql
# Sao chép file cấu hình MySQL
COPY mysql.cnf /etc/mysql/my.cnf
# Đặt mật khẩu root MySQL thông qua debconf
ENV MYSQL_ROOT_PASSWORD sa
ENV MYSQL_DATABASE=hotel_booking
RUN echo "mysql-server mysql-server/root_password password sa" | debconf-set-selections && \
echo "mysql-server mysql-server/root_password_again password sa" | debconf-set-selections
#---------------------
ENV APP_ENV production
ENV APP_DEBUG false
ENV LOG_CHANNEL stderr
ENV APP_KEY base64:qKieeboLsDmpW8qISpXunQoiPW2iyBr5/whnGIstu1A=
RUN mkdir -p /var/firecomic
USER root
COPY . /var/firecomic/
RUN chown -R ubuntu:ubuntu /var/firecomic
RUN chmod -R 777 /var/firecomic/storage/logs
RUN chown -R ubuntu:ubuntu /var/firecomic/storage/logs
RUN touch /var/firecomic/storage/logs/laravel.log
RUN chmod -R 777 /var/firecomic/storage/logs/laravel.log
RUN chown -R ubuntu:ubuntu /var/firecomic/storage/logs/laravel.log
RUN chmod -R 777 /var/firecomic/storage
RUN chown -R ubuntu:ubuntu /var/firecomic/storage
RUN chown -R ubuntu:ubuntu /var/firecomic/storage/framework
RUN mkdir -p /var/firecomic/public/gmail/tokens
RUN chmod -R 777 /var/firecomic/public
RUN chown -R ubuntu:ubuntu /var/firecomic/public
RUN chmod -R 777 /var/firecomic/public/gmail
RUN chown -R ubuntu:ubuntu /var/firecomic/public/gmail
RUN chmod -R 777 /var/firecomic/public/gmail/tokens
RUN chown -R ubuntu:ubuntu /var/firecomic/public/gmail/tokens
RUN chmod -R 777 /var/firecomic
# chown -R ubuntu:ubuntu /var/firecomic
RUN chmod -R 777 /var/firecomic/storage
# chown -R ubuntu:ubuntu /var/firecomic/storage
RUN chmod -R 777 /var/firecomic/storage/logs
# chown -R ubuntu:ubuntu /var/firecomic/storage/logs
RUN chmod -R 777 /var/firecomic/storage/app
# chown -R ubuntu:ubuntu /var/firecomic/storage/app
#RUN composer create-project laravel/laravel example-app
#RUN cd example-app
#WORKDIR /example-app
#RUN ls -la
#RUN chmod 706 -R /example-app/bootstrap/cache
#RUN chmod 760 -R /example-app/storage
#RUN chmod 706 /example-app/database/database.sqlite
#RUN chown -R ubuntu:ubuntu /example-app
#RUN apt-get install -y mariadb-server sudo
#RUN usermod -aG sudo ubuntu
#USER root:root
#RUN sudo service mariadb start; service --status-all
ADD start.sh /start.sh
RUN mkdir /docker-entrypoint-initdb.d
ADD docker-entrypoint.sh /docker-entrypoint.sh
ADD hotel_booking.sql /docker-entrypoint-initdb.d/
ADD docker-entrypoint.sh /usr/local/bin/
USER root
#RUN chown ubuntu:ubuntu /run/php/php8.3-fpm.sock
#RUN chmod -R 777 /run/php/php8.3-fpm.sock
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /start.sh
RUN chmod -R 777 /var/www
RUN chmod -R 777 /var/run
RUN chmod -R 777 /run/mysqld
RUN chmod -R 777 /run/php
RUN chmod -R 777 /var/lib/mysql
RUN chmod -R 777 /var/log
EXPOSE 7860
CMD ["/start.sh"] |