| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- services:
- backend:
- build:
- context: backend
- target: builder
- secrets:
- - db-password
- depends_on:
- db:
- condition: service_healthy
- db:
- # We use a mariadb image which supports both amd64 & arm64 architecture
- image: mariadb:10-focal
- # If you really want to use MySQL, uncomment the following line
- #image: mysql:8
- command: '--default-authentication-plugin=mysql_native_password'
- restart: always
- healthcheck:
- test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --password="$$(cat /run/secrets/db-password)" --silent']
- interval: 3s
- retries: 5
- start_period: 30s
- secrets:
- - db-password
- volumes:
- - db-data:/var/lib/mysql
- environment:
- - MYSQL_DATABASE=example
- - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
- expose:
- - 3306
- proxy:
- image: nginx
- volumes:
- - type: bind
- source: ./proxy/nginx.conf
- target: /etc/nginx/conf.d/default.conf
- read_only: true
- ports:
- - 80:80
- depends_on:
- - backend
- volumes:
- db-data:
- secrets:
- db-password:
- file: db/password.txt
|