networks: tckdev_net: name: tckdev_net services: app: container_name: tckdev-app build: context: . dockerfile: Dockerfile volumes: - ./src:/var/www/html depends_on: postgres: condition: service_healthy networks: - tckdev_net restart: unless-stopped environment: - RUN_MIGRATIONS=true - RUN_SEEDER=true - ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com} - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123} postgres: container_name: tckdev-db image: postgres:16 restart: always volumes: - pgdata:/var/lib/postgresql/data environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ports: - "5432:5432" networks: - tckdev_net healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-tck} -d ${POSTGRES_DB:-sides_db}"] interval: 5s timeout: 5s retries: 5 web: container_name: tckdev-web image: nginx:stable-alpine restart: always ports: - "80:80" volumes: - ./src:/var/www/html - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf depends_on: - app networks: - tckdev_net pgadmin: image: dpage/pgadmin4 container_name: tckdev-pgAdmin environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD} volumes: - ./backup:/var/lib/pgadmin/storage/tck68000_gmail.com/backup:z ports: - "5050:80" depends_on: postgres: condition: service_healthy networks: - tckdev_net restart: unless-stopped adminer: container_name: tckdev-adminer image: adminer restart: always ports: - "6060:8080" depends_on: postgres: condition: service_healthy networks: - tckdev_net volumes: pgdata: