diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1a4d15f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +/.dioxus/ +/.git/ +/.github/ +/dist/ +/debug/ +/docker/ +/node_modules/ +/static/ +/target/ +/docker-compose-dev.yml +/docker-compose-prod.yml diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml new file mode 100644 index 0000000..21ed00b --- /dev/null +++ b/docker-compose-dev.yml @@ -0,0 +1,31 @@ +services: + app: + build: + dockerfile: docker/dev/app/Dockerfile + ports: [ "8000:8000" ] + volumes: + - .:/srv/app + - /srv/app/.git/ + - /srv/app/.dioxus/ + - /srv/app/dist/ + - /srv/app/debug/ + - /srv/app/docker/ + - /srv/app/node_modules/ + - /srv/app/static/ + - /srv/app/target/ + - /dev/null:/srv/app/docker-compose-dev.yml + - /dev/null:/srv/app/docker-compose-prod.yml + restart: always + depends_on: [ "db" ] + + db: + image: postgres:16.4-bookworm + environment: + POSTGRES_DB: todo_baggins + POSTGRES_USER: app + POSTGRES_PASSWORD: app + volumes: [ "db_data:/var/lib/postgresql/data" ] + restart: always + +volumes: + db_data: diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml new file mode 100755 index 0000000..e69de29 diff --git a/docker/dev/app/Dockerfile b/docker/dev/app/Dockerfile new file mode 100644 index 0000000..523b986 --- /dev/null +++ b/docker/dev/app/Dockerfile @@ -0,0 +1,10 @@ +FROM rust:1.80-bookworm + +RUN rustup target add wasm32-unknown-unknown +RUN cargo install dioxus-cli +RUN apt-get update && apt-get install -y nodejs npm + +COPY . /srv/app +WORKDIR /srv/app + +CMD npm run watch & dx serve --port 8000