AspireSync/docker/webapp/Dockerfile
Chuck Adams 5fcc4b8eb8
update popular themes/plugins scripts for subversion repo archival (#48)
* wip: use revision as dir hash for archive files

* tweak: slightly more verbose output

* tweak: quote directory being removed

* tweak: prettier header

* fix: use -e because lolbash

* tweak: add countdown-timer to blacklist

* fix: refactor blacklist and anchor the patterns

* feat: popular-plugins and popular-themes now output json

* refactor: mv svn/bin/popular-* bin/

* feat: trunk-only builds

* tweak: add more huge slugs before populating them scientifically

* wip: add some more unscientific slugs

* tweak: add 10M+ archive files to the 'huge' pile

* tweak:  update huge and add facebook-album-sync to corrupt

* feat: add IMMEDIATES_DEPTH to support empty checkouts

* fix: svn update missing directories automatically

* feat: specifically throw woocommerce into the trunk-only bin

* fix: drop __trunk entries from trunk-only

* refactor: break trunk-only.txt out from script source

* fix: use grep and not bash regex for trunk-only test

* tweak: add font-awesome-the-easy-way to corrupt

* update: update trunk-only.txt with more slugs

* tweak: show depth used, as trunk-only is now the norm

* tweak: break out suffix generation into function

* feat: new update-trunk-archive which will replace update-archive

* tweak: get tags before trunk

* zap: rm update-archive

* tweak: less noisy banner

* feat: sync popular plugins and themes on every run
2025-02-18 15:10:20 -07:00

44 lines
1.2 KiB
Docker

FROM dunglas/frankenphp:1.4.1-php8.4.3-bookworm AS base
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/composer
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/download/2.7.14/install-php-extensions /usr/local/bin/
RUN apt update && apt install -y bash jq subversion zip
RUN install-php-extensions intl pdo pdo_pgsql pdo_sqlite zip
RUN useradd --create-home --shell /bin/bash app \
&& chown -R app:app /config /data \
&& apt update \
&& apt install -y postgresql-client
COPY ./docker/webapp/Caddyfile /etc/caddy/Caddyfile
COPY ./docker/webapp/php.ini /usr/local/etc/php/php.ini
WORKDIR /app
################
FROM base AS dev
RUN apt update && apt install -y git postgresql-client sqlite3
RUN install-php-extensions xdebug
USER app
################
FROM base AS prod
# do not use copy --chown, it never works right
COPY . /app
RUN chown -R app:app /app
USER app
# Fails: Class "Symfony\Bundle\MakerBundle\MakerBundle" not found
# RUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader --working-dir=/app
# Just install dev deps too I guess ... sigh.
RUN composer install --no-interaction --no-progress --optimize-autoloader --working-dir=/app