Compare commits
6 Commits
62ea3b87d8
...
489400ad70
Author | SHA1 | Date | |
---|---|---|---|
489400ad70 | |||
77702a36f0 | |||
2286ee380b | |||
63165795ca | |||
d66df792c6 | |||
eddc4fddeb |
43
app/dolibarr.conf
Normal file
43
app/dolibarr.conf
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
|
3
app/scripts/create_databases.sh
Executable file
3
app/scripts/create_databases.sh
Executable 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
4
app/scripts/dolibarr.sql
Normal 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
24
app/scripts/healthchecker.sh
Executable 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
|
||||||
|
|
6
app/scripts/install-dependencies.sh
Executable file
6
app/scripts/install-dependencies.sh
Executable 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
|
25
dockerfile
25
dockerfile
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user