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/
|
||||||
40
Dockerfile
40
Dockerfile
@@ -1,6 +1,40 @@
|
|||||||
FROM php:8.4-fpm
|
FROM docker.io/alpine:3.21
|
||||||
|
|
||||||
COPY . /app
|
RUN apk add --no-cache \
|
||||||
WORKDIR /app
|
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
|
||||||
|
|
||||||
|
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"]
|
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]
|
||||||
18
Makefile
18
Makefile
@@ -1,11 +1,21 @@
|
|||||||
IMG := mkm-admin
|
IMG := mkm-admin
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
@echo "Building image from project root..."
|
||||||
podman build -t $(IMG) .
|
podman build -t $(IMG) .
|
||||||
|
|
||||||
deploy: build
|
deploy: build
|
||||||
@if [ ! -f .env ]; then cp .env.example .env; fi
|
@echo "Cleaning up existing deployment if any..."
|
||||||
kubectl create secret generic mkm-admin-env --from-env-file=.env --dry-run=client -o yaml | kubectl apply -f -
|
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
||||||
kubectl apply -f k8s/deployment.yaml
|
@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:
|
labels:
|
||||||
app: mkm-admin
|
app: mkm-admin
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: mkm-admin
|
app: mkm-admin
|
||||||
@@ -16,13 +16,13 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: mkm-admin
|
- name: mkm-admin
|
||||||
image: mkm-admin:latest
|
image: localhost/mkm-admin:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Never
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- configMapRef:
|
||||||
name: mkm-admin-env
|
name: mkm-admin-config
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: "100m"
|
cpu: "100m"
|
||||||
@@ -52,12 +52,12 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: worker
|
- name: worker
|
||||||
image: mkm-admin:latest
|
image: localhost/mkm-admin:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Never
|
||||||
command: ["php", "artisan", "horizon"]
|
command: ["php", "artisan", "horizon"]
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- configMapRef:
|
||||||
name: mkm-admin-env
|
name: mkm-admin-config
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: "100m"
|
cpu: "100m"
|
||||||
|
|||||||
Reference in New Issue
Block a user