Compare commits
31 Commits
95301dc1d8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
993d096283 | ||
|
|
08817af0ca | ||
|
|
afb7cefdda | ||
|
|
08fe589ad6 | ||
|
|
1937e26251 | ||
|
|
1dbc32722a | ||
|
|
a4124ceaa9 | ||
|
|
8b23298196 | ||
|
|
3c251e9c3a | ||
|
|
f635dabbc5 | ||
|
|
e0f459f9ea | ||
|
|
8c414e7e70 | ||
|
|
49226f8aa1 | ||
|
|
77ed347e36 | ||
|
|
4ade74421c | ||
|
|
8e3913bda8 | ||
|
|
fea727daf4 | ||
|
|
cea2749252 | ||
|
|
5992b28eb5 | ||
|
|
e6acea80a0 | ||
|
|
02dbea230c | ||
|
|
07748a7025 | ||
|
|
55d2f61d09 | ||
|
|
aef00b405a | ||
|
|
ac41090ed3 | ||
|
|
ba9c80b9b4 | ||
|
|
618f826e1e | ||
|
|
baf68078a7 | ||
|
|
87fd507618 | ||
|
|
a697100103 | ||
|
|
dd188724be |
17
.dockerignore
Normal file
17
.dockerignore
Normal file
@@ -0,0 +1,17 @@
|
||||
.git
|
||||
.github
|
||||
.circleci
|
||||
.env
|
||||
.env.local
|
||||
node_modules
|
||||
vendor
|
||||
storage/logs/*
|
||||
storage/framework/cache/*
|
||||
bootstrap/cache/*
|
||||
.phpunit.result.cache
|
||||
.idea
|
||||
.vscode
|
||||
.devcontainer
|
||||
docker-compose.yml
|
||||
Makefile
|
||||
k8s/
|
||||
42
Dockerfile
42
Dockerfile
@@ -1,6 +1,40 @@
|
||||
FROM php:8.4-fpm
|
||||
FROM docker.io/alpine:3.21
|
||||
|
||||
COPY . /app
|
||||
WORKDIR /app
|
||||
RUN apk add --no-cache \
|
||||
php84 \
|
||||
php84-fpm \
|
||||
php84-pdo_mysql \
|
||||
php84-mbstring \
|
||||
php84-exif \
|
||||
php84-pcntl \
|
||||
php84-bcmath \
|
||||
php84-gd \
|
||||
php84-zip \
|
||||
php84-intl \
|
||||
php84-curl \
|
||||
php84-tokenizer \
|
||||
php84-xml \
|
||||
php84-xmlwriter \
|
||||
php84-xmlreader \
|
||||
php84-dom \
|
||||
php84-session \
|
||||
php84-fileinfo \
|
||||
php84-openssl \
|
||||
git \
|
||||
curl
|
||||
|
||||
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]
|
||||
RUN ln -sf /usr/bin/php84 /usr/bin/php
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
# Copy the application files
|
||||
COPY --chown=root:root . .
|
||||
|
||||
COPY --from=docker.io/composer:latest /usr/bin/composer /usr/bin/composer
|
||||
|
||||
RUN rm -rf .circleci .github 2>/dev/null || true && \
|
||||
chmod -R 775 storage bootstrap/cache 2>/dev/null || true
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]
|
||||
18
Makefile
18
Makefile
@@ -1,11 +1,21 @@
|
||||
IMG := mkm-admin
|
||||
|
||||
build:
|
||||
@echo "Building image from project root..."
|
||||
podman build -t $(IMG) .
|
||||
|
||||
deploy: build
|
||||
@if [ ! -f .env ]; then cp .env.example .env; fi
|
||||
kubectl create secret generic mkm-admin-env --from-env-file=.env --dry-run=client -o yaml | kubectl apply -f -
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
@echo "Cleaning up existing deployment if any..."
|
||||
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
||||
@echo "Generating merged deployment with ConfigMap..."
|
||||
@sudo kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > /tmp/merged_deployment.yaml
|
||||
@echo "---" >> /tmp/merged_deployment.yaml
|
||||
@cat k8s/deployment.yaml >> /tmp/merged_deployment.yaml
|
||||
@echo "Deploying via podman kube play..."
|
||||
podman kube play /tmp/merged_deployment.yaml
|
||||
@rm -f /tmp/merged_deployment.yaml
|
||||
|
||||
.PHONY: build deploy
|
||||
stop:
|
||||
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
||||
|
||||
.PHONY: build deploy stop
|
||||
|
||||
@@ -5,7 +5,7 @@ metadata:
|
||||
labels:
|
||||
app: mkm-admin
|
||||
spec:
|
||||
replicas: 3
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mkm-admin
|
||||
@@ -16,13 +16,13 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: mkm-admin
|
||||
image: mkm-admin:latest
|
||||
imagePullPolicy: Always
|
||||
image: localhost/mkm-admin:latest
|
||||
imagePullPolicy: Never
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: mkm-admin-env
|
||||
- configMapRef:
|
||||
name: mkm-admin-config
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
@@ -52,12 +52,12 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: worker
|
||||
image: mkm-admin:latest
|
||||
imagePullPolicy: Always
|
||||
image: localhost/mkm-admin:latest
|
||||
imagePullPolicy: Never
|
||||
command: ["php", "artisan", "horizon"]
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: mkm-admin-env
|
||||
- configMapRef:
|
||||
name: mkm-admin-config
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
|
||||
Reference in New Issue
Block a user