add docker

This commit is contained in:
nematnejad 2026-02-22 12:17:46 +03:30
parent 35383b75c9
commit e66622a941
2 changed files with 90 additions and 0 deletions

59
.drone.yml.disabled Normal file
View File

@ -0,0 +1,59 @@
---
kind: pipeline
type: docker
name: CI
trigger:
branch:
- main
- prod
steps:
- name: docker
image: docker.iranrepo.ir/plugins/docker:20.14.4
pull: if-not-exists
privileged: true
settings:
repo: git.d.aiengines.ir/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}
# cache_from: git.d.aiengines.ir/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}:latest
tags:
- v${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:8}
- latest
purge: false
registry: https://git.d.aiengines.ir
username:
from_secret: registry-user
password:
from_secret: registry-token
- name: deploy dev
image: docker.iranrepo.ir/appleboy/drone-ssh
pull: if-not-exists
settings:
host: 192.168.130.25
username: bagher
timeout: 1m
command_timeout: 2m
key:
from_secret: ssh-key
script:
- docker service update -d --image git.d.aiengines.ir/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}:v${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:8} --with-registry-auth ${DRONE_REPO_NAME}_dev
when:
branch:
- main
- name: deploy prod
image: docker.iranrepo.ir/appleboy/drone-ssh
pull: if-not-exists
settings:
host: 192.168.130.25
username: bagher
timeout: 1m
command_timeout: 2m
key:
from_secret: ssh-key
script:
- docker service update -d --image git.d.aiengines.ir/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}:v${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_SHA:0:8} --with-registry-auth ${DRONE_REPO_NAME}
when:
branch:
- prod

31
Dockerfile Normal file
View File

@ -0,0 +1,31 @@
# syntax=docker/dockerfile:1
FROM docker.ibagher.ir/node:22-bullseye-slim AS builder
WORKDIR /app
# Increase memory for large builds
ENV NODE_OPTIONS="--max-old-space-size=4096"
ENV NEXT_TELEMETRY_DISABLED=1
COPY package.json yarn.lock ./
RUN --mount=type=cache,target=/usr/local/share/.cache/yarn \
yarn install
COPY . .
RUN --mount=type=cache,target=/app/.next/cache \
yarn build
FROM docker.ibagher.ir/node:22-bullseye-slim AS runner
WORKDIR /app
ENV NODE_ENV=production
# Copy standalone output
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["node", "server.js"]