Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
61035bc431 | |||
ab57d64006 | |||
049164596c | |||
bf275844d2 | |||
4953cf09da | |||
ceb8276206 | |||
f496fd743c | |||
2e8f6329b5 | |||
b2ae96a397 | |||
735f2790a8 |
21
.gitea/workflows/test-self.yaml
Normal file
21
.gitea/workflows/test-self.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
name: Gitea Actions Demo
|
||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: self-hosted
|
||||
defaults:
|
||||
run:
|
||||
working-directory: /home/raysam/act-runner-host/repo
|
||||
steps:
|
||||
- run: git --version
|
||||
- run: rm -rf fuware-fe
|
||||
- run: git clone ssh://git@thamluu.synology.me:222/sam/fuware-fe.git fuware-fe
|
||||
- name: run docker
|
||||
working-directory: /home/raysam/act-runner-host/repo/fuware-fe
|
||||
run: git switch develop && docker compose up --build -d
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,6 +11,7 @@ node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
.env
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
|
16
Dockerfile
16
Dockerfile
@ -1,14 +1,18 @@
|
||||
FROM node:18.19.0-alpine3.19
|
||||
FROM node:18.20.4-alpine3.20
|
||||
|
||||
WORKDIR /app/client
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm install -g pnpm
|
||||
COPY package*.json .
|
||||
RUN npm i
|
||||
COPY pnpm-lock.yaml .
|
||||
RUN pnpm install --prefer-offline=true --frozen-lockfile=true
|
||||
RUN npm i -g serve
|
||||
|
||||
COPY . .
|
||||
ENV NODE_ENV=production
|
||||
ENV VITE_LOGIN_KEY=7fo24CMyIc
|
||||
|
||||
EXPOSE 5000
|
||||
RUN pnpm build
|
||||
|
||||
CMD ["npm", "run", "dev"]
|
||||
EXPOSE 3000
|
||||
|
||||
CMD [ "serve", "-s", "dist" ]
|
||||
|
19
Dockerfile.dev
Normal file
19
Dockerfile.dev
Normal file
@ -0,0 +1,19 @@
|
||||
FROM node:18.20.4-alpine3.20
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm install -g pnpm
|
||||
COPY package*.json .
|
||||
COPY pnpm-lock.yaml .
|
||||
RUN pnpm install --prefer-offline=true --frozen-lockfile=true
|
||||
RUN npm i -g serve
|
||||
|
||||
COPY . .
|
||||
ENV NODE_ENV=development
|
||||
ENV VITE_BE_URL=https://stg-be.samliu.io.vn
|
||||
|
||||
RUN pnpm build
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
CMD [ "serve", "-s", "dist" ]
|
12
docker-compose.yml
Normal file
12
docker-compose.yml
Normal file
@ -0,0 +1,12 @@
|
||||
services:
|
||||
fuware:
|
||||
container_name: fuware-fe
|
||||
image: fuware-fe
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.dev
|
||||
restart: always
|
||||
ports:
|
||||
- 16001:3000
|
||||
environment:
|
||||
NODE_ENV: 'production'
|
@ -1,15 +1,19 @@
|
||||
export const POST_LOGIN = '/api/auth/login'
|
||||
export const POST_LOGOUT = '/api/auth/logout'
|
||||
export const POST_REFRESH = '/api/auth/refresh'
|
||||
export const GET_USER_PROFILE = '/api/user/me'
|
||||
export const PUT_UPDATE_USER_PROFILE = '/api/user/update-profile'
|
||||
const BASE_URL = import.meta.env.VITE_BE_URL ?? ''
|
||||
|
||||
console.log(BASE_URL)
|
||||
|
||||
export const POST_LOGIN = `${BASE_URL}/api/auth/login`
|
||||
export const POST_LOGOUT = `${BASE_URL}/api/auth/logout`
|
||||
export const POST_REFRESH = `${BASE_URL}/api/auth/refresh`
|
||||
export const GET_USER_PROFILE = `${BASE_URL}/api/user/me`
|
||||
export const PUT_UPDATE_USER_PROFILE = `${BASE_URL}/api/user/update-profile`
|
||||
|
||||
/**
|
||||
* House API
|
||||
*/
|
||||
export const POST_HOUSE_CREATE = '/api/house/create'
|
||||
export const POST_HOUSE_CREATE = `${BASE_URL}/api/house/create`
|
||||
export const GET_HOUSES_LIST = ({ page, pageSize }) =>
|
||||
`/api/house/all?page=${page}&pageSize=${pageSize}`
|
||||
export const GET_HOUSE_DETAIL = (id) => `/api/house/${id}`
|
||||
export const PUT_UPDATE_HOUSE = '/api/house/update'
|
||||
export const DEL_DELETE_HOUSE = (id) => `/api/house/delete/${id}`
|
||||
`${BASE_URL}/api/house/all?page=${page}&pageSize=${pageSize}`
|
||||
export const GET_HOUSE_DETAIL = (id) => `${BASE_URL}/api/house/${id}`
|
||||
export const PUT_UPDATE_HOUSE = `${BASE_URL}/api/house/update`
|
||||
export const DEL_DELETE_HOUSE = (id) => `${BASE_URL}/api/house/delete/${id}`
|
||||
|
@ -24,7 +24,7 @@ export default function Home() {
|
||||
const first = getFirstItem(NAV_ITEM(t, auth?.userInfo?.isAdmin))
|
||||
navigate(first ? first.pathName : PathConstants.PROFILE)
|
||||
}
|
||||
}, [auth.userInfo.isAdmin])
|
||||
}, [auth.userInfo?.isAdmin])
|
||||
|
||||
return <></>
|
||||
}
|
||||
|
@ -10,44 +10,7 @@ export default defineConfig(({ mode }) => {
|
||||
// eslint-disable-next-line no-undef
|
||||
const env = loadEnv(mode, process.cwd(), '')
|
||||
|
||||
// production
|
||||
if (env.NODE_ENV === 'production') {
|
||||
return {
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve(_dirname, './src'),
|
||||
'@lang': path.resolve(_dirname, './src/lang'),
|
||||
'@api': path.resolve(_dirname, './src/api'),
|
||||
'@hooks': path.resolve(_dirname, './src/hooks'),
|
||||
'@pages': path.resolve(_dirname, './src/pages'),
|
||||
'@components': path.resolve(_dirname, './src/components'),
|
||||
'@routes': path.resolve(_dirname, './src/routes'),
|
||||
'@utils': path.resolve(_dirname, './src/utils'),
|
||||
'@assets': path.resolve(_dirname, './src/assets'),
|
||||
'@context': path.resolve(_dirname, './src/context'),
|
||||
},
|
||||
},
|
||||
plugins: [react()],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
additionalData: '@import "./src/_mantine";',
|
||||
},
|
||||
},
|
||||
},
|
||||
server: {
|
||||
https: false,
|
||||
host: false,
|
||||
port: 5001,
|
||||
strictPort: true,
|
||||
watch: {
|
||||
usePolling: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
const config_sv = {
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': path.resolve(_dirname, './src'),
|
||||
@ -70,6 +33,26 @@ export default defineConfig(({ mode }) => {
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// production
|
||||
if (env.NODE_ENV === 'production') {
|
||||
return {
|
||||
...config_sv,
|
||||
server: {
|
||||
https: false,
|
||||
host: false,
|
||||
port: 5001,
|
||||
strictPort: true,
|
||||
watch: {
|
||||
usePolling: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
...config_sv,
|
||||
server: {
|
||||
https: false,
|
||||
host: true,
|
||||
@ -78,9 +61,6 @@ export default defineConfig(({ mode }) => {
|
||||
watch: {
|
||||
usePolling: true,
|
||||
},
|
||||
proxy: {
|
||||
'/api': 'http://localhost:9000',
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
Reference in New Issue
Block a user