Private
Public Access
1
0

feat: add container file

- update README.md for containerization
This commit is contained in:
2026-02-12 19:52:57 +01:00
parent cbbc21f40c
commit 7249cbde25
2 changed files with 61 additions and 0 deletions

22
Containerfile Normal file
View File

@@ -0,0 +1,22 @@
# Stage 1: Build
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
RUN npm prune --production
# Stage 2: Run
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/build ./build
COPY --from=builder /app/node_modules ./node_modules
COPY package.json .
# Default SvelteKit production port
ENV PORT=3000
EXPOSE 3000
# Start the app
CMD ["node", "build"]

View File

@@ -40,3 +40,42 @@ npm run build
You can preview the production build with `npm run preview`. You can preview the production build with `npm run preview`.
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
## Containerization
Login to repo
```
docker login gitea.fennert.org
docker login --tls-verify=false mini-server:8300
```
Build production image
```
docker build \
-t homepage:latest \
-t gitea.fennert.org/adrian/homepage:latest \ # Replace with your image name
-t mini-server:8300/adrian/homepage:latest \ # use host in network, cloudflare proxy block after 100mb upload
-f Containerfile .
```
Push image
```
docker push gitea.fennert.org/adrian/homepage:latest
docker push --tls-verify=false mini-server:8300/adrian/homepage:latest
```
Pull image
```
docker pull gitea.fennert.org/adrian/homepage:latest
```
Run production image
```
docker run -d \
--name homepage \
--network home \
-p 3000:3000 \
-e STRAPI_API_KEY="your_secret_key" \ # chnage me
-e PUBLIC_STRAPI_URL="https://strapi-homepage.fennert.org" \
-e ORIGIN=https://fennert.org \
gitea.fennert.org/adrian/homepage:latest
```