feat: create a Docker compose stack for production
This commit is contained in:
parent
90c20fe6b7
commit
588eb63201
@ -0,0 +1,20 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
dockerfile: docker/prod/app/Dockerfile
|
||||
restart: always
|
||||
ports: [ "8000:8000" ]
|
||||
depends_on: [ "db" ]
|
||||
|
||||
db:
|
||||
image: postgres:16.4-bookworm
|
||||
volumes: [ "db_data:/var/lib/postgresql/data" ]
|
||||
ports: [ "5432:5432" ]
|
||||
environment:
|
||||
POSTGRES_DB: todo_baggins
|
||||
POSTGRES_USER: app
|
||||
POSTGRES_PASSWORD: app
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
db_data:
|
22
docker/prod/app/Dockerfile
Normal file
22
docker/prod/app/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM rust:1.80-bookworm as builder
|
||||
|
||||
RUN rustup target add wasm32-unknown-unknown && \
|
||||
cargo install dioxus-cli diesel_cli && \
|
||||
apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
|
||||
|
||||
COPY . /srv/app
|
||||
WORKDIR /srv/app
|
||||
|
||||
RUN npm install
|
||||
RUN npm run build
|
||||
RUN dx build --release
|
||||
|
||||
FROM debian:bookworm-slim AS runner
|
||||
|
||||
RUN apt-get update && apt-get install -y libpq5
|
||||
|
||||
COPY --from=builder /srv/app/dist /srv/app/dist
|
||||
COPY ./.env /srv/app/.env
|
||||
|
||||
WORKDIR /srv/app
|
||||
CMD ["./dist/todo-baggins"]
|
Loading…
x
Reference in New Issue
Block a user