services: app: container_name: sides-app build: context: . dockerfile: Dockerfile volumes: - ./src:/var/www/html depends_on: - postgres networks: - sides_net restart: unless-stopped environment: - TZ=${TZ:-Asia/Kuala_Lumpur} postgres: container_name: sides-db image: postgres:18.1 restart: always volumes: - ./docker/postgres/data:/var/lib/postgresql/data environment: - POSTGRES_DB=${POSTGRES_DB} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - PGDATA=/var/lib/postgresql/data - TZ=${TZ:-Asia/Kuala_Lumpur} ports: - "5432:5432" networks: - sides_net web: container_name: sides-web image: nginx:stable-alpine restart: always ports: - "8080:80" - "8443:443" volumes: - ./src:/var/www/html - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf networks: - sides_net environment: - TZ=${TZ:-Asia/Kuala_Lumpur} pgadmin: image: dpage/pgadmin4 container_name: sides-pgAdmin environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD} - TZ=${TZ:-Asia/Kuala_Lumpur} ports: - "5050:80" depends_on: - postgres volumes: - pgadmin_data:/var/lib/pgadmin networks: - sides_net restart: unless-stopped dozzle: image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 777:8080 environment: - DOZZLE_ENABLE_ACTIONS=true - DOZZLE_ENABLE_SHELL=true - TZ=${TZ:-Asia/Kuala_Lumpur} filebrowser: image: gtstef/filebrowser:stable container_name: quantum-prod ports: - 8900:80 user: "0:0" restart: unless-stopped volumes: - ./filebrowser-data:/home/filebrowser/data - ./filebrowser-files:/files - /root/sides:/sides environment: - FILEBROWSER_CONFIG=data/config.yaml networks: sides_net: name: sides_net volumes: pgadmin_data: