set users to host UId for convenience
This commit is contained in:
parent
96e9821448
commit
1bc7d4bb6f
13
Makefile
13
Makefile
@ -6,7 +6,7 @@
|
|||||||
# By: whaffman <whaffman@student.codam.nl> +#+ #
|
# By: whaffman <whaffman@student.codam.nl> +#+ #
|
||||||
# +#+ #
|
# +#+ #
|
||||||
# Created: 2025/05/12 15:33:56 by whaffman #+# #+# #
|
# Created: 2025/05/12 15:33:56 by whaffman #+# #+# #
|
||||||
# Updated: 2025/05/20 22:14:24 by whaffman ######## odam.nl #
|
# Updated: 2025/05/22 10:06:24 by whaffman ######## odam.nl #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -19,7 +19,9 @@ DATA_DIR = ./data
|
|||||||
WORDPRESS_DATA_DIR = $(DATA_DIR)/wordpress
|
WORDPRESS_DATA_DIR = $(DATA_DIR)/wordpress
|
||||||
MARIADB_DATA_DIR = $(DATA_DIR)/mariadb
|
MARIADB_DATA_DIR = $(DATA_DIR)/mariadb
|
||||||
|
|
||||||
DC = $(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(DOCKER_ENV_FILE) --project-name ""
|
UID := $(shell id -u)
|
||||||
|
|
||||||
|
DC = $(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(DOCKER_ENV_FILE) --project-name ""
|
||||||
|
|
||||||
.PHONY: all build up down remove
|
.PHONY: all build up down remove
|
||||||
|
|
||||||
@ -38,10 +40,10 @@ $(MARIADB_DATA_DIR):
|
|||||||
|
|
||||||
build: $(WORDPRESS_DATA_DIR) $(MARIADB_DATA_DIR)
|
build: $(WORDPRESS_DATA_DIR) $(MARIADB_DATA_DIR)
|
||||||
@echo "$(gub)Building Docker containers...$(reset)"
|
@echo "$(gub)Building Docker containers...$(reset)"
|
||||||
$(DC) build
|
$(DC) build --build-arg HOST_UID=$(UID)
|
||||||
up:
|
up:
|
||||||
@echo "$(gub)Starting Docker containers...$(reset)"
|
@echo "$(gub)Starting Docker containers...$(reset)"
|
||||||
$(DC) up -d --build
|
$(DC) up -d
|
||||||
|
|
||||||
down:
|
down:
|
||||||
@echo "$(gub)Stopping Docker containers...$(reset)"
|
@echo "$(gub)Stopping Docker containers...$(reset)"
|
||||||
@ -50,6 +52,9 @@ down:
|
|||||||
clean:
|
clean:
|
||||||
@echo "$(gub)Cleaning up Docker containers...$(reset)"
|
@echo "$(gub)Cleaning up Docker containers...$(reset)"
|
||||||
$(DC) down --rmi local --volumes --remove-orphans
|
$(DC) down --rmi local --volumes --remove-orphans
|
||||||
|
@rm -rf $(DATA_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logs:
|
logs:
|
||||||
@echo "$(gub)Displaying logs...$(reset)"
|
@echo "$(gub)Displaying logs...$(reset)"
|
||||||
|
|||||||
@ -19,7 +19,7 @@ WP_THEME=impressionist
|
|||||||
|
|
||||||
WP_USER=inception
|
WP_USER=inception
|
||||||
WP_USER_PASSWORD=42inception42
|
WP_USER_PASSWORD=42inception42
|
||||||
WP_USER_EMAIL=inception@duinvoetje.nl
|
WP_USER_EMAIL=inception2@duinvoetje.nl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,28 +1,22 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mariadb:
|
mariadb:
|
||||||
container_name: mariadb
|
container_name: mariadb
|
||||||
restart: always
|
build:
|
||||||
|
context: ./requirements/mariadb
|
||||||
|
dockerfile: Dockerfile
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
- MYSQL_USER=${MYSQL_USER}
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
build:
|
|
||||||
context: ./requirements/mariadb
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
networks:
|
networks:
|
||||||
- docker-network
|
- docker-network
|
||||||
volumes:
|
volumes:
|
||||||
- data_mariadb:/var/lib/mysql
|
- data_mariadb:/var/lib/mysql
|
||||||
|
restart: always
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
restart: always
|
|
||||||
container_name: nginx
|
container_name: nginx
|
||||||
environment:
|
|
||||||
- DOMAIN_NAME=${DOMAIN_NAME}
|
|
||||||
build:
|
build:
|
||||||
context: ./requirements/nginx
|
context: ./requirements/nginx
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -30,16 +24,18 @@ services:
|
|||||||
DOMAIN_NAME: ${DOMAIN_NAME}
|
DOMAIN_NAME: ${DOMAIN_NAME}
|
||||||
depends_on:
|
depends_on:
|
||||||
- wordpress
|
- wordpress
|
||||||
|
environment:
|
||||||
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
||||||
ports:
|
ports:
|
||||||
- '443:443'
|
- '443:443'
|
||||||
networks:
|
networks:
|
||||||
- docker-network
|
- docker-network
|
||||||
volumes:
|
volumes:
|
||||||
- data_wordpress:/var/www/html
|
- data_wordpress:/var/www/html
|
||||||
|
restart: always
|
||||||
|
|
||||||
wordpress:
|
wordpress:
|
||||||
container_name: wordpress
|
container_name: wordpress
|
||||||
restart: always
|
|
||||||
build:
|
build:
|
||||||
context: ./requirements/wordpress
|
context: ./requirements/wordpress
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -48,30 +44,29 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- DOMAIN_NAME=${DOMAIN_NAME}
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
||||||
|
|
||||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
|
||||||
- MYSQL_USER=${MYSQL_USER}
|
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
||||||
|
|
||||||
- DB_HOST=${DB_HOST}
|
- DB_HOST=${DB_HOST}
|
||||||
- DB_PORT=${DB_PORT}
|
- DB_PORT=${DB_PORT}
|
||||||
|
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
|
||||||
- WP_TITLE=${WP_TITLE}
|
- WP_TITLE=${WP_TITLE}
|
||||||
- WP_DESCRIPTION=${WP_DESCRIPTION}
|
- WP_DESCRIPTION=${WP_DESCRIPTION}
|
||||||
|
- WP_THEME=${WP_THEME}
|
||||||
|
|
||||||
- WP_ADMIN=${WP_ADMIN}
|
- WP_ADMIN=${WP_ADMIN}
|
||||||
- WP_ADMIN_PASSWORD=${WP_ADMIN_PASSWORD}
|
- WP_ADMIN_PASSWORD=${WP_ADMIN_PASSWORD}
|
||||||
- WP_ADMIN_EMAIL=${WP_ADMIN_EMAIL}
|
- WP_ADMIN_EMAIL=${WP_ADMIN_EMAIL}
|
||||||
|
|
||||||
- WP_THEME=${WP_THEME}
|
|
||||||
|
|
||||||
- WP_USER=${WP_USER}
|
- WP_USER=${WP_USER}
|
||||||
- WP_USER_PASSWORD=${WP_USER_PASSWORD}
|
- WP_USER_PASSWORD=${WP_USER_PASSWORD}
|
||||||
- WP_USER_EMAIL=${WP_USER_EMAIL}
|
- WP_USER_EMAIL=${WP_USER_EMAIL}
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
- docker-network
|
- docker-network
|
||||||
volumes:
|
volumes:
|
||||||
- data_wordpress:/var/www/html
|
- data_wordpress:/var/www/html
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@ -10,9 +10,11 @@ RUN apk add --no-cache \
|
|||||||
mariadb-client && \
|
mariadb-client && \
|
||||||
rm -rf /var/cache/apk/*
|
rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
|
ARG HOST_UID
|
||||||
|
|
||||||
# Create a new user and group
|
# Create a new user and group
|
||||||
RUN addgroup -S mariadb && \
|
RUN addgroup -S -g $HOST_UID mariadb && \
|
||||||
adduser -S mariadb -G mariadb
|
adduser -S -u $HOST_UID mariadb -G mariadb
|
||||||
|
|
||||||
# Create the necessary directories
|
# Create the necessary directories
|
||||||
RUN mkdir -p /var/run/mysqld && \
|
RUN mkdir -p /var/run/mysqld && \
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
FROM alpine:3.20
|
FROM alpine:3.20
|
||||||
|
|
||||||
|
ARG HOST_UID
|
||||||
|
|
||||||
# Install WordPress and its dependencies
|
# Install WordPress and its dependencies
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
php83 \
|
php83 \
|
||||||
@ -19,7 +21,9 @@ RUN apk add --no-cache \
|
|||||||
rm -rf /var/cache/apk/*
|
rm -rf /var/cache/apk/*
|
||||||
|
|
||||||
# Add a new user and group
|
# Add a new user and group
|
||||||
RUN adduser -D -g 'wordpress' wordpress
|
# Create group with GID = HOST_UID, then user with UID = HOST_UID and GID = HOST_UID
|
||||||
|
RUN addgroup -g ${HOST_UID} wordpress && \
|
||||||
|
adduser -D -u ${HOST_UID} -G wordpress wordpress
|
||||||
|
|
||||||
# Set ownership of the working directory
|
# Set ownership of the working directory
|
||||||
RUN mkdir -p /var/www/html && \
|
RUN mkdir -p /var/www/html && \
|
||||||
@ -34,6 +38,8 @@ COPY ./conf/www.conf /etc/php83/php-fpm.d/www.conf
|
|||||||
|
|
||||||
RUN echo "memory_limit = 512M" >> /etc/php83/php.ini
|
RUN echo "memory_limit = 512M" >> /etc/php83/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Copy and set permissions for the install script
|
# Copy and set permissions for the install script
|
||||||
COPY ./tools/install.sh /usr/local/bin/install.sh
|
COPY ./tools/install.sh /usr/local/bin/install.sh
|
||||||
RUN chmod +x /usr/local/bin/install.sh
|
RUN chmod +x /usr/local/bin/install.sh
|
||||||
|
|||||||
@ -44,4 +44,6 @@ wp theme install --allow-root \
|
|||||||
|
|
||||||
echo "WordPress installation completed."
|
echo "WordPress installation completed."
|
||||||
|
|
||||||
|
chown -R wordpress:wordpress /var/www/html
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
Loading…
Reference in New Issue
Block a user