Compare commits

..

2 Commits

7 changed files with 61 additions and 55 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
SUBDOMAINS=( SUBDOMAINS=(
"whaffman.42.fr" "mail.whaffman.42.fr" "adminer.whaffman.42.fr" "ftp.whaffman.42.fr") "whaffman.42.fr" "mail.whaffman.42.fr" "adminer.whaffman.42.fr" "ftp.whaffman.42.fr" "static.whaffman.42.fr")
HOSTS_FILE="/etc/hosts" HOSTS_FILE="/etc/hosts"
IP="127.0.0.1" IP="127.0.0.1"
@ -12,4 +12,11 @@ for SUBDOMAIN in "${SUBDOMAINS[@]}"; do
else else
echo "$SUBDOMAIN already exists in $HOSTS_FILE" echo "$SUBDOMAIN already exists in $HOSTS_FILE"
fi fi
done done
if [ ! -d "/home/whaffman" ]; then
sudo mkdir -p /home/whaffman
echo "Created /home/whaffman"
fi
sudo chmod 777 /home/whaffman
echo "Granted read/write permissions to everyone for /home/whaffman"

View File

@ -18,7 +18,6 @@ services:
- data_mariadb:/var/lib/mysql - data_mariadb:/var/lib/mysql
restart: unless-stopped restart: unless-stopped
nginx: nginx:
container_name: nginx container_name: nginx
build: build:
@ -37,15 +36,12 @@ services:
- DOMAIN_NAME=${DOMAIN_NAME} - DOMAIN_NAME=${DOMAIN_NAME}
ports: ports:
- '443:443' - '443:443'
- '8443:8443'
- '8080:8080'
networks: networks:
- docker-network - docker-network
volumes: volumes:
- data_wordpress:/var/www/html - data_wordpress:/var/www/html
restart: unless-stopped restart: unless-stopped
wordpress: wordpress:
container_name: wordpress container_name: wordpress
build: build:
@ -160,7 +156,6 @@ networks:
docker-network: docker-network:
name: docker-network name: docker-network
volumes: volumes:
data_mariadb: data_mariadb:
name: data_mariadb name: data_mariadb

View File

@ -11,8 +11,6 @@ ENV GOPATH /go
ENV PATH /go/bin:$PATH ENV PATH /go/bin:$PATH
RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin
ENV GOTOOLCHAIN=auto
RUN go install github.com/mailhog/MailHog@latest RUN go install github.com/mailhog/MailHog@latest

View File

@ -12,7 +12,7 @@ if [ "$1" = 'mysqld' ] && [ ! -d "/var/lib/mysql/mysql" ]; then
mysql -e "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" && \ mysql -e "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" && \
mysql -e "GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%';" mysql -e "GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%';"
mysql -e "FLUSH PRIVILEGES;" mysql -e "FLUSH PRIVILEGES;"
[ -f "/usr/bin/local/init.sql" ] && mysql "${MYSQL_DATABASE}" < /usr/bin/local/init.sql # [ -f "/usr/bin/local/init.sql" ] && mysql "${MYSQL_DATABASE}" < /usr/bin/local/init.sql
kill "$pid" && wait "$pid" kill "$pid" && wait "$pid"
fi fi

View File

@ -14,6 +14,7 @@ RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-subj "/CN=*.${DOMAIN_NAME}" -subj "/CN=*.${DOMAIN_NAME}"
COPY ./conf/nginx.conf /etc/nginx/nginx.conf COPY ./conf/nginx.conf /etc/nginx/nginx.conf
RUN sed -i "s/\${DOMAIN_NAME}/${DOMAIN_NAME}/g" /etc/nginx/nginx.conf
EXPOSE 443 8443 EXPOSE 443 8443
CMD ["nginx", "-g", "daemon off;"] CMD ["nginx", "-g", "daemon off;"]
HEALTHCHECK --interval=5s --timeout=3s --start-period=5s --retries=1 \ HEALTHCHECK --interval=5s --timeout=3s --start-period=5s --retries=1 \

View File

@ -5,55 +5,13 @@ events {
worker_connections 1024; worker_connections 1024;
} }
http { http {
include /etc/nginx/mime.types; include /etc/nginx/mime.types;
default_type application/octet-stream; default_type application/octet-stream;
server { server {
listen 443 ssl; listen 443 ssl;
server_name ${DOMAIN_NAME}; server_name mail.${DOMAIN_NAME};
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
root /var/www/html;
access_log /var/log/nginx/example.localhost-access.log;
error_log /var/log/nginx/example.localhost-error.log error;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ /adminer\.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass adminer:9000;
fastcgi_index adminer.php;
include fastcgi.conf;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
server {
listen 8080;
server_name ${DOMAIN_NAME};
location / {
proxy_pass http://static-site:80;
}
}
server {
listen 8443 ssl;
server_name ${DOMAIN_NAME};
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt; ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key; ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
@ -74,5 +32,52 @@ http {
} }
} }
server {
listen 443 ssl;
server_name adminer.${DOMAIN_NAME};
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
location / {
fastcgi_pass adminer:9000;
fastcgi_param SCRIPT_FILENAME /var/www/html/adminer.php;
include fastcgi_params;
}
}
server {
listen 443 ssl;
server_name static.${DOMAIN_NAME};
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
location / {
proxy_pass http://static-site:80;
}
}
server {
listen 443 ssl;
server_name ${DOMAIN_NAME};
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
root /var/www/html;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
} }

View File

@ -46,7 +46,7 @@
</style> </style>
</head> </head>
<body> <body>
<img src="./42_Logo.svg" alt="42 Logo" style="height: 100px; margin-bottom: 20px;"> <img src="./42_logo.svg" alt="42 Logo" style="height: 100px; margin-bottom: 20px;">
<h1>Welcome to whaffman.42.fr</h1> <h1>Welcome to whaffman.42.fr</h1>
<h2>Available Services</h2> <h2>Available Services</h2>
<ul class="services-list"> <ul class="services-list">