mirror of https://github.com/akaunting/docker.git
66 lines
1.8 KiB
Docker
66 lines
1.8 KiB
Docker
FROM php:8.1-fpm-alpine3.15
|
|
|
|
# Arguments defined in docker-compose.yml
|
|
ARG AKAUNTING_DOCKERFILE_VERSION=0.1
|
|
ARG SUPPORTED_LOCALES="en_US.UTF-8"
|
|
|
|
# Add Repositories
|
|
RUN rm -f /etc/apk/repositories &&\
|
|
echo "http://dl-cdn.alpinelinux.org/alpine/v3.15/main" >> /etc/apk/repositories && \
|
|
echo "http://dl-cdn.alpinelinux.org/alpine/v3.15/community" >> /etc/apk/repositories
|
|
|
|
# Add Dependencies
|
|
RUN apk add --update --no-cache \
|
|
gcc \
|
|
g++ \
|
|
make \
|
|
python3 \
|
|
supervisor \
|
|
vim \
|
|
bash \
|
|
nodejs \
|
|
npm \
|
|
git \
|
|
nginx
|
|
|
|
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
|
|
|
# Install PHP Extensions
|
|
RUN chmod +x /usr/local/bin/install-php-extensions && sync && \
|
|
install-php-extensions gd zip intl imap xsl pgsql opcache bcmath mysqli pdo_mysql redis
|
|
|
|
# Configure Extension
|
|
RUN docker-php-ext-configure \
|
|
opcache --enable-opcache
|
|
|
|
# Installing composer
|
|
RUN curl -sS https://getcomposer.org/installer -o composer-setup.php
|
|
RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
|
|
RUN rm -rf composer-setup.php
|
|
|
|
# Clear npm proxy
|
|
RUN npm config rm proxy
|
|
RUN npm config rm https-proxy
|
|
|
|
# Download Akaunting application
|
|
RUN mkdir -p /var/www/html
|
|
|
|
# Setup Working Dir
|
|
WORKDIR /var/www/html
|
|
|
|
RUN git clone https://github.com/akaunting/akaunting.git .
|
|
RUN chown -R www-data:www-data /var/www/html
|
|
USER www-data
|
|
RUN composer prod
|
|
RUN npm install
|
|
RUN npm run prod
|
|
|
|
COPY files/akaunting-php-fpm-nginx-supervisord.sh /usr/local/bin/akaunting-php-fpm-nginx-supervisord.sh
|
|
COPY files/html /var/www/html
|
|
|
|
USER root
|
|
|
|
EXPOSE 9000
|
|
ENTRYPOINT ["/usr/local/bin/akaunting-php-fpm-nginx-supervisord.sh"]
|
|
CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|