openvk/install/automated/docker/openvk.Dockerfile
Artem Vetrov 677e147688
CI for OpenVK, Kubernetes and Docker deployments (#735)
* Kubernetes deployment

* Update kubernetes deployment

* Fix rewrite module load

* Fix mysql-primary bootstrap

* Fix mysql init-db apply order

* Fix init-db.sql permissions

* Fix MySQL missing *.sql import

* Switch from MySQL to MariaDB

* [skip ci] Example deployment update

* Set root app in chandler configmap

* Update missing php extension in base images

* Update missing dependency in apache image

* Remove default site configuration

* [skip ci] Split Kubernetes deployments by type

* Explicitly set persistent volume for openvk storage

* [skip ci] Add README for Kubernetes

* Replace old docker(-compose) files w/ new ones

* Add README for docker usage

* [skip ci] Update README.md and README_RU.md

* [skip ci] Fix eventdb DB name

* [skip ci] Kubernetes configmap: missing namespace

* [skip ci] Fix typo

* [skip ci] Ignore chandler.yml

* [skip ci] Missing /var/log/openvk volume

* [skip ci] Workaround for Docker <=20.10.6

* [skip ci] Handle permissions for apache2

* [skip ci] Initial Kafka support

* [skip ci] Kafka values for Kubernetes
2022-10-30 14:44:14 +03:00

57 lines
No EOL
1.6 KiB
Docker

ARG GITREPO=openvk/openvk
FROM ghcr.io/${GITREPO}/php:8.1-cli as builder
WORKDIR /opt
RUN git clone --depth=2 https://github.com/openvk/chandler.git
WORKDIR /opt/chandler
RUN composer install
WORKDIR /opt/chandler/extensions/available
RUN git clone --depth=2 https://github.com/openvk/commitcaptcha.git
WORKDIR /opt/chandler/extensions/available/commitcaptcha
RUN composer install
WORKDIR /opt/chandler/extensions/available
RUN mkdir openvk
WORKDIR /opt/chandler/extensions/available/openvk
ADD . .
RUN composer install
FROM docker.io/node:14 as nodejs
COPY --from=builder /opt/chandler /opt/chandler
WORKDIR /opt/chandler/extensions/available/openvk/Web/static/js
RUN yarn install
WORKDIR /opt/chandler/extensions/available/openvk
ARG GITREPO=openvk/openvk
FROM ghcr.io/${GITREPO}/php:8.1-apache
COPY --from=nodejs --chown=www-data:www-data /opt/chandler /opt/chandler
RUN ln -s /opt/chandler/extensions/available/commitcaptcha/ /opt/chandler/extensions/enabled/commitcaptcha && \
ln -s /opt/chandler/extensions/available/openvk/ /opt/chandler/extensions/enabled/openvk && \
rm -f /etc/apache2/sites-enabled/000-default.conf && \
ln -s /opt/chandler/extensions/available/openvk/install/automated/common/10-openvk.conf /etc/apache2/sites-enabled/10-openvk.conf && \
a2enmod rewrite
VOLUME [ "/var/log/openvk" ]
VOLUME [ "/opt/chandler/extensions/available/openvk/storage" ]
VOLUME [ "/opt/chandler/extensions/available/openvk/tmp/api-storage/audios" ]
VOLUME [ "/opt/chandler/extensions/available/openvk/tmp/api-storage/photos" ]
VOLUME [ "/opt/chandler/extensions/available/openvk/tmp/api-storage/videos" ]
USER www-data