Files
TimeTrack/docker-compose.yml

55 lines
1.3 KiB
YAML

services:
db:
image: postgres:15
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "${POSTGRES_PORT:-5432}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s
timeout: 5s
retries: 5
pgadmin:
image: dpage/pgadmin4:latest
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD}
ports:
- "${PGADMIN_PORT:-5050}:80"
depends_on:
- db
volumes:
- pgadmin_data:/var/lib/pgadmin
timetrack:
build: .
ports:
- "${TIMETRACK_PORT:-5000}:5000"
environment:
- DATABASE_URL=${DATABASE_URL}
- POSTGRES_HOST=db
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- FLASK_ENV=${FLASK_ENV}
- SECRET_KEY=${SECRET_KEY}
- MAIL_SERVER=${MAIL_SERVER}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
- MAIL_DEFAULT_SENDER=${MAIL_DEFAULT_SENDER}
depends_on:
db:
condition: service_healthy
volumes:
- ${DATA_PATH:-./data}:/data
volumes:
postgres_data:
pgadmin_data:
shared_socket: