Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 0 additions & 114 deletions Dockerfile

This file was deleted.

12 changes: 12 additions & 0 deletions config/docker/nginx/local/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM nginx:stable-alpine
# ----------------------------------------------------------------------------------------------------------------------
# Copy files
# ----------------------------------------------------------------------------------------------------------------------
COPY config/docker/nginx/local/default.conf /etc/nginx/conf.d/default.conf

COPY config/docker/nginx/local/certs /etc/nginx/certs
# ----------------------------------------------------------------------------------------------------------------------
# Permissions
# ----------------------------------------------------------------------------------------------------------------------
RUN chmod 600 /etc/nginx/certs/localhost-key.pem && \
chmod 644 /etc/nginx/certs/localhost.pem
28 changes: 28 additions & 0 deletions config/docker/nginx/local/certs/localhost-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----

Check failure on line 1 in config/docker/nginx/local/certs/localhost-key.pem

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Make sure this private key gets revoked, changed, and removed from the code.

See more on https://sonarcloud.io/project/issues?id=lion-packages_framework&issues=AZ6j7_4ekoCNroLuLTtS&open=AZ6j7_4ekoCNroLuLTtS&pullRequest=175
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDbMPJnz68NnFEd
P4DStZWJ/GagwOS5wkJavlqxPF7qjqqbAXUhPtGJKmGnrxumXzAbtMc+ZvjtircM
BaIP08lMJ+60W3vcuOHJoagAtQ5foabhEEiC++9cMYwcnIhn1vVYDQvo0cDpU3L/
9ZfnYnxwHmfviVy27GEta5NIGqMmKD1wgQ3QqVmoQaNUpG55cWntm2wfxHVglr9f
Ceov8efz4umprS2H49P2OZphhBSx4FF84Eay0o6OOK299+vj0gp9f1sdjaJ6aISZ
WVCufaH1BLQk2WYOjH7lNKJZpKuS7akIiP7U8+Y7MVbmo6/8axW7kLyCKBZuOsKf
jvWGKYjLAgMBAAECggEAC0+tUroe+H7WmMHMLhN80hAaY7VQmF1z+ybTm03YQBZ4
q2MZ3ktVmNR9EaAxtxY2b1eW6Jt7wRZld9Nal6KAQtPUt6346F0KGdOjzdWKFllL
OVYTx96kbYeJCXjyeRlYs+CIes1IPUI3LwpHeoNUlJydFHlsNWxhX2yrvw7Q2Ikm
ntbT43YaCoX5G+Y0+b/pMymItwktgdHYf4sxuwKFC8GaaW3PTLDAFAsawZwUHeWh
RhD+/QWfzRYdEM82VqJk5MO3eTcPV62WxXDm1n4BBSfAAAcH0AI75HZUOI3pbLZ/
WvJNR5OqscKOOsiTL81jORUERrJiWDfTjBySVhJH8QKBgQDwwa/QJIzPmkTu7EGM
4eaEle2/f+6sV2DIClmLoGl0IHA2Ub/gUSnDJy8f5AMFQm9ULhrzkFaroux916Vy
sca1no/Al5fxmr6V+qJH1arBRECeRowB8SfE55ubaNKb/9wlYIkY6Dov5Fn30Cjc
g3OD5DqbCni4ocpDoNwc/esQfQKBgQDpEbdzF0vPfsV5rZ+Fs6JKFjj2TtmHaKKj
z1Z/sxc1brmJyNjPEXsuRQkOMUq7anb02lTp6uCmTzildarMUe6abCLoHZyhrck8
WzhM3ehCtAnJ4zhcKfSN4i3xYGJ8+2G+5EdWQ9qx10bLiGpTq8pgwV3mcnzf8rpk
WuLNbpzI5wKBgQCm0W3iyRCQYJJXAnjBB13UjJY51Ikp/TlgIlu9dZ7cCgX2fVp4
MYTAZgwvCqxVHp1JNNET5vVG5BL9d0h6WlgXTBDLH772d4SLIykCoTg5xfMIOFWW
muQ1eU3GtzEHSpfdhjA4g+CdgpocLa3CbYrC3ocFGpJfTCt8BJ+/rukLeQKBgCtM
RkdUSZonk+oR7jO5dmnLDRP8+/5i2uwRpaEdlS8w/bjyHg0B0196Jb+EOrzsf2Ln
eKToJIng58YdQPiqM+huNGHotmN21I6o56GoC/DwX20pEBxXEv6UyTIxVLqhPLxo
zjPhcSxesOE423/lxzgIVDhuhnJYNnZUSBQf+3J7AoGBAN8CcgXG+nniVifiNzjk
QuFV+R7SJG/2+r3xM/Roa2T+dLGrMV1otyFLGmUEYl9DTxJeZQVk//rhCyCFrj93
Xvig4pDksWwbMzpJrtXZ+Ef2Ra9RR/oMzivund1OUyLe46mx0KAa/NtVggwUN4e2
Ai9MEY/1sww9AhiUG7ZpCugL
-----END PRIVATE KEY-----
23 changes: 23 additions & 0 deletions config/docker/nginx/local/certs/localhost.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUPRxvb8GNv/u4R5iNOTzkwSrgl/wwDQYJKoZIhvcNAQEL
BQAwczELMAkGA1UEBhMCQ08xFTATBgNVBAgMDEN1bmRpbmFtYXJjYTEPMA0GA1UE
BwwGQm9nb3RhMRYwFAYDVQQKDA1MaW9uLVBhY2thZ2VzMRAwDgYDVQQLDAdEZXZU
ZWFtMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjUxMTAyMTY1NzA5WhcNMzUxMDMx
MTY1NzA5WjBzMQswCQYDVQQGEwJDTzEVMBMGA1UECAwMQ3VuZGluYW1hcmNhMQ8w
DQYDVQQHDAZCb2dvdGExFjAUBgNVBAoMDUxpb24tUGFja2FnZXMxEDAOBgNVBAsM
B0RldlRlYW0xEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBANsw8mfPrw2cUR0/gNK1lYn8ZqDA5LnCQlq+WrE8XuqOqpsB
dSE+0YkqYaevG6ZfMBu0xz5m+O2KtwwFog/TyUwn7rRbe9y44cmhqAC1Dl+hpuEQ
SIL771wxjByciGfW9VgNC+jRwOlTcv/1l+difHAeZ++JXLbsYS1rk0gaoyYoPXCB
DdCpWahBo1Skbnlxae2bbB/EdWCWv18J6i/x5/Pi6amtLYfj0/Y5mmGEFLHgUXzg
RrLSjo44rb336+PSCn1/Wx2NonpohJlZUK59ofUEtCTZZg6MfuU0olmkq5LtqQiI
/tTz5jsxVuajr/xrFbuQvIIoFm46wp+O9YYpiMsCAwEAAaN2MHQwHQYDVR0OBBYE
FCuLQr/8KMaOFp7JioKEP13uSmgYMB8GA1UdIwQYMBaAFCuLQr/8KMaOFp7JioKE
P13uSmgYMA8GA1UdEwEB/wQFMAMBAf8wIQYDVR0RBBowGIIJbG9jYWxob3N0ggtu
Z2lueC1sb2NhbDANBgkqhkiG9w0BAQsFAAOCAQEAWaR2uxAkF29WSDX0YLj12oHw
7Ysoe7EXF6EvJ13n9SrcjicsBQ9q+qCVZcEM68c7uy6Nk0/8AlqeHfWa6V59DnA3
HmZMareBRZszg9FwFojzf0niu/Yeb6BfwX95IxskGU/G9p3MfR5kI8ZXU7RjUhSw
d4pnWAYptupy2NyYiyOuJYfvyMdw3bTHIWLs0+W4kCIASSnlgkIURF8YzrJ48VF+
MX7J2PwqMmz9uJqfnoAKQhXjJBZEV7owGVrD/93+UnyfYwGQyN5xDAWOJ+EaMIM7
R3APe+ErDQx9o/OGmGAtLsDos6RPXhOfOVT9MaulpOYCt6xTxzqth+v7HcKWfw==
-----END CERTIFICATE-----
37 changes: 37 additions & 0 deletions config/docker/nginx/local/default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
server {
listen 443 ssl;
server_name localhost;

ssl_certificate /etc/nginx/certs/localhost.pem;
ssl_certificate_key /etc/nginx/certs/localhost-key.pem;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;

root /var/www/html/public;
index index.php index.html;

autoindex off;
rewrite ^/(.*)/$ /$1 permanent;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php-local:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
fastcgi_param HTTP_AUTHORIZATION $http_authorization;
fastcgi_param HTTP_X_XSRF_TOKEN $http_x_xsrf_token;
}

