File size: 1,213 Bytes
5ca6c8e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95f5225
5ca6c8e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
FROM ubuntu:20.04

# install dependencies
RUN apt-get update && apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common \
    && add-apt-repository ppa:ondrej/php \
    && apt-get update && apt-get install -y \
    php8.0 \
    php8.0-cli \
    php8.0-fpm \
    php8.0-mysql \
    php8.0-pdo \
    php8.0-tokenizer \
    php8.0-mbstring \
    php8.0-curl \
    php8.0-zip \
    php8.0-xml \
    nginx \
    mariadb-server \
    git \
    unzip \
    && apt-get clean

# set working directory
WORKDIR /var/www/pterodactyl

# clone pterodactyl panel
RUN git clone --recurse-submodules https://github.com/pterodactyl/panel.git . \
    && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
    && composer install --no-dev --optimize-autoloader

# set permissions
RUN chown -R www-data:www-data /var/www/pterodactyl/*

# configure nginx
COPY ./nginx.conf /etc/nginx/sites-available/pterodactyl
RUN ln -s /etc/nginx/sites-available/pterodactyl /etc/nginx/sites-enabled/pterodactyl \
    && rm /etc/nginx/sites-enabled/default

# expose port
EXPOSE 7860

# start services
CMD service nginx start && php-fpm8.0 -F