Adding docker images

This commit is contained in:
2025-08-06 20:13:56 +02:00
parent f1a3909ee4
commit 59d32e1197
5 changed files with 82 additions and 1 deletions

14
.dockerignore Normal file
View File

@@ -0,0 +1,14 @@
.github
.next
node_modules
.dockerignore
.env
.env.example
.gitignore
.gitlab-ci.yml
.npmrc
components.json
dev-db.yml
docker-compose.yml
Dockerfile
dprint.json

14
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,14 @@
build:
image: docker:cli
stage: build
services:
- docker:dind
variables:
DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- |
docker build -t "$DOCKER_IMAGE_NAME" .
docker tag "$DOCKER_IMAGE_NAME" "$CI_REGISTRY_IMAGE:main"
docker push "$CI_REGISTRY_IMAGE:main"

19
Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
FROM node:18-alpine AS base
WORKDIR /app
RUN apk add --no-cache libc6-compat
COPY package.json pnpm-lock.yaml ./
RUN npm install --global corepack@latest && corepack enable pnpm && pnpm i --frozen-lockfile
COPY . .
ENV NEXT_TELEMETRY_DISABLED=1
# RUN pnpm run build
ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs && chown -R nextjs:nodejs .
USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
CMD ["pnpm", "container:build"]

33
docker-compose.yml Normal file
View File

@@ -0,0 +1,33 @@
---
services:
linker:
build:
context: .
dockerfile: Dockerfile
container_name: linker
restart: unless-stopped
ports:
- 3000:3000
environment:
- NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL}
- PG_USER=${PG_USER}
- PG_PASSWORD=${PG_PASSWORD}
- PG_HOST=${PG_HOST}
- PG_PORT=${PG_PORT}
- PG_DATABASE=${PG_DATABASE}
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
- BETTER_AUTH_URL=${BETTER_AUTH_URL}
- AUTHENTIK_CLIENT_ID=${AUTHENTIK_CLIENT_ID}
- AUTHENTIK_CLIENT_SECRET=${AUTHENTIK_CLIENT_SECRET}
- AUTHENTIK_DISCOVERY_URL=${AUTHENTIK_DISCOVERY_URL}
- GRAVATAR_API_KEY=${GRAVATAR_API_KEY}
depends_on:
- db
db:
image: postgres:16.4
container_name: linker-postgres
restart: unless-stopped
environment:
- POSTGRES_USER=${PG_USER}
- POSTGRES_PASSWORD=${PG_PASSWORD}
- POSTGRES_DB=${PG_DATABASE}

View File

@@ -3,7 +3,8 @@
"version": "0.1.0",
"private": true,
"scripts": {
"docker": "pnpm db:migrate && pnpm start",
"container": "pnpm db:migrate && pnpm start",
"container:build": "pnpm db:migrate && pnpm start",
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",