location ~ /\.ht {
deny all;
}

access_log /dev/stdout;
error_log /dev/stderr;
}
111 changes: 111 additions & 0 deletions config/docker/php/local/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
FROM php:8.5-fpm

ARG DEBIAN_FRONTEND=noninteractive
# ----------------------------------------------------------------------------------------------------------------------
USER root

# ----------------------------------------------------------------------------------------------------------------------
# Create user
# ----------------------------------------------------------------------------------------------------------------------
RUN useradd -m lion && echo 'lion:lion' | chpasswd && usermod -aG sudo lion && usermod -s /bin/bash lion

Check warning on line 10 in config/docker/php/local/Dockerfile

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Merge this RUN instruction with the consecutive ones.

See more on https://sonarcloud.io/project/issues?id=lion-packages_framework&issues=AZ6j7_1skoCNroLuLTtN&open=AZ6j7_1skoCNroLuLTtN&pullRequest=175
# ----------------------------------------------------------------------------------------------------------------------
# Dependencies
# ----------------------------------------------------------------------------------------------------------------------
RUN apt update -y \
&& apt-get install -y --no-install-recommends \
sudo nano zsh git curl wget unzip cron golang-go \
libonig-dev libpng-dev libzip-dev libjpeg-dev libfreetype6-dev pkg-config libssl-dev \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# ----------------------------------------------------------------------------------------------------------------------
# PHP Extensions
# ----------------------------------------------------------------------------------------------------------------------
RUN pecl install redis xdebug \
&& docker-php-ext-install mbstring gd zip pdo pdo_mysql \
&& docker-php-ext-enable xdebug redis gd zip

