services: postgres: image: postgres:17.4-alpine container_name: asset_assistant_db restart: always ports: - 20001:5432 entrypoint: - /scripts/db-lanuch-entrypoint.sh environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} TZ: ${TZ} volumes: - ./shared_data/asset_assistant_db:/var/lib/postgresql/data - ./sql:/docker-entrypoint-initdb.d - ./scripts:/scripts networks: - asset_assistant-network asset_assistant: image: golang:1.25.0-alpine3.22 container_name: asset_assistant_api restart: always ports: - 20000:80 depends_on: - postgres networks: - asset_assistant-network environment: DB_HOST: postgres DB_PORT: ${DB_PORT} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ${DB_NAME} TZ: ${TZ} volumes: - ./src:/app command: sh -c "cd /app && go mod tidy && go run main.go" networks: asset_assistant-network: driver: bridge volumes: {}