Compare commits
15 Commits
main
...
4ff4e74b95
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ff4e74b95 | |||
| 4d4ccf465a | |||
| 43c722b5d5 | |||
| 0af34e3c68 | |||
| bae256f0c9 | |||
| b9e9d8af22 | |||
| dfcca6af8f | |||
| 95b6f19a4f | |||
| 75bcbab3e6 | |||
| b3e734c3c6 | |||
| 6ca4a8796e | |||
| eb2f038f95 | |||
| ee581aa5b5 | |||
| 97f4a22ba1 | |||
| 180282d208 |
@@ -1,5 +0,0 @@
|
|||||||
docker build -t hubzilla:debian12 .
|
|
||||||
docker tag hubzilla:debian12 git.piaf.im/sylvain/hubzilla:latest
|
|
||||||
docker push git.piaf.im/sylvain/hubzilla:latest
|
|
||||||
|
|
||||||
docker pull git.piaf.im/sylvain/hubzilla:latest
|
|
||||||
81
dockerfile
81
dockerfile
@@ -2,52 +2,65 @@ FROM debian:12
|
|||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
# Installation des dépendances nécessaires
|
ARG DOMAIN
|
||||||
|
ARG SMTP_EMAIL
|
||||||
|
ARG SMTP_SERVER
|
||||||
|
ARG SMTP_PORT
|
||||||
|
ARG SMTP_USER
|
||||||
|
ARG SMTP_PASS
|
||||||
|
ARG ADMIN_EMAIL
|
||||||
|
|
||||||
|
# Installer les paquets nécessaires
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
apache2 \
|
apache2 \
|
||||||
mariadb-client \
|
php php-cli php-mysql php-curl php-fpm php-gd php-json php-xml php-zip php-mbstring php-bcmath php-gmp php-intl \
|
||||||
php \
|
software-properties-common git msmtp mariadb-client cron curl unzip nano
|
||||||
php-cli \
|
|
||||||
php-mysql \
|
|
||||||
php-curl \
|
|
||||||
php-gd \
|
|
||||||
php-json \
|
|
||||||
php-xml \
|
|
||||||
php-zip \
|
|
||||||
php-mbstring \
|
|
||||||
php-bcmath \
|
|
||||||
php-gmp \
|
|
||||||
php-intl \
|
|
||||||
git \
|
|
||||||
curl \
|
|
||||||
unzip \
|
|
||||||
nano \
|
|
||||||
cron \
|
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Configuration du répertoire de travail
|
# Nettoyer
|
||||||
WORKDIR /var/www/html
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
# Clonage du dépôt Hubzilla
|
# Copier et activer la config Apache (HTTP uniquement)
|
||||||
RUN rm -r /var/www/html/
|
COPY src/container_apache.conf /etc/apache2/sites-available/${DOMAIN}.conf
|
||||||
RUN git clone https://framagit.org/hubzilla/core.git . && \
|
RUN sed -i "s/{{DOMAIN}}/${DOMAIN}/g" /etc/apache2/sites-available/${DOMAIN}.conf && \
|
||||||
mkdir -p store/[data]/smarty3 && \
|
a2dissite 000-default.conf && \
|
||||||
|
a2ensite ${DOMAIN}.conf && \
|
||||||
|
a2enmod rewrite
|
||||||
|
|
||||||
|
# Installer Hubzilla
|
||||||
|
RUN git clone https://framagit.org/hubzilla/core.git /var/www/html && \
|
||||||
|
/bin/bash -c "cd /var/www/html && ./util/add_addon_repo https://framagit.org/hubzilla/addons.git official" && \
|
||||||
|
mkdir -p /var/www/html/store/[data]/smarty3 && \
|
||||||
chown -R www-data:www-data /var/www/html
|
chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
# Activation des modules Apache nécessaires
|
|
||||||
RUN a2enmod rewrite ssl
|
|
||||||
|
|
||||||
# Configuration de PHP
|
# Configurer msmtp
|
||||||
|
COPY src/msmtprc /etc/msmtprc
|
||||||
|
RUN sed -i "s/{{SMTP_EMAIL}}/${SMTP_EMAIL}/g" /etc/msmtprc && \
|
||||||
|
sed -i "s/{{SMTP_SERVER}}/${SMTP_SERVER}/g" /etc/msmtprc && \
|
||||||
|
sed -i "s/{{SMTP_PORT}}/${SMTP_PORT}/g" /etc/msmtprc && \
|
||||||
|
sed -i "s/{{SMTP_USER}}/${SMTP_USER}/g" /etc/msmtprc && \
|
||||||
|
sed -i "s/{{SMTP_PASS}}/${SMTP_PASS}/g" /etc/msmtprc && \
|
||||||
|
chmod 600 /etc/msmtprc && \
|
||||||
|
chown www-data:www-data /etc/msmtprc
|
||||||
|
|
||||||
|
# Activer msmtp dans PHP
|
||||||
|
RUN echo "sendmail_path = /usr/bin/msmtp -t" >> /etc/php/8.2/apache2/php.ini
|
||||||
|
|
||||||
|
# Config PHP (upload size + register_argc_argv)
|
||||||
RUN echo "upload_max_filesize = 20M" >> /etc/php/8.2/apache2/php.ini && \
|
RUN echo "upload_max_filesize = 20M" >> /etc/php/8.2/apache2/php.ini && \
|
||||||
echo "post_max_size = 20M" >> /etc/php/8.2/apache2/php.ini && \
|
echo "post_max_size = 20M" >> /etc/php/8.2/apache2/php.ini && \
|
||||||
echo "register_argc_argv = On" >> /etc/php/8.2/apache2/php.ini
|
echo "register_argc_argv = On" >> /etc/php/8.2/apache2/php.ini
|
||||||
|
|
||||||
# Configuration du site Apache
|
# Fichier .htconfig.php (préconfiguré)
|
||||||
COPY src/hubzilla.conf /etc/apache2/sites-available/hubzilla.conf
|
COPY src/.htconfig.php /tmp/.htconfig.php
|
||||||
RUN a2dissite 000-default.conf && a2ensite hubzilla.conf
|
RUN LOCATION_HASH=$(cat /dev/urandom | tr -dc 'a-f0-9' | fold -w 64 | head -n 1) && \
|
||||||
|
sed "s/{{DOMAIN}}/${DOMAIN}/g; s/{{LOCATION_HASH}}/${LOCATION_HASH}/g; s/{{ADMIN_EMAIL}}/${ADMIN_EMAIL}/g" /tmp/.htconfig.php > /var/www/html/.htconfig.php && \
|
||||||
|
chown www-data:www-data /var/www/html/.htconfig.php
|
||||||
|
|
||||||
# Copie du script de démarrage
|
# Cron
|
||||||
|
RUN echo "*/15 * * * * cd /var/www/html; /usr/bin/php Zotlabs/Daemon/Master.php Cron" | crontab -u www-data -
|
||||||
|
|
||||||
|
# Script de démarrage
|
||||||
COPY src/start.sh /start.sh
|
COPY src/start.sh /start.sh
|
||||||
RUN chmod +x /start.sh
|
RUN chmod +x /start.sh
|
||||||
|
|
||||||
CMD ["/bin/bash", "/start.sh"]
|
CMD ["/bin/bash", "/start.sh"]
|
||||||
|
|||||||
55
hubzilla.yml
55
hubzilla.yml
@@ -1,55 +0,0 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
|
||||||
db:
|
|
||||||
image: mariadb:10.6
|
|
||||||
environment:
|
|
||||||
MYSQL_DATABASE: hubzilla
|
|
||||||
MYSQL_USER: hubzilla
|
|
||||||
MYSQL_PASSWORD: hubzilla_pass
|
|
||||||
MYSQL_ROOT_PASSWORD: root_pass
|
|
||||||
volumes:
|
|
||||||
- db_data:/var/lib/mysql
|
|
||||||
networks:
|
|
||||||
- hubzilla_net
|
|
||||||
deploy:
|
|
||||||
placement:
|
|
||||||
constraints: [node.hostname == ds1]
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
|
|
||||||
hubzilla:
|
|
||||||
image: hubzilla:debian12 # buildé et pushé manuellement avant
|
|
||||||
ports:
|
|
||||||
- target: 80
|
|
||||||
published: 8380
|
|
||||||
protocol: tcp
|
|
||||||
mode: host
|
|
||||||
environment:
|
|
||||||
DOMAIN: hub.alto.im
|
|
||||||
ADMIN_EMAIL: admin@hub.alto.im
|
|
||||||
SMTP_EMAIL: hub@admin.alto.im
|
|
||||||
SMTP_SERVER: smtp.example.com
|
|
||||||
SMTP_PORT: 587
|
|
||||||
SMTP_USER: hub@admin.alto.im
|
|
||||||
SMTP_PASS: yourpass
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
volumes:
|
|
||||||
- hubzilla_data:/var/www/html # contient site et config
|
|
||||||
networks:
|
|
||||||
- hubzilla_net
|
|
||||||
deploy:
|
|
||||||
placement:
|
|
||||||
constraints: [node.hostname == ds1]
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_data:
|
|
||||||
hubzilla_data:
|
|
||||||
|
|
||||||
networks:
|
|
||||||
hubzilla_net:
|
|
||||||
driver: overlay
|
|
||||||
attachable: true
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName yourdomain.com
|
ServerName {{DOMAIN}}
|
||||||
DocumentRoot /var/www/html
|
DocumentRoot /var/www/html
|
||||||
|
|
||||||
<Directory /var/www/html>
|
<Directory /var/www/html>
|
||||||
@@ -7,6 +7,6 @@
|
|||||||
Require all granted
|
Require all granted
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
ErrorLog ${APACHE_LOG_DIR}/hubzilla_error.log
|
||||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
CustomLog ${APACHE_LOG_DIR}/hubzilla_access.log combined
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<VirtualHost *:80>
|
|
||||||
ServerName yourdomain.com
|
|
||||||
DocumentRoot /var/www/html
|
|
||||||
|
|
||||||
<Directory /var/www/html>
|
|
||||||
AllowOverride All
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
|
||||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
|
||||||
</VirtualHost>
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Démarrage du service Apache
|
echo "[INFO] Lancement du service cron..."
|
||||||
service apache2 start
|
service cron start
|
||||||
|
|
||||||
# Attente indéfinie pour maintenir le conteneur en cours d'exécution
|
echo "[INFO] Lancement du serveur Apache..."
|
||||||
tail -f /dev/null
|
apachectl -D FOREGROUND
|
||||||
|
|||||||
Reference in New Issue
Block a user