mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Compare commits
1 Commits
dependabot
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| e03320d27b |
28
Dockerfile
Normal file → Executable file
28
Dockerfile
Normal file → Executable file
@ -1,8 +1,9 @@
|
|||||||
FROM php:7.4-fpm
|
FROM php:7.4-fpm
|
||||||
|
|
||||||
# Arguments defined in docker-compose.yml
|
|
||||||
ARG user
|
WORKDIR /var/www
|
||||||
ARG uid
|
|
||||||
|
COPY ./docker-compose/php/uploads.ini /usr/local/etc/php/conf.d/uploads.ini
|
||||||
|
|
||||||
# Install system dependencies
|
# Install system dependencies
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -15,26 +16,21 @@ RUN apt-get update && apt-get install -y \
|
|||||||
unzip \
|
unzip \
|
||||||
libzip-dev \
|
libzip-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
mariadb-client
|
mariadb-client \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
# Clear cache
|
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN pecl install imagick \
|
RUN pecl install imagick \
|
||||||
&& docker-php-ext-enable imagick
|
&& docker-php-ext-enable imagick
|
||||||
|
|
||||||
# Install PHP extensions
|
# Install PHP extensions
|
||||||
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd
|
RUN rmdir html && docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd
|
||||||
|
|
||||||
# Get latest Composer
|
|
||||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||||
|
|
||||||
# Create system user to run Composer and Artisan Commands
|
RUN useradd -G www-data,root -u 1000 -d /home/crater crater && chmod 777 /var/www/ && chown 1000:1000 /var/www/
|
||||||
RUN useradd -G www-data,root -u $uid -d /home/$user $user
|
USER 0
|
||||||
RUN mkdir -p /home/$user/.composer && \
|
|
||||||
chown -R $user:$user /home/$user
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /var/www
|
|
||||||
|
|
||||||
USER $user
|
COPY ./docker-compose/startup.sh /startup.sh
|
||||||
|
|
||||||
|
CMD ["/startup.sh"]
|
||||||
|
|||||||
@ -1,25 +1,22 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
app:
|
app:
|
||||||
build:
|
build: .
|
||||||
args:
|
image: craterapp/crater
|
||||||
user: crater-user
|
|
||||||
uid: 1000
|
|
||||||
context: ./
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
image: crater-php
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
working_dir: /var/www/
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www
|
- ./:/var/www:z
|
||||||
- ./docker-compose/php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:rw,delegated
|
labels:
|
||||||
|
ofelia.enabled: "true"
|
||||||
|
ofelia.job-exec.somecron.schedule: "@every 60s"
|
||||||
|
ofelia.job-exec.somecron.command: "php artisan schedule:run"
|
||||||
networks:
|
networks:
|
||||||
- crater
|
- crater
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mariadb
|
image: mariadb
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- db:/var/lib/mysql
|
- db:/var/lib/mysql
|
||||||
# If you want to persist data on the host, comment the line above this one...
|
# If you want to persist data on the host, comment the line above this one...
|
||||||
@ -41,19 +38,19 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www
|
- ./:/var/www:z
|
||||||
- ./docker-compose/nginx:/etc/nginx/conf.d/
|
- ./docker-compose/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||||
networks:
|
networks:
|
||||||
- crater
|
- crater
|
||||||
|
|
||||||
cron:
|
ofelia:
|
||||||
build:
|
image: mcuadros/ofelia
|
||||||
context: ./
|
restart: unless-stopped
|
||||||
dockerfile: ./docker-compose/cron.dockerfile
|
command: daemon --docker
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/var/www
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
networks:
|
depends_on:
|
||||||
- crater
|
- app
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db:
|
db:
|
||||||
|
|||||||
@ -1,10 +0,0 @@
|
|||||||
FROM php:7.4-fpm-alpine
|
|
||||||
|
|
||||||
RUN apk add --no-cache \
|
|
||||||
php7-bcmath
|
|
||||||
|
|
||||||
RUN docker-php-ext-install pdo pdo_mysql bcmath
|
|
||||||
|
|
||||||
COPY docker-compose/crontab /etc/crontabs/root
|
|
||||||
|
|
||||||
CMD ["crond", "-f"]
|
|
||||||
@ -1 +0,0 @@
|
|||||||
* * * * * cd /var/www && php artisan schedule:run >> /dev/stdout 2>&1
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
docker-compose exec app composer install --no-interaction --prefer-dist --optimize-autoloader
|
|
||||||
|
|
||||||
docker-compose exec app php artisan storage:link || true
|
|
||||||
docker-compose exec app php artisan key:generate
|
|
||||||
16
docker-compose/startup.sh
Executable file
16
docker-compose/startup.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
chmod 775 /var/www/ -R
|
||||||
|
chown 1000:33 /var/www -R
|
||||||
|
|
||||||
|
if [ ! -f ".env" ]; then
|
||||||
|
cp .env.example .env
|
||||||
|
echo "created .env from .env.example"
|
||||||
|
fi
|
||||||
|
|
||||||
|
composer install --no-interaction --prefer-dist --optimize-autoloader
|
||||||
|
|
||||||
|
php artisan storage:link || true
|
||||||
|
php artisan key:generate
|
||||||
|
|
||||||
|
php-fpm
|
||||||
Reference in New Issue
Block a user