2023-05-29 14:49:47 +03:00
|
|
|
# 1.Prepare your workspace by:
|
2023-08-11 17:34:08 +03:00
|
|
|
# docker compose -f docker-compose.dev.yaml run api go install github.com/cosmtrek/air@latest
|
|
|
|
# docker compose -f docker-compose.dev.yaml run web npm install
|
2023-05-29 14:49:47 +03:00
|
|
|
#
|
|
|
|
# 2. Start you work by:
|
|
|
|
# docker compose up -d
|
|
|
|
#
|
|
|
|
# 3. Check logs by:
|
|
|
|
# docker compose logs -f
|
|
|
|
#
|
|
|
|
services:
|
2023-09-28 17:09:52 +03:00
|
|
|
db:
|
|
|
|
image: mysql
|
|
|
|
volumes:
|
|
|
|
- ./.air/mysql:/var/lib/mysql
|
2023-05-29 14:49:47 +03:00
|
|
|
api:
|
2023-08-27 11:08:39 +03:00
|
|
|
image: golang:1.21-alpine
|
2023-05-29 14:49:47 +03:00
|
|
|
working_dir: /work
|
|
|
|
command: air -c ./scripts/.air.toml
|
2023-09-28 17:09:52 +03:00
|
|
|
environment:
|
|
|
|
- "MEMOS_DSN=root@tcp(db)/memos"
|
|
|
|
- "MEMOS_DRIVER=mysql"
|
2023-05-29 14:49:47 +03:00
|
|
|
volumes:
|
2023-07-12 10:39:56 +03:00
|
|
|
- $HOME/go/pkg/:/go/pkg/ # Cache for go mod shared with the host
|
2023-08-27 11:08:39 +03:00
|
|
|
- ./.air/bin/:/go/bin/ # Cache for binary used only in container, such as *air*
|
2023-05-29 14:49:47 +03:00
|
|
|
- .:/work/
|
|
|
|
web:
|
2023-08-27 11:08:39 +03:00
|
|
|
image: node:18-alpine
|
2023-05-29 14:49:47 +03:00
|
|
|
working_dir: /work
|
|
|
|
depends_on: ["api"]
|
|
|
|
ports: ["3001:3001"]
|
|
|
|
environment: ["DEV_PROXY_SERVER=http://api:8081/"]
|
|
|
|
command: npm run dev
|
|
|
|
volumes:
|
|
|
|
- ./web:/work
|
|
|
|
- ./.air/node_modules/:/work/node_modules/ # Cache for Node Modules
|