Initial commit
This commit is contained in:
+52
@@ -0,0 +1,52 @@
|
||||
# ==========================================
|
||||
# Multi-stage Dockerfile voor Jouwdriedee.nl (Coolify / CasaOS)
|
||||
# ==========================================
|
||||
|
||||
# 1. Frontend Build stage (Vite & Tailwind CSS)
|
||||
FROM node:20-alpine AS node_builder
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
# 2. PHP Production runtime stage
|
||||
FROM dunglas/frankenphp:php8.3-alpine AS runner
|
||||
|
||||
ENV SERVER_NAME="http://"
|
||||
ENV APP_ENV="production"
|
||||
ENV APP_DEBUG="false"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Installeer benodigde PHP extensies voor Laravel & SQLite/MySQL
|
||||
RUN install-php-extensions \
|
||||
pdo_mysql \
|
||||
pdo_sqlite \
|
||||
sqlite3 \
|
||||
gd \
|
||||
intl \
|
||||
zip \
|
||||
bcmath \
|
||||
opcache
|
||||
|
||||
# Installeer Composer
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
# Kopieer applicatiebestanden
|
||||
COPY . /app
|
||||
COPY --from=node_builder /app/public/build /app/public/build
|
||||
|
||||
# Installeer backend dependencies
|
||||
RUN composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
|
||||
|
||||
# Zorg voor de juiste opslagpermissies en database bestand
|
||||
RUN mkdir -p /app/storage /app/bootstrap/cache /app/database \
|
||||
&& touch /app/database/database.sqlite \
|
||||
&& chown -R www-data:www-data /app/storage /app/bootstrap/cache /app/database \
|
||||
&& chmod -R 775 /app/storage /app/bootstrap/cache /app/database
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["sh", "-c", "php artisan storage:link && php artisan migrate --force && frankenphp run --config /etc/caddy/Caddyfile"]
|
||||
|
||||
Reference in New Issue
Block a user