Skip to content

Commit d58688f

Browse files
committed
Improve startup script
1 parent 08079fe commit d58688f

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

.vscode/start.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ NC='\033[0m' # No color
88
env_dir=. # .env directory
99
docker_dir=$env_dir # docker-compose.yml directory
1010
bedrock_dir=$env_dir # docker-compose.yml directory
11+
dockerfile_dir=dockerfile # dockerfile directory
1112

1213
echo -e "Current directory: $(pwd)"
1314

@@ -58,10 +59,17 @@ check_docker_running() {
5859

5960
# Check if Docker Compose images need to be built
6061
check_docker_compose_build() {
61-
if ! sudo docker compose --env-file $env_dir/.env -f $docker_dir/docker-compose.yml config --services | xargs sudo docker images | grep -q "<none>"; then
62-
echo -e "Building Docker Compose images..."
63-
sudo docker compose --env-file $env_dir/.env -f $docker_dir/docker-compose.yml build
64-
fi
62+
for dockerfile_path in "${dockerfile_dir}"/*.Dockerfile; do
63+
64+
# Extract service name from Dockerfile name (e.g., php-fpm from php-fpm.Dockerfile)
65+
service=$(basename "$dockerfile_path" .Dockerfile)
66+
67+
# Check if an image for the service already exists
68+
if ! sudo docker images | awk '{print $1}' | grep -q "^${service}$"; then
69+
echo "Image for service '${service}' does not exist. Building now..."
70+
sudo docker compose --env-file "${env_dir}/.env" -f "$docker_dir/docker-compose.yml" build "${service}"
71+
fi
72+
done
6573
}
6674

6775
check_dot_env() {
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
FROM php:8.2-fpm
1+
FROM php:8.3-fpm
2+
3+
# Update sources list to use a faster mirror if /etc/apt/sources.list exists
4+
RUN sed -i 's|http://deb.debian.org/debian|http://mirrors.ocf.berkeley.edu/debian|g' /etc/apt/sources.list.d/debian.sources
25

36
# Install dependencies
4-
RUN apt-get update && apt-get install -y \
7+
RUN apt update -o Acquire::http::Timeout="60"
8+
9+
RUN apt install -y \
510
libfreetype6-dev \
611
libjpeg62-turbo-dev \
712
libpng-dev \
@@ -16,7 +21,8 @@ RUN apt-get update && apt-get install -y \
1621
less \
1722
mariadb-client \
1823
sudo \
19-
curl
24+
curl && \
25+
apt-get clean && rm -rf /var/lib/apt/lists/*
2026

2127
# Install PHP extensions
2228
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
@@ -33,5 +39,13 @@ RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli
3339
# Verify WP-CLI installation
3440
RUN wp --info
3541

42+
# Install Composer
43+
RUN curl -sS https://getcomposer.org/installer -o composer-setup.php \
44+
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
45+
&& rm composer-setup.php
46+
47+
# Verify Composer installation
48+
RUN composer --version
49+
3650
# Clean up
37-
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
51+
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

0 commit comments

Comments
 (0)