From f128d6470b18ef8fff4e6ce0b269b2b673ab91ca Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 22 Feb 2020 05:03:12 +0100 Subject: mysql base (WIP), nginx config from ft_server --- README.md | 12 ++++++++++ docker-compose.yml | 0 setup.sh | 11 ++++++++++ srcs/.keep | 0 srcs/docker-compose.yml | 9 ++++++++ srcs/mysql/Dockerfile | 18 +++++++++++++++ srcs/mysql/scripts/setup_mysql.sh | 8 +++++++ srcs/mysql/scripts/setup_mysql_db.sql | 5 +++++ srcs/nginx/ft_services.com | 41 +++++++++++++++++++++++++++++++++++ srcs/phpmyadmin/Dockerfile | 0 10 files changed, 104 insertions(+) delete mode 100644 docker-compose.yml mode change 100644 => 100755 setup.sh delete mode 100644 srcs/.keep create mode 100644 srcs/docker-compose.yml create mode 100644 srcs/mysql/Dockerfile create mode 100755 srcs/mysql/scripts/setup_mysql.sh create mode 100755 srcs/mysql/scripts/setup_mysql_db.sql create mode 100644 srcs/nginx/ft_services.com create mode 100644 srcs/phpmyadmin/Dockerfile diff --git a/README.md b/README.md index 88756eb..2270ff5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ # ft_services ft\_services project of school 42 + +## Services + +- Kubernetes web dashboard +- Ingress Controller +- Nginx server +- FTPS server +- Wordpress website +- MySQL database +- Phpmyadmin +- Grafana +- InfluxDB diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index e69de29..0000000 diff --git a/setup.sh b/setup.sh old mode 100644 new mode 100755 index 1a24852..09b7c07 --- a/setup.sh +++ b/setup.sh @@ -1 +1,12 @@ #!/bin/sh + +if ! [ -x `command -v docker` ]; then + echo "Error: docker is not installed" + exit 1 +elif ! [ -x `command -v docker-compose` ]; then + echo "Error: docker-compose is not installed" + exit 1 +fi + +cd ./srcs +docker-compose --project-name ft_services up diff --git a/srcs/.keep b/srcs/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/srcs/docker-compose.yml b/srcs/docker-compose.yml new file mode 100644 index 0000000..1eb8c47 --- /dev/null +++ b/srcs/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3" +services: + nginx: + image: "nginx:alpine" + ports: + - 80:80 + mysql: + build: ./mysql/Dockerfile + diff --git a/srcs/mysql/Dockerfile b/srcs/mysql/Dockerfile new file mode 100644 index 0000000..f863eeb --- /dev/null +++ b/srcs/mysql/Dockerfile @@ -0,0 +1,18 @@ +FROM alpine:3.10 + +ENV MYSQL_ROOT_PASSWORD root +ENV MYSQL_DATABASE ft_services_db +ENV MYSQL_USER ft_services_user +ENV MYSQL_PASSWORD ft_services_password +ENV MYSQL_USER_MONITORING monitoring +ENV MYSQL_PASSWORD_MONITORING monitoring + +RUN apk update && \ + apk add --no-cache mysql-client +COPY ./scripts /root/scripts + +EXPOSE 3306 + +# RUN /root/scripts/setup_mysql.sh + +CMD ["mysql"] diff --git a/srcs/mysql/scripts/setup_mysql.sh b/srcs/mysql/scripts/setup_mysql.sh new file mode 100755 index 0000000..56f767f --- /dev/null +++ b/srcs/mysql/scripts/setup_mysql.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +addgroup mysql mysql + +MYSQLD_DIR=/run/mysqld + +mkdir $MYSQLD_DIR +chown mysql:mysql $MYSQL_DIR diff --git a/srcs/mysql/scripts/setup_mysql_db.sql b/srcs/mysql/scripts/setup_mysql_db.sql new file mode 100755 index 0000000..ea66998 --- /dev/null +++ b/srcs/mysql/scripts/setup_mysql_db.sql @@ -0,0 +1,5 @@ +CREATE DATABASE wordpressdb; +CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'wordpresspass'; +GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressuser'@'localhost' +IDENTIFIED BY 'wordpresspass'; +FLUSH PRIVILEGES; diff --git a/srcs/nginx/ft_services.com b/srcs/nginx/ft_services.com new file mode 100644 index 0000000..b04e470 --- /dev/null +++ b/srcs/nginx/ft_services.com @@ -0,0 +1,41 @@ +server { + listen 443 ssl; + listen [::]:443 ssl; + + ssl_certificate /root/ssl/localhost.pem; + ssl_certificate_key /root/ssl/localhost-key.pem; + + server_name localhost; + index index.php; + root /var/www/wordpress; + + location / { + try_files $uri $uri/ =404; # if uri or uri/ not valid, 404 error + } + + # phpmyadmin path, change root + location /phpmyadmin { + root /var/www; + index index.php; + location ~ ^/phpmyadmin/(.+\.php)$ { + include snippets/fastcgi-php.conf; + fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; + } + location ~ ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { + root /var/www; + } + } + + # php files + location ~ \.php$ { + include snippets/fastcgi-php.conf; # include php fpm settings + fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # socket where php fpm is running + } +} + +server { + listen 80; + listen [::]:80; + server_name localhost; + return 301 https://$host$request_uri; +} diff --git a/srcs/phpmyadmin/Dockerfile b/srcs/phpmyadmin/Dockerfile new file mode 100644 index 0000000..e69de29 -- cgit