-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdockerfile
More file actions
31 lines (25 loc) · 1.25 KB
/
dockerfile
File metadata and controls
31 lines (25 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FROM debian:bookworm-slim
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
# 1. Install prerequisites
RUN apt-get update && apt-get install -y \
curl ca-certificates gnupg2 lsb-release apt-transport-https build-essential git \
&& curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
# 2. Install PHP 8.5 and extensions
# Note: Ensure PHP 8.5 is fully released in the repository; otherwise, this pulls the latest 8.x
RUN apt-get update && apt-get install -y \
php8.5 php8.5-cli php8.5-common php8.5-gd php8.5-mysql php8.5-mbstring php8.5-xml php8.5-curl php8.5-zip \
&& apt-get clean
# 3. Install Node.js v24.13.0
RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
&& apt-get install -y nodejs=24.13.0-1nodesource1 \
&& npm install -g npm@latest
# 4. Pterodactyl Setup (User & Workdir)
RUN useradd -d /home/container -m container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
# 5. Entrypoint
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"]