mirror of
https://github.com/Lumither/nocturne.git
synced 2026-10-17 10:26:21 +00:00
feat(container) production build
This commit is contained in:
10 files changed
+99
-24
No files matched your search
@@ -1,19 +1,19 @@
|
||||
# postgres settings
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
POSTGRES_PASSWORD=
|
||||
POSTGRES_USER=
|
||||
#POSTGRES_PASSWORD=
|
||||
POSTGRES_USER=nocturne
|
||||
POSTGRES_DB=nocturne
|
||||
POSTGRES_HOST=postgres
|
||||
|
||||
# backend settings
|
||||
|
||||
#GIT_WORK_DIR=../blog_posts_git
|
||||
#LOG_ROOT_DIR=/var/log/nocturne
|
||||
|
||||
BLOG_ENDPOINT=https://github.com/Lumither/blog-posts.git
|
||||
WORK_DIR=~/.nocturne
|
||||
BACKEND_PORT=3001
|
||||
#BLOG_ENDPOINT=https://github.com/Lumither/blog-posts.git
|
||||
BLOG_GIT_URL=https://github.com/Lumither/blog-posts.git
|
||||
WORK_DIR=/nocturne
|
||||
#BACKEND_PORT=3001
|
||||
|
||||
# frontend settings
|
||||
API_LOCAL_URL=http://localhost:3001
|
||||
API_REMOTE_URL=https://lumither.com/api
|
||||
API_LOCAL_URL=http://backend:3001
|
||||
API_REMOTE_URL=https://lumither.com/api
|
||||
@@ -1,6 +1,16 @@
|
||||
ddev:
|
||||
ARCH := $(shell uname -m)
|
||||
ifeq ($(ARCH), arm64)
|
||||
ARCH := aarch64
|
||||
endif
|
||||
|
||||
all: release
|
||||
|
||||
release:
|
||||
docker compose -f prod.compose.yaml build --build-arg ARCH=$(ARCH)
|
||||
|
||||
dev:
|
||||
docker-compose -f dev.compose.yaml up --build
|
||||
|
||||
dclean:
|
||||
docker-compose -f dev.compose.yaml rm -fsv
|
||||
clean:
|
||||
docker-compose -f prod.compose.yaml -f dev.compose.yaml rm -fsv
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
/target
|
||||
|
||||
/Cargo.lock
|
||||
@@ -7,7 +7,7 @@ pub mod check_update;
|
||||
pub fn get_tasks(db_connection: Pool<Postgres>) -> Vec<Box<dyn Task>> {
|
||||
let db_conn_clone = db_connection.clone();
|
||||
vec![
|
||||
BasicTask::new(move || check_update::task(&db_conn_clone), "0 * * * * *")
|
||||
BasicTask::new(move || check_update::task(&db_conn_clone), "0/15 * * * * *")
|
||||
.unwrap()
|
||||
.to_task(),
|
||||
]
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
FROM rust:latest AS builder
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN ["cargo", "build", "-r"]
|
||||
|
||||
FROM gcr.io/distroless/cc AS production
|
||||
ARG ARCH
|
||||
COPY --from=builder /app/target/release/api_server ./api_server
|
||||
COPY --from=builder /usr/lib/${ARCH}-linux-gnu/libz.so.1 /usr/lib/${ARCH}-linux-gnu/
|
||||
ENTRYPOINT ["./api_server"]
|
||||
@@ -0,0 +1,15 @@
|
||||
FROM node:22 AS builder
|
||||
WORKDIR /app
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
FROM gcr.io/distroless/nodejs22 AS production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
COPY --from=builder /app/next.config.mjs ./
|
||||
COPY --from=builder /app/.next/standalone ./
|
||||
COPY --from=builder /app/.next/static ./.next/static
|
||||
ENV HOSTNAME="0.0.0.0"
|
||||
CMD ["./server.js"]
|
||||
+7
-7
@@ -1,11 +1,11 @@
|
||||
services:
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
context: ./frontend
|
||||
dockerfile: ../container/dev/frontend.containerfile
|
||||
restart: always
|
||||
ports:
|
||||
- 3000:3000
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
- /app/node_modules
|
||||
@@ -14,15 +14,15 @@ services:
|
||||
- ./container/dev/.env
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
|
||||
|
||||
|
||||
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: ../container/dev/backend.containerfile
|
||||
restart: always
|
||||
ports:
|
||||
- 3001:3001
|
||||
- "3001:3001"
|
||||
volumes:
|
||||
- ./blog_posts_git:/app/blog_posts_git:ro
|
||||
env_file:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/node_modules
|
||||
|
||||
/.next/
|
||||
/out/
|
||||
/.next
|
||||
/out
|
||||
/build
|
||||
|
||||
.DS_Store
|
||||
|
||||
@@ -11,8 +11,8 @@ const nextConfig = {
|
||||
hostname: 'pic.re'
|
||||
}
|
||||
]
|
||||
}
|
||||
// output: 'standalone'
|
||||
},
|
||||
output: 'standalone'
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
@@ -0,0 +1,38 @@
|
||||
services:
|
||||
frontend:
|
||||
depends_on:
|
||||
- backend
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: ../container/release/frontend.containerfile
|
||||
restart: always
|
||||
ports:
|
||||
- "3000:3000"
|
||||
env_file:
|
||||
- ./.env
|
||||
|
||||
|
||||
backend:
|
||||
depends_on:
|
||||
- postgres
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: ../container/release/backend.containerfile
|
||||
args:
|
||||
ARCH: ${ARCH}
|
||||
restart: always
|
||||
ports:
|
||||
- "3001:3001"
|
||||
env_file:
|
||||
- ./.env
|
||||
- ./.env.local
|
||||
dns:
|
||||
- 1.1.1.1
|
||||
|
||||
postgres:
|
||||
image: postgres:16.3
|
||||
ports:
|
||||
- "5432:5432"
|
||||
env_file:
|
||||
- ./.env
|
||||
- ./.env.local
|
||||
Reference in new issue
Block a user