RUN { \
echo "xdebug.mode=develop,coverage,debug"; \
echo "xdebug.remote_autostart=off"; \
echo "xdebug.remote_connect_back=off"; \
echo "xdebug.start_with_request=yes"; \
echo "xdebug.idekey=docker"; \
echo "xdebug.log=/dev/stdout"; \
echo "xdebug.log_level=0"; \
echo "xdebug.client_host=host.docker.internal"; \
echo "xdebug.client_port=9000"; \
} >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

RUN { \
echo "pm = dynamic"; \
echo "pm.max_children = 5"; \
echo "pm.start_servers = 2"; \
echo "pm.min_spare_servers = 2"; \
echo "pm.max_spare_servers = 4"; \
echo "pm.max_requests = 200"; \
echo "request_terminate_timeout = 30s"; \
} >> /usr/local/etc/php-fpm.d/www.conf

RUN { \
echo "memory_limit = 512M"; \
echo "max_execution_time = 30"; \
echo "expose_php = Off"; \
echo "display_errors = Off"; \
echo "log_errors = On"; \
echo "error_log = /dev/stderr"; \
} > /usr/local/etc/php/conf.d/production.ini
# ----------------------------------------------------------------------------------------------------------------------
USER lion

SHELL ["/bin/bash", "--login", "-i", "-c"]
# ----------------------------------------------------------------------------------------------------------------------
# Install nvm, Node.js and npm
# ----------------------------------------------------------------------------------------------------------------------
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash \

Check warning on line 64 in config/docker/php/local/Dockerfile

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Merge this RUN instruction with the consecutive ones.

See more on https://sonarcloud.io/project/issues?id=lion-packages_framework&issues=AZ6j7_1skoCNroLuLTtO&open=AZ6j7_1skoCNroLuLTtO&pullRequest=175
&& source /home/lion/.bashrc \
&& nvm install 24 \
&& npm install -g npm
# ----------------------------------------------------------------------------------------------------------------------
# Install OhMyZsh
# ----------------------------------------------------------------------------------------------------------------------
RUN sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
# ----------------------------------------------------------------------------------------------------------------------
USER root

SHELL ["/bin/bash", "--login", "-c"]
# ----------------------------------------------------------------------------------------------------------------------
# Install logo-ls
# ----------------------------------------------------------------------------------------------------------------------
RUN ARCH=$(uname -m) && \

Check warning on line 79 in config/docker/php/local/Dockerfile

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Merge this RUN instruction with the consecutive ones.

See more on https://sonarcloud.io/project/issues?id=lion-packages_framework&issues=AZ6j7_1skoCNroLuLTtP&open=AZ6j7_1skoCNroLuLTtP&pullRequest=175
if [ "$ARCH" = "x86_64" ]; then \
wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_amd64.deb; \
elif [ "$ARCH" = "aarch64" ]; then \
wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_arm64.deb; \
else \
echo "Unsupported architecture: $ARCH" && exit 1; \
fi && \
dpkg -i logo-ls_*.deb && \
rm logo-ls_*.deb && \
curl https://raw.githubusercontent.com/UTFeight/logo-ls-modernized/master/INSTALL | bash
# ----------------------------------------------------------------------------------------------------------------------
# Add configuration in .zshrc
# ----------------------------------------------------------------------------------------------------------------------
RUN echo 'export NVM_DIR="$HOME/.nvm"' >> /home/lion/.zshrc \
&& echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /home/lion/.zshrc \
&& echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> /home/lion/.zshrc \
&& echo 'alias ls="logo-ls"' >> /home/lion/.zshrc \
&& source /home/lion/.zshrc
# ----------------------------------------------------------------------------------------------------------------------
# Copy files / Permissions
# ----------------------------------------------------------------------------------------------------------------------
COPY . .

COPY config/docker/nginx/local/certs/localhost.pem /usr/local/share/ca-certificates/localhost.crt

RUN update-ca-certificates \
&& sed -i 's/^user = www-data/user = lion/' /usr/local/etc/php-fpm.d/www.conf \
&& sed -i 's/^group = www-data/group = lion/' /usr/local/etc/php-fpm.d/www.conf \
&& chown -R lion:lion /var/www/html/public \
&& chmod -R u=rwX,go=rX /var/www/html/public

CMD ["php-fpm"]
Loading
Loading