diff --git a/app/default b/app/default new file mode 100644 index 0000000..7b81f28 --- /dev/null +++ b/app/default @@ -0,0 +1,43 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + # SSL configuration + # + listen 443 ssl default_server; + listen [::]:443 ssl default_server; + ssl_certificate /etc/ssl/certs/dolibarr-selfsigned.crt; + ssl_certificate_key /etc/ssl/private/dolibarr-selfsigned.key; + #ssl_protocols TLSv1.3; + + root /app/dolibarr/htdocs; + + # Add index.php to the list if you are using PHP + index index.html index.htm index.php index.nginx-debian.html; + + server_name _; + + location / { + # First attempt to serve request as file, then + # as directory, then fall back to displaying a 404. + try_files $uri $uri/ =404; + } + + # pass PHP scripts to FastCGI server + # + location ~ \.php$ { + include snippets/fastcgi-php.conf; + # + # # With php-fpm (or other unix sockets): + fastcgi_pass unix:/run/php/php8.2-fpm.sock; + # # With php-cgi (or other tcp sockets): + # fastcgi_pass 127.0.0.1:9000; + } + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + location ~ /\.ht { + deny all; + } +} diff --git a/app/scripts/create_databases.sh b/app/scripts/create_databases.sh new file mode 100755 index 0000000..ed57b81 --- /dev/null +++ b/app/scripts/create_databases.sh @@ -0,0 +1,2 @@ +#!/bin/sh +mariadb --user=dolibarr_user --password=dolipass < /app/scripts/db_schemas/dolibarr.sql #&& echo "Dolibarr user and DB created." || echo "Unable to create database."; exit 1 diff --git a/app/scripts/db_schemas/dolibarr.sql b/app/scripts/db_schemas/dolibarr.sql new file mode 100644 index 0000000..4565365 --- /dev/null +++ b/app/scripts/db_schemas/dolibarr.sql @@ -0,0 +1,4 @@ +CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'dolipass'; +CREATE DATABASE IF NOT EXISTS 'dolibarr'; +GRANT ALL PRIVILEGES TO dolibarr.* TO 'dolibarr'@'localhost'; +FLUSH PRIVILEGES; diff --git a/dockerfile b/dockerfile index f61014e..27f661a 100644 --- a/dockerfile +++ b/dockerfile @@ -1,6 +1,6 @@ FROM debian:bookworm -WORKDIR /app/scripts +WORKDIR /app COPY app /app @@ -10,6 +10,18 @@ RUN apt-get update && apt-get full-upgrade -y && apt-get autoremove -y && apt-ge RUN /app/scripts/install-dependencies.sh +RUN git clone --branch 21.0 --single-branch --depth 1 https://github.com/Dolibarr/dolibarr.git + +RUN chown -R www-data:www-data /app/dolibarr + +RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/dolibarr-selfsigned.key -out /etc/ssl/certs/dolibarr-selfsigned.crt -subj "/CN=dolibarr" + +RUN chmod 0440 /etc/ssl/private/dolibarr-selfsigned.key && chmod 0444 /etc/ssl/certs/dolibarr-selfsigned.crt && chown www-data:www-data /etc/ssl/private/dolibarr-selfsigned.key && chown www-data:www-data /etc/ssl/certs/dolibarr-selfsigned.crt + +#RUN /app/scripts/create_databases.sh + +RUN mv /app/default /etc/nginx/sites-available/default + ENV PORT=8080 EXPOSE 8080