「🏗️」 wip: Started re work
This commit is contained in:
45
Makefile
45
Makefile
@ -8,29 +8,19 @@ DOCKERFILE_DB := $(DOCKER_CONTEXT)$(DOCKER_FOLDER)/$(DB_SERVER_NAME)/Dockerfile
|
|||||||
DOCKERFILE_WEVSRV := $(DOCKER_CONTEXT)$(DOCKER_FOLDER)/$(WEB_SERVER_NAME)/Dockerfile
|
DOCKERFILE_WEVSRV := $(DOCKER_CONTEXT)$(DOCKER_FOLDER)/$(WEB_SERVER_NAME)/Dockerfile
|
||||||
DOCKERFILE_CMS := $(DOCKER_CONTEXT)$(DOCKER_FOLDER)/$(CMS_NAME)/Dockerfile
|
DOCKERFILE_CMS := $(DOCKER_CONTEXT)$(DOCKER_FOLDER)/$(CMS_NAME)/Dockerfile
|
||||||
|
|
||||||
all:
|
dev:
|
||||||
|
docker compose --profile dev -f $(DOCKER_CONTEXT)docker-compose.yml up -d --build
|
||||||
|
|
||||||
|
prod:
|
||||||
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml up -d --build
|
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml up -d --build
|
||||||
|
|
||||||
build-db:
|
all: dev
|
||||||
docker build -f $(DOCKERFILE_DB) -t $(DB_SERVER_NAME) $(DOCKER_CONTEXT)
|
|
||||||
|
|
||||||
build-websrv:
|
|
||||||
docker build -f $(DOCKERFILE_WEVSRV) -t $(WEB_SERVER_NAME) $(DOCKER_CONTEXT)
|
|
||||||
|
|
||||||
build-cms:
|
|
||||||
docker build -f $(DOCKERFILE_CMS) -t $(CMS_NAME) $(DOCKER_CONTEXT)
|
|
||||||
|
|
||||||
start-db:
|
|
||||||
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml up db --build
|
|
||||||
|
|
||||||
start-nginx:
|
|
||||||
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml up nginx --build
|
|
||||||
|
|
||||||
start-wordp:
|
|
||||||
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml up wordpress-php --build
|
|
||||||
|
|
||||||
stop:
|
stop:
|
||||||
docker compose -f $(DOCKER_CONTEXT)docker-compose.yml stop
|
docker compose --profile dev -f $(DOCKER_CONTEXT)docker-compose.yml stop
|
||||||
|
|
||||||
|
stop-prod:
|
||||||
|
docker compose -f $(DOCKER_CONTEXT)docker-compose-prod.yml stop
|
||||||
|
|
||||||
clean: stop
|
clean: stop
|
||||||
docker system prune
|
docker system prune
|
||||||
@ -38,23 +28,6 @@ clean: stop
|
|||||||
fclean: clean
|
fclean: clean
|
||||||
docker system prune -a
|
docker system prune -a
|
||||||
|
|
||||||
clean-db:
|
|
||||||
docker stop inception-db
|
|
||||||
docker container rm inception-db
|
|
||||||
docker volume rm inception_wp-db
|
|
||||||
docker image rm inception-db
|
|
||||||
|
|
||||||
clean-wordp:
|
|
||||||
docker stop inception-wordp-php
|
|
||||||
docker container rm inception-wordp-php
|
|
||||||
docker volume rm inception_wp-site
|
|
||||||
docker image rm inception-wordpress-php
|
|
||||||
|
|
||||||
clean-nginx:
|
|
||||||
docker stop inception-nginx
|
|
||||||
docker container rm inception-nginx
|
|
||||||
docker image rm inception-nginx
|
|
||||||
|
|
||||||
re: clean all
|
re: clean all
|
||||||
|
|
||||||
.PHONY: cms-build db-build websrv-build clean-db clean-nginx
|
.PHONY: cms-build db-build websrv-build clean-db clean-nginx
|
||||||
|
0
srcs/docker-compose-prod.yml
Normal file
0
srcs/docker-compose-prod.yml
Normal file
@ -1,82 +1,14 @@
|
|||||||
name: inception
|
name: inception
|
||||||
|
|
||||||
volumes:
|
include:
|
||||||
wp-db:
|
- path: ./docker/composes/nginx.yml
|
||||||
wp-site:
|
project_directory: ./
|
||||||
|
- path: ./docker/composes/wordp-php.yml
|
||||||
|
project_directory: ./
|
||||||
|
- path: ./docker/composes/db.yml
|
||||||
|
project_directory: ./
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
inception:
|
inception:
|
||||||
|
name: inception
|
||||||
external: false
|
external: false
|
||||||
|
|
||||||
services:
|
|
||||||
nginx:
|
|
||||||
container_name: inception-nginx
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/nginx/Dockerfile
|
|
||||||
networks:
|
|
||||||
- inception
|
|
||||||
environment:
|
|
||||||
- TZ=Europe/Paris
|
|
||||||
- NGINX_PHP_HOST=inception-wordp-php
|
|
||||||
- NGINX_SSL_KEY_FILE=/etc/nginx/ssl/adjoly-wp.key
|
|
||||||
- NGINX_SSL_CERT_FILE=/etc/nginx/ssl/adjoly-wp.crt
|
|
||||||
- NGINX_EXPOSED_HOSTS=adjoly.42.fr
|
|
||||||
depends_on:
|
|
||||||
wordpress-php:
|
|
||||||
condition: service_healthy
|
|
||||||
db:
|
|
||||||
condition: service_healthy
|
|
||||||
volumes:
|
|
||||||
- wp-site:/var/www/html
|
|
||||||
- ./configs/nginx/templates:/etc/nginx/templates
|
|
||||||
- ./configs/nginx/entry:/docker-entrypoint.d
|
|
||||||
ports:
|
|
||||||
- "10443:443"
|
|
||||||
restart: unless-stopped
|
|
||||||
labels:
|
|
||||||
- traefik.enable=true
|
|
||||||
- traefik.docker.network=traefik-back
|
|
||||||
|
|
||||||
- traefik.http.routers.inception.rule=Host(`inception.kanel.ovh`)
|
|
||||||
- traefik.http.routers.inception.entrypoints=websecure
|
|
||||||
- traefik.http.routers.inception.tls=true
|
|
||||||
- traefik.http.routers.inception.tls.certresolver=letsencrypt
|
|
||||||
- traefik.http.routers.inception.service=inception
|
|
||||||
- traefik.http.services.inception.loadbalancer.server.port=80
|
|
||||||
|
|
||||||
wordpress-php:
|
|
||||||
container_name: inception-wordp-php
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/wordpress/Dockerfile
|
|
||||||
networks:
|
|
||||||
- inception
|
|
||||||
depends_on:
|
|
||||||
db:
|
|
||||||
condition: service_healthy
|
|
||||||
environment:
|
|
||||||
- PHP_MEMORY_LIMIT="512M"
|
|
||||||
- PHP_MAX_UPLOAD="50M"
|
|
||||||
- PHP_PORT=9000
|
|
||||||
- TZ=Europe/Paris
|
|
||||||
volumes:
|
|
||||||
- wp-site:/var/www/html
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
db:
|
|
||||||
container_name: inception-db
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: docker/mariadb/Dockerfile
|
|
||||||
networks:
|
|
||||||
- inception
|
|
||||||
environment:
|
|
||||||
- MYSQL_ROOT_PASSWORD="alpine"
|
|
||||||
- MYSQL_PASSWORD="alpine"
|
|
||||||
- MYSQL_USER="kanel"
|
|
||||||
- MYSQL_DATABASE="knl"
|
|
||||||
- TZ=Europe/Paris
|
|
||||||
volumes:
|
|
||||||
- wp-db:/var/lib/mysql
|
|
||||||
restart: unless-stopped
|
|
||||||
|
20
srcs/docker/composes/db.yml
Normal file
20
srcs/docker/composes/db.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
volumes:
|
||||||
|
wp-db:
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
container_name: inception-db
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/images/mariadb/Dockerfile
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD="alpine"
|
||||||
|
- MYSQL_PASSWORD="alpine"
|
||||||
|
- MYSQL_USER="kanel"
|
||||||
|
- MYSQL_DATABASE="knl"
|
||||||
|
- TZ=Europe/Paris
|
||||||
|
volumes:
|
||||||
|
- wp-db:/var/lib/mysql
|
||||||
|
restart: unless-stopped
|
11
srcs/docker/composes/nginx-prod.yml
Normal file
11
srcs/docker/composes/nginx-prod.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=traefik-back
|
||||||
|
|
||||||
|
- traefik.http.routers.inception.rule=Host(`inception.kanel.ovh`)
|
||||||
|
- traefik.http.routers.inception.entrypoints=websecure
|
||||||
|
- traefik.http.routers.inception.tls=true
|
||||||
|
- traefik.http.routers.inception.tls.certresolver=letsencrypt
|
||||||
|
- traefik.http.routers.inception.service=inception
|
||||||
|
- traefik.http.services.inception.loadbalancer.server.port=80
|
43
srcs/docker/composes/nginx.yml
Normal file
43
srcs/docker/composes/nginx.yml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
volumes:
|
||||||
|
nginx-templates:
|
||||||
|
name: nginx-templates
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
device: ./configs/nginx/templates
|
||||||
|
o: "bind,ro"
|
||||||
|
type: none
|
||||||
|
nginx-entry:
|
||||||
|
name: nginx-entry
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
device: ./configs/nginx/entry
|
||||||
|
o: "bind,ro"
|
||||||
|
type: none
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
container_name: inception-nginx
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/images/nginx/Dockerfile
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Paris
|
||||||
|
- NGINX_PHP_HOST=inception-wordp-php
|
||||||
|
- NGINX_SSL_KEY_FILE=/etc/nginx/ssl/adjoly-wp.key
|
||||||
|
- NGINX_SSL_CERT_FILE=/etc/nginx/ssl/adjoly-wp.crt
|
||||||
|
- NGINX_EXPOSED_HOSTS=adjoly.42.fr
|
||||||
|
depends_on:
|
||||||
|
wordpress-php:
|
||||||
|
condition: service_healthy
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- wp-site:/var/www/html
|
||||||
|
- nginx-templates:/etc/nginx/templates
|
||||||
|
- nginx-entry:/docker-entrypoint.d
|
||||||
|
ports:
|
||||||
|
- "10443:443"
|
||||||
|
restart: unless-stopped
|
22
srcs/docker/composes/wordp-php.yml
Normal file
22
srcs/docker/composes/wordp-php.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
volumes:
|
||||||
|
wp-site:
|
||||||
|
|
||||||
|
services:
|
||||||
|
wordpress-php:
|
||||||
|
container_name: inception-wordp-php
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/images/wordpress/Dockerfile
|
||||||
|
networks:
|
||||||
|
- inception
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
- PHP_MEMORY_LIMIT="512M"
|
||||||
|
- PHP_MAX_UPLOAD="50M"
|
||||||
|
- PHP_PORT=9000
|
||||||
|
- TZ=Europe/Paris
|
||||||
|
volumes:
|
||||||
|
- wp-site:/var/www/html
|
||||||
|
restart: unless-stopped
|
@ -1,5 +1,5 @@
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
ADD docker/images/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
||||||
|
|
||||||
LABEL version="0.1"
|
LABEL version="0.1"
|
||||||
LABEL maintainer="KeyZox"
|
LABEL maintainer="KeyZox"
|
@ -1,5 +1,5 @@
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
ADD docker/images/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
||||||
|
|
||||||
LABEL version="0.1"
|
LABEL version="0.1"
|
||||||
LABEL maintainer="KeyZox"
|
LABEL maintainer="KeyZox"
|
||||||
@ -28,7 +28,7 @@ RUN set -x \
|
|||||||
|
|
||||||
VOLUME /etc/nginx/templates
|
VOLUME /etc/nginx/templates
|
||||||
VOLUME /docker-entrypoint.d
|
VOLUME /docker-entrypoint.d
|
||||||
COPY docker/nginx/health.conf /etc/nginx/http.d/health.conf
|
COPY docker/images/nginx/health.conf /etc/nginx/http.d/health.conf
|
||||||
|
|
||||||
ENTRYPOINT [ "/docker-entrypoint" ]
|
ENTRYPOINT [ "/docker-entrypoint" ]
|
||||||
WORKDIR /etc/nginx
|
WORKDIR /etc/nginx
|
@ -1,5 +1,5 @@
|
|||||||
FROM scratch
|
FROM scratch
|
||||||
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
ADD docker/images/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
|
||||||
|
|
||||||
LABEL version="0.1"
|
LABEL version="0.1"
|
||||||
LABEL maintainer="KeyZox"
|
LABEL maintainer="KeyZox"
|
||||||
@ -10,7 +10,7 @@ RUN set -x \
|
|||||||
COPY go.mod /build/go.mod
|
COPY go.mod /build/go.mod
|
||||||
COPY cmd /build/cmd
|
COPY cmd /build/cmd
|
||||||
COPY internal /build/internal
|
COPY internal /build/internal
|
||||||
COPY docker/wordpress/www-docker.conf /www-docker.conf
|
COPY docker/images/wordpress/www-docker.conf /www-docker.conf
|
||||||
|
|
||||||
RUN apk add --no-cache go curl php84-mysqli php84-fpm tzdata fcgi \
|
RUN apk add --no-cache go curl php84-mysqli php84-fpm tzdata fcgi \
|
||||||
&& cd /build \
|
&& cd /build \
|
Reference in New Issue
Block a user