Compare commits

...

6 Commits

Author SHA1 Message Date
489400ad70 Renamed nginx server block and disabled the default one 2025-02-14 14:11:35 +01:00
77702a36f0 Massive update 2025-02-13 20:44:52 +01:00
2286ee380b More stuff 2025-02-13 15:49:53 +01:00
63165795ca Multiple changes 2025-02-12 21:01:52 +01:00
d66df792c6 Added an entrypoint 2025-02-12 16:59:55 +01:00
eddc4fddeb Fixed malformed apt syntax 2025-02-11 20:32:58 +01:00
9 changed files with 101 additions and 8 deletions

43
app/dolibarr.conf Normal file
View File

@ -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;
}
}

View File

@ -1,4 +0,0 @@
#!/bin/sh
/usr/sbin/apt-get install php8.2 php8.2-common php8.2-fpm -y # PHP
/usr/sbin/apt-get install vim file bash-completion procps nginx screen git less -y # Utils
/usr/sbin/apt-get install mariadb-client mariadb-server -y # MariaDB Server + Client

View File

@ -0,0 +1,3 @@
#!/bin/sh
service mariadb status > /dev/null 2>&1 || service mariadb start
mariadb --user=root < /app/scripts/dolibarr.sql && echo "Dolibarr user and DB created."

4
app/scripts/dolibarr.sql Normal file
View File

@ -0,0 +1,4 @@
CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'dolipass';
CREATE DATABASE IF NOT EXISTS dolibarr;
GRANT ALL PRIVILEGES on dolibarr.* TO 'dolibarr'@'localhost';
FLUSH PRIVILEGES;

24
app/scripts/healthchecker.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
# Check if nginx is running
/etc/init.d/nginx status >/dev/null 2>&1
if [ $? -ne 0 ]; then
NGINX="nginx failed!"
fi
# Check if MariaDB is running
/etc/init.d/mariadb status >/dev/null 2>&1
if [ $? -ne 0 ]; then
MARIADB="mariadb failed!"
fi
# Check if PHP-FPM is running
/etc/init.d/php8.2-fpm status >/dev/null 2>&1
if [ $? -ne 0 ]; then
PHP82="php8.2-fpm failed!"
fi
if [ -n "$NGINX$MARIADB$PHP82" ]; then
echo "$NGINX $MARIADB $PHP82" && exit 1
fi

View File

@ -0,0 +1,6 @@
#!/bin/sh
apt-get install nginx -y
apt-get install php8.2 php8.2-common php8.2-fpm php8.2-mbstring php8.2-gd php8.2-curl php8.2-xml php8.2-imap php8.2-zip php8.2-intl php8.2-mysql -y # PHP
#apt-get install vim file bash-completion procps nginx screen git sudo less -y # Utils
apt-get install git sudo -y # Utils
apt-get install mariadb-client mariadb-server -y # MariaDB Server + Client

View File

@ -4,14 +4,31 @@ WORKDIR /app
COPY app /app COPY app /app
RUN apt-get update && apt-get full-upgrade -y RUN apt-get update && apt-get full-upgrade -y && apt-get autoremove -y && apt-get autoclean -y
RUN /app/sury-php-repo.sh #RUN /app/scripts/sury-php-repo.sh
RUN /app/install-dependencies.sh 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/dolibarr.conf /etc/nginx/sites-available/dolibarr.conf && rm /etc/nginx/sites-enabled/default
ENV PORT=8080 ENV PORT=8080
EXPOSE 8080 EXPOSE 8080
CMD ["/app/launch-daemons.sh"] #CMD ["/app/launch-daemons.sh"]
ENTRYPOINT ["/app/scripts/launch-daemons.sh"]
HEALTHCHECK --interval=5m --timeout=30s \
CMD /app/scripts/healthchecker.sh || exit 1