feat: create a Docker compose stack for production
This commit is contained in:
		| @@ -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"] | ||||
		Reference in New Issue
	
	Block a user