docker env is working
This commit is contained in:
72
Docker/api/Dockerfile
Normal file
72
Docker/api/Dockerfile
Normal file
@@ -0,0 +1,72 @@
|
||||
FROM php:8.2-fpm
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libmcrypt-dev \
|
||||
libpng-dev \
|
||||
mariadb-client \
|
||||
zip \
|
||||
libzip-dev
|
||||
# docker-php-ext-install -j$(nproc) iconv && \
|
||||
RUN docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
|
||||
apt-get install -y imagemagick libmagickwand-dev && \
|
||||
pecl install imagick && docker-php-ext-enable imagick && \
|
||||
docker-php-ext-install -j$(nproc) gd && \
|
||||
docker-php-ext-install pdo_mysql zip && \
|
||||
docker-php-ext-install opcache && \
|
||||
docker-php-ext-install bcmath && \
|
||||
apt-get install -y git vim
|
||||
|
||||
RUN pecl install redis-5.3.7 && \
|
||||
pecl install xdebug-3.3.2 && \
|
||||
docker-php-ext-enable redis xdebug
|
||||
|
||||
RUN export COMPOSER_HOME=/usr/local/composer && \
|
||||
curl -sS https://getcomposer.org/installer \
|
||||
| php -- --install-dir=/usr/local/bin --filename=composer && \
|
||||
curl https://drupalconsole.com/installer \
|
||||
-L -o /usr/local/bin/drupal && \
|
||||
chmod +x /usr/local/bin/drupal && \
|
||||
curl https://github.com/drush-ops/drush-launcher/releases/download/0.6.0/drush.phar \
|
||||
-L -o /usr/local/bin/drush && \
|
||||
chmod +x /usr/local/bin/drush
|
||||
|
||||
# TODO depecrated https://github.com/nodesource/distributions
|
||||
# RUN apt-get install -y curl && \
|
||||
# curl -sL https://deb.nodesource.com/setup_11.x | bash - && \
|
||||
# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
||||
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
||||
# apt-get update && \
|
||||
# apt-get install -y nodejs yarn
|
||||
|
||||
RUN apt-get install -y rsyslog
|
||||
COPY ./rsyslog-drupal.conf /etc/rsyslog.d/drupal.conf
|
||||
# ENTRYPOINT ["sh", "-c", "service rsyslog start ; tail -f /dev/null"]
|
||||
|
||||
COPY ./php-custom.ini /usr/local/etc/php/conf.d/php-custom.ini
|
||||
# COPY ./php-fpm-custom.conf /usr/local/etc/php-fpm.d/php-fpm-custom.conf
|
||||
|
||||
# COPY ./bashrc /root/.bashrc
|
||||
# COPY ./inputrc /root/.inputrc
|
||||
|
||||
ARG USER_UID
|
||||
ARG USER_UNAME
|
||||
ARG USER_GID
|
||||
ARG USER_GNAME
|
||||
|
||||
RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi &&\
|
||||
groupadd -g ${USER_GID} ${USER_GNAME} &&\
|
||||
useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME} &&\
|
||||
install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME} &&\
|
||||
chown --changes --silent --no-dereference --recursive \
|
||||
--from=33:33 ${USER_UID}:${USER_GID} \
|
||||
/home/${USER_UNAME}
|
||||
# /.composer \
|
||||
# /var/run/php-fpm \
|
||||
# /var/lib/php/sessions \
|
||||
|
||||
COPY ./bashrc /home/${USER_UNAME}/.bashrc
|
||||
COPY ./inputrc /home/${USER_UNAME}/.inputrc
|
||||
|
||||
USER ${USER_UNAME}
|
4
Docker/api/bashrc
Normal file
4
Docker/api/bashrc
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
PS1='\e[36m\e[1mPHP-8.1\e[0m:\e[90m\w\e[0m\n$ '
|
||||
bind '"\e[A": history-search-backward'
|
||||
bind '"\e[B": history-search-forward'
|
2
Docker/api/inputrc
Normal file
2
Docker/api/inputrc
Normal file
@@ -0,0 +1,2 @@
|
||||
set show-all-if-ambiguous on
|
||||
set completion-ignore-case on
|
9
Docker/api/php-custom.ini
Normal file
9
Docker/api/php-custom.ini
Normal file
@@ -0,0 +1,9 @@
|
||||
memory_limit = 8192M
|
||||
upload_max_filesize = 50M
|
||||
post_max_size = 50M
|
||||
max_execution_time = 150
|
||||
|
||||
; Log level
|
||||
; Possible Values: alert, error, warning, notice, debug
|
||||
; Default Value: notice
|
||||
log_level = debug
|
1
Docker/api/php-fpm-custom.conf
Normal file
1
Docker/api/php-fpm-custom.conf
Normal file
@@ -0,0 +1 @@
|
||||
request_terminate_timeout = 150
|
1
Docker/api/rsyslog-drupal.conf
Normal file
1
Docker/api/rsyslog-drupal.conf
Normal file
@@ -0,0 +1 @@
|
||||
local6.* /var/log/drupal.log
|
17
Docker/api/rsyslog.service
Normal file
17
Docker/api/rsyslog.service
Normal file
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=rsyslog
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
ExecStartPre=-/usr/bin/docker rm %n
|
||||
ExecStart=/usr/bin/docker run --rm \
|
||||
--name %n \
|
||||
-h %H \
|
||||
jumanjiman/rsyslog
|
||||
ExecStop=/usr/bin/docker stop %n
|
||||
RestartSec=5s
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
39
Docker/app/Dockerfile
Normal file
39
Docker/app/Dockerfile
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM node:lts-bullseye
|
||||
|
||||
# THE ALL USER THINGS IS USELESS AS NODE IS ALREADY A USER @ 1000
|
||||
|
||||
# RUN find / -group 1000 -exec chgrp -h node {} \;
|
||||
# RUN find / -user 1000 -exec chown -h node {} \;
|
||||
|
||||
# ARG USER_UID
|
||||
# ARG USER_UNAME
|
||||
# ARG USER_GID
|
||||
# ARG USER_GNAME
|
||||
|
||||
|
||||
# # RUN addgroup -g 1000 gdp && \
|
||||
# # adduser -h /home/gdp -D -u 1000 gdp && \
|
||||
# RUN adduser -u ${USER_UID} -G users -s /bin/sh -D ${USER_UNAME}
|
||||
# # chown -R gdp:gdp /home/gdp
|
||||
|
||||
# RUN if getent group ${USER_GNAME} ; then groupdel ${USER_GNAME}; fi
|
||||
# RUN groupadd -g ${USER_GID} ${USER_GNAME}
|
||||
# RUN useradd -l -u ${USER_UID} -g ${USER_GNAME} ${USER_UNAME}
|
||||
# RUN install -d -m 0755 -o ${USER_UNAME} -g ${USER_GNAME} /home/${USER_UNAME}
|
||||
# RUN chown --changes --silent --no-dereference --recursive \
|
||||
# --from=33:33 ${USER_UID}:${USER_GID} \
|
||||
# /home/${USER_UNAME}
|
||||
|
||||
# USER ${USER_UNAME}
|
||||
|
||||
# COPY ./bashrc /home/${USER_UNAME}/.bashrc
|
||||
# COPY ./inputrc /home/${USER_UNAME}/.inputrc
|
||||
|
||||
# COPY ./bashrc /home/node/.bashrc # should do an echo in already existing /home/node/.bashcr
|
||||
COPY ./inputrc /home/node/.inputrc
|
||||
|
||||
COPY ./client-entrypoint.sh /usr/local/bin
|
||||
# USER root
|
||||
RUN chmod +x /usr/local/bin/client-entrypoint.sh
|
||||
# USER ${USER_UNAME}
|
||||
CMD ["/bin/sh","/usr/local/bin/client-entrypoint.sh"]
|
3
Docker/app/bashrc
Normal file
3
Docker/app/bashrc
Normal file
@@ -0,0 +1,3 @@
|
||||
PS1='\e[36m\e[1mNODE\e[0m:\e[90m\w\e[0m\n$ '
|
||||
bind '"\e[A": history-search-backward'
|
||||
bind '"\e[B": history-search-forward'
|
30
Docker/app/client-entrypoint.sh
Normal file
30
Docker/app/client-entrypoint.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat /etc/passwd|grep 1000
|
||||
|
||||
cd /app
|
||||
|
||||
echo "Cleaning node_modules"
|
||||
rm -rf node_modules
|
||||
|
||||
echo "Cleaning npm cache"
|
||||
npm cache clean --f
|
||||
|
||||
echo "Npm install"
|
||||
npm install
|
||||
|
||||
# echo "Npm init"
|
||||
# npm ci
|
||||
|
||||
|
||||
# echo "Run npm dev"
|
||||
# npm run dev
|
||||
echo "APP_ENV $APP_ENV"
|
||||
|
||||
if [ "$APP_ENV" = "prod" ]; then
|
||||
echo "Run npm prod"
|
||||
npm run build
|
||||
else
|
||||
echo "Run npm dev"
|
||||
npm run dev
|
||||
fi
|
2
Docker/app/inputrc
Normal file
2
Docker/app/inputrc
Normal file
@@ -0,0 +1,2 @@
|
||||
set show-all-if-ambiguous on
|
||||
set completion-ignore-case on
|
4
Docker/mysql/bashrc
Normal file
4
Docker/mysql/bashrc
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
PS1='\e[36m\e[1mMYSQL\e[0m:\e[90m\w\e[0m\n$ '
|
||||
bind '"\e[A": history-search-backward'
|
||||
bind '"\e[B": history-search-forward'
|
12
Docker/mysql/mysql.cnf
Normal file
12
Docker/mysql/mysql.cnf
Normal file
@@ -0,0 +1,12 @@
|
||||
[client]
|
||||
default-character-set=utf8
|
||||
|
||||
[mysqld]
|
||||
max_allowed_packet=500M
|
||||
|
||||
collation-server = utf8_unicode_ci
|
||||
init-connect='SET NAMES utf8'
|
||||
character-set-server = utf8
|
||||
|
||||
[mysql]
|
||||
default-character-set=utf8
|
9
Docker/nginx/Dockerfile
Normal file
9
Docker/nginx/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
||||
FROM nginx:latest
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
vim
|
||||
|
||||
COPY ./default.conf /etc/nginx/conf.d/default.conf
|
||||
COPY ./bashrc /root/.bashrc
|
||||
COPY ./inputrc /root/.inputrc
|
3
Docker/nginx/bashrc
Normal file
3
Docker/nginx/bashrc
Normal file
@@ -0,0 +1,3 @@
|
||||
PS1='\e[36m\e[1mNGINX\e[0m:\e[90m\w\e[0m\n$ '
|
||||
bind '"\e[A": history-search-backward'
|
||||
bind '"\e[B": history-search-forward'
|
84
Docker/nginx/default.conf
Normal file
84
Docker/nginx/default.conf
Normal file
@@ -0,0 +1,84 @@
|
||||
upstream app{
|
||||
server app:5173;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
# root /var/www/html/api/src/web;
|
||||
# root /var/www/html/app/dist;
|
||||
index index.html index.php;
|
||||
server_name *.caravane.fr;
|
||||
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-NginX-Proxy true;
|
||||
proxy_set_header X-Ssl on;
|
||||
proxy_cache off;
|
||||
proxy_buffering off;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_pass http://app;
|
||||
proxy_redirect off;
|
||||
}
|
||||
|
||||
# https://serversforhackers.com/c/nginx-php-in-subdirectory
|
||||
location @api {
|
||||
rewrite ^/api/(.*)$ /api/index.php;
|
||||
}
|
||||
|
||||
|
||||
location /api {
|
||||
# rewrite /api/(.*)$ /$1 break;
|
||||
# root /var/www/html/api/src/web;
|
||||
alias /var/www/html/api/src/web/;
|
||||
# index index.php;
|
||||
# try_files $uri $uri/ /index.php?$query_string;
|
||||
try_files $uri $uri/ @api;
|
||||
|
||||
error_log /var/log/nginx/api-error.log debug;
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass api:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
fastcgi_intercept_errors off;
|
||||
fastcgi_buffers 16 32k;
|
||||
fastcgi_buffer_size 64k;
|
||||
fastcgi_busy_buffers_size 64k;
|
||||
fastcgi_read_timeout 150;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
access_log on;
|
||||
error_log /var/log/nginx/app-error.log error;
|
||||
|
||||
sendfile off;
|
||||
|
||||
client_max_body_size 100m;
|
||||
|
||||
# location ~ \.php$ {
|
||||
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
# fastcgi_pass api:9000;
|
||||
# fastcgi_index index.php;
|
||||
# include fastcgi_params;
|
||||
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
# fastcgi_intercept_errors off;
|
||||
# fastcgi_buffer_size 16k;
|
||||
# fastcgi_buffers 4 16k;
|
||||
# fastcgi_read_timeout 150;
|
||||
# }
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
2
Docker/nginx/inputrc
Normal file
2
Docker/nginx/inputrc
Normal file
@@ -0,0 +1,2 @@
|
||||
set show-all-if-ambiguous on
|
||||
set completion-ignore-case on
|
Reference in New Issue
Block a user