Compare commits
10 Commits
4e387b7d30
...
a714c16b21
| Author | SHA1 | Date | |
|---|---|---|---|
| a714c16b21 | |||
| a5157b6b62 | |||
| b9a35c03d3 | |||
| 23acb09061 | |||
| 602919aca5 | |||
| ea923a686e | |||
| 84b28bf9f0 | |||
| 3b6d0a29ec | |||
| e6b9328cf5 | |||
| 42200ad1f2 |
@@ -1,13 +1,17 @@
|
||||
|
||||
#building container and creating directory for volumes
|
||||
all:
|
||||
mkdir -p /home/yantoine/data/db
|
||||
mkdir -p /home/yantoine/data/wp
|
||||
docker-compose -f srcs/docker-compose.yml up --build -d
|
||||
|
||||
#stopping container without deleting volumes
|
||||
down:
|
||||
docker-compose -f srcs/docker-compose.yml down
|
||||
|
||||
re: down all
|
||||
|
||||
#stopping container and deleting volumes
|
||||
prune: down
|
||||
docker system prune -a --volumes
|
||||
docker volume rm srcs_db srcs_wp
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
ContainerOrchestrator est un projet qui consiste à créer un environnement de développement local en utilisant Docker et Docker Compose pour orchestrer plusieurs services conteneurisés. L'objectif principal est de configurer et de gérer plusieurs conteneurs qui interagissent entre eux pour former un environnement de développement complet et isolé.
|
||||
Voici quelques caractéristiques clés de ContainerOrchestrator :
|
||||
|
||||
|
||||
Docker et Docker Compose : Utilisation de Docker pour conteneuriser les applications et de Docker Compose pour définir et gérer les services multi-conteneurs.
|
||||
|
||||
|
||||
Services Multi-conteneurs : Configuration de plusieurs conteneurs pour différents services tels que le serveur web, la base de données, et d'autres outils nécessaires au développement.
|
||||
|
||||
|
||||
Isolation des Environnements : Chaque service s'exécute dans son propre conteneur, ce qui permet d'isoler les environnements et de gérer les dépendances de manière efficace.
|
||||
|
||||
|
||||
Configuration et Déploiement : Définition des configurations nécessaires pour chaque service dans des fichiers Dockerfile et docker-compose.yml, facilitant ainsi le déploiement et la gestion des services.
|
||||
|
||||
|
||||
Réseau et Volumes : Configuration des réseaux Docker pour permettre la communication entre les conteneurs et utilisation des volumes pour la persistance des données.
|
||||
|
||||
|
||||
Automatisation : Automatisation du processus de configuration et de démarrage des services, rendant l'environnement de développement facile à reproduire et à partager.
|
||||
|
||||
|
||||
Ce projet est une excellente introduction à l'orchestration de conteneurs et offre une compréhension pratique de la gestion des environnements de développement avec Docker et Docker Compose.
|
||||
|
||||
exemple de .env fonctionnel:
|
||||
|
||||
DOMAIN_NAME=user.42.fr
|
||||
|
||||
MYSQL_USER=user
|
||||
|
||||
MYSQL_PASSWORD=kekeforce
|
||||
|
||||
MYSQL_DATABASE=wordpress
|
||||
|
||||
MYSQL_ROOT_PASSWORD=kakiforce
|
||||
|
||||
ADMIN_USER=superuser
|
||||
|
||||
ADMIN_PASSWORD=lelaisserpasser
|
||||
|
||||
ADMIN_MAIL=superuser@mail.com
|
||||
|
||||
MYSQL_HOST=mariadb
|
||||
|
||||
NORMAL_USER=jean
|
||||
|
||||
NORMAL_PASSWORD=1234
|
||||
|
||||
NORMAL_MAIL=jean@example.com
|
||||
@@ -1,10 +0,0 @@
|
||||
DDOMAIN_NAME=yantoine.42.fr
|
||||
DOMAIN_NAME=51.103.107.252
|
||||
MYSQL_USER=yantoine
|
||||
MYSQL_PASSWORD=password
|
||||
MYSQL_DATABASE=wordpress
|
||||
MYSQL_ROOT_PASSWORD=rootpass
|
||||
ADMIN_USER=superuser
|
||||
ADMIN_PASSWORD=lelaisserpasser
|
||||
ADMIN_MAIL=superuser@mail.com
|
||||
MYSQL_HOST=mariadb
|
||||
@@ -1,13 +1,14 @@
|
||||
version: '3'
|
||||
|
||||
#PService part
|
||||
services:
|
||||
mariadb:
|
||||
build: ./requirements/mariadb
|
||||
container_name: mariadb
|
||||
restart: always
|
||||
volumes:
|
||||
- db:/var/lib/mysql
|
||||
env_file: .env
|
||||
- db:/var/lib/mysql
|
||||
env_file: .env
|
||||
networks:
|
||||
- inception
|
||||
|
||||
|
||||
@@ -1,18 +1,9 @@
|
||||
#
|
||||
#These groups are read by MariaDB server.
|
||||
#Use it for options that only the server (but not clients) should see
|
||||
#
|
||||
#See the examples of server my.cnf files in /usr/share/mysql
|
||||
|
||||
#this is read by the standalone daemon and embedded servers
|
||||
[server]
|
||||
|
||||
#this is only for the mysqld standalone daemon
|
||||
|
||||
[mysqld]
|
||||
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
user = mysql
|
||||
pid-file = /run/mysqld/mysqld.pid
|
||||
socket = /run/mysqld/mysqld.sock
|
||||
@@ -21,113 +12,20 @@ basedir = /usr
|
||||
datadir = /var/lib/mysql
|
||||
tmpdir = /tmp
|
||||
lc-messages-dir = /usr/share/mysql
|
||||
#skip-external-locking
|
||||
|
||||
#Instead of skip-networking the default is now to listen only on
|
||||
#localhost which is more compatible and is not less secure.
|
||||
bind-address = 0.0.0.0
|
||||
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
#key_buffer_size = 16M
|
||||
#max_allowed_packet = 16M
|
||||
#thread_stack = 192K
|
||||
#thread_cache_size = 8
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched
|
||||
#myisam_recover_options = BACKUP
|
||||
#max_connections = 100
|
||||
#table_cache = 64
|
||||
#thread_concurrency = 10
|
||||
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
#query_cache_limit = 1M
|
||||
query_cache_size = 16M
|
||||
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
#general_log_file = /var/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
#
|
||||
# Error log - should be very few entries.
|
||||
#
|
||||
log_error = /var/log/mysql/error.log
|
||||
#
|
||||
# Enable the slow query log to see queries with especially long duration
|
||||
#slow_query_log_file = /var/log/mysql/mariadb-slow.log
|
||||
#long_query_time = 10
|
||||
#log_slow_rate_limit = 1000
|
||||
#log_slow_verbosity = query_plan
|
||||
#log-queries-not-using-indexes
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
#server-id = 1
|
||||
#log_bin = /var/log/mysql/mysql-bin.log
|
||||
|
||||
expire_logs_days = 10
|
||||
#max_binlog_size = 100M
|
||||
#binlog_do_db = include_database_name
|
||||
#binlog_ignore_db = exclude_database_name
|
||||
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
#chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates you can use for example the GUI tool "tinyca".
|
||||
#
|
||||
#ssl-ca = /etc/mysql/cacert.pem
|
||||
#ssl-cert = /etc/mysql/server-cert.pem
|
||||
#ssl-key = /etc/mysql/server-key.pem
|
||||
#
|
||||
# Accept only connections using the latest and most secure TLS protocol version.
|
||||
# ..when MariaDB is compiled with OpenSSL:
|
||||
#ssl-cipher = TLSv1.2
|
||||
# ..when MariaDB is compiled with YaSSL (default in Debian):
|
||||
#ssl = on
|
||||
|
||||
#
|
||||
# * Character sets
|
||||
#
|
||||
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
|
||||
# utf8 4-byte character set. See also client.cnf
|
||||
#
|
||||
character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_general_ci
|
||||
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
|
||||
#
|
||||
# * Unix socket authentication plugin is built-in since 10.0.22-6
|
||||
#
|
||||
# Needed so the root database user can authenticate without a password but
|
||||
# only when running as the unix root user.
|
||||
#
|
||||
# Also available for other users if required.
|
||||
# See https://mariadb.com/kb/en/unix_socket-authentication-plugin/
|
||||
|
||||
# this is only for embedded server
|
||||
[embedded]
|
||||
|
||||
# This group is only read by MariaDB servers, not by MySQL.
|
||||
# If you use the same .cnf file for MySQL and MariaDB,
|
||||
# you can put MariaDB-only options here
|
||||
[mariadb]
|
||||
|
||||
# This group is only read by MariaDB-10.3 servers.
|
||||
# If you use the same .cnf file for MariaDB of different versions,
|
||||
# use this group for options that older servers don't understand
|
||||
[mariadb-10.3]
|
||||
|
||||
@@ -8,7 +8,6 @@ chown -R www-data:www-data /var/www/html
|
||||
|
||||
echo "🔍 MYSQL_HOST=$MYSQL_HOST"
|
||||
echo "🔍 MYSQL_USER=$MYSQL_USER"
|
||||
echo "🔍 MYSQL_PASSWORD=$MYSQL_PASSWORD"
|
||||
|
||||
# Attendre que MariaDB soit prêt
|
||||
echo "Waiting for MariaDB to be ready..."
|
||||
@@ -35,6 +34,14 @@ wp core install --path=/var/www/html \
|
||||
--skip-email \
|
||||
--allow-root
|
||||
|
||||
# Créer un utilisateur WordPress normal
|
||||
wp user create "$NORMAL_USER" "$NORMAL_MAIL" \
|
||||
--user_pass="$NORMAL_PASSWORD" \
|
||||
--role=subscriber \
|
||||
--path=/var/www/html \
|
||||
--allow-root
|
||||
|
||||
|
||||
chown -R www-data:www-data /var/www/html
|
||||
|
||||
exec php-fpm8.2 -F
|
||||
|
||||
Reference in New Issue
Block a user