Working Web Server changes and Docker Image
This commit is contained in:
1 parent
443184a6fa
commit
8cd8133f9e
8 files changed
+97
-3
No files matched your search
@@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
REGISTRY="gitea.honeyy.duckdns.org"
|
||||||
|
OWNER="docker"
|
||||||
|
TAG="${1:-latest}"
|
||||||
|
|
||||||
|
FRONTEND_IMAGE="${REGISTRY}/${OWNER}/inknote-web:${TAG}"
|
||||||
|
BACKEND_IMAGE="${REGISTRY}/${OWNER}/inknote-server:${TAG}"
|
||||||
|
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo " InkNote — Build & Push to Gitea"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo ""
|
||||||
|
echo " Frontend: ${FRONTEND_IMAGE}"
|
||||||
|
echo " Backend: ${BACKEND_IMAGE}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "→ Logging in to ${REGISTRY}..."
|
||||||
|
docker login "${REGISTRY}"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "→ Building backend..."
|
||||||
|
docker build -t "${BACKEND_IMAGE}" ./backend
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "→ Building frontend..."
|
||||||
|
docker build -t "${FRONTEND_IMAGE}" ./frontend
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "→ Pushing backend..."
|
||||||
|
docker push "${BACKEND_IMAGE}"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "→ Pushing frontend..."
|
||||||
|
docker push "${FRONTEND_IMAGE}"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
echo " ✅ Done! Both images pushed to:"
|
||||||
|
echo " ${FRONTEND_IMAGE}"
|
||||||
|
echo " ${BACKEND_IMAGE}"
|
||||||
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
+1
-3
@@ -1,12 +1,10 @@
|
|||||||
# Stage 1: Build
|
|
||||||
FROM node:20-alpine AS build
|
FROM node:20-alpine AS build
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY package.json package-lock.json* ./
|
COPY package.json ./
|
||||||
RUN npm install
|
RUN npm install
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
# Stage 2: Serve with nginx
|
|
||||||
FROM nginx:alpine
|
FROM nginx:alpine
|
||||||
COPY --from=build /app/dist /usr/share/nginx/html
|
COPY --from=build /app/dist /usr/share/nginx/html
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||||
|
<meta name="theme-color" content="#0d1117" />
|
||||||
|
<title>InkNote</title>
|
||||||
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>✏️</text></svg>" />
|
||||||
|
<style>body{margin:0;padding:0;overflow:hidden;}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
<script type="module" src="/src/main.jsx"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Whitespace-only changes.
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "inknote-frontend",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"react": "^18.3.1",
|
||||||
|
"react-dom": "^18.3.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-react": "^4.3.1",
|
||||||
|
"vite": "^5.4.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
File renamed without changes.
@@ -0,0 +1,9 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import ReactDOM from 'react-dom/client'
|
||||||
|
import NoteApp from './NoteApp.jsx'
|
||||||
|
|
||||||
|
ReactDOM.createRoot(document.getElementById('root')).render(
|
||||||
|
<React.StrictMode>
|
||||||
|
<NoteApp />
|
||||||
|
</React.StrictMode>
|
||||||
|
)
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { defineConfig } from 'vite'
|
||||||
|
import react from '@vitejs/plugin-react'
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [react()],
|
||||||
|
server: {
|
||||||
|
host: '0.0.0.0',
|
||||||
|
port: 3000,
|
||||||
|
},
|
||||||
|
})
|
||||||
Reference in new issue
Block a user