feat: add container file
- update README.md for containerization
This commit is contained in:
22
Containerfile
Normal file
22
Containerfile
Normal 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"]
|
||||
39
README.md
39
README.md
@@ -40,3 +40,42 @@ npm run build
|
||||
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.
|
||||
|
||||
## 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
|
||||
```
|
||||
Reference in New Issue
Block a user