# Sonarqube

## Services

### Postgres

#### Env

- ALLOW_EMPTY_PASSWORD
- POSTGRESQL_USERNAME
- POSTGRESQL_DATABASE
- TZ

#### Volumes

- /bitnami/postgresql
- /docker-entrypoint-initdb.d
- /docker-entrypoint-preinitdb.d

### Sonarqube

#### Env

- ALLOW_EMPTY_PASSWORD
- SONARQUBE_DATABASE_HOST
- SONARQUBE_DATABASE_PORT_NUMBER
- SONARQUBE_DATABASE_USER
- SONARQUBE_DATABASE_NAME
- SONARQUBE_USERNAME
- SONARQUBE_PASSWORD
- SONARQUBE_EMAIL
- TZ

#### Volumes

- /bitnami/sonarqube

## Stack

```yml
version: '3'
services:
  postgresql:
    image: docker.io/bitnami/postgresql:13
    volumes:
      - 'postgresql_data:/bitnami/postgresql'
      - 'entry_point:/docker-entrypoint-preinitdb.d'
      - 'entry_point:/docker-entrypoint-initdb.d'
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      ALLOW_EMPTY_PASSWORD: 'yes'
      POSTGRESQL_USERNAME: ${SONARQUBE_DB_USER}
      POSTGRESQL_DATABASE: ${SONARQUBE_DB_NAME}
      TZ: ${TZ}
    networks:
      - proxy_network
  sonarqube:
    image: bitnami/sonarqube:9.6.1
      #ports:
    # - '8080:8080'
    volumes:
      - 'sonarqube_data:/bitnami/sonarqube'
    depends_on:
      - postgresql
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      ALLOW_EMPTY_PASSWORD: 'yes'
      SONARQUBE_DATABASE_HOST: postgresql
      SONARQUBE_DATABASE_PORT_NUMBER: 5432
      SONARQUBE_DATABASE_USER: ${SONARQUBE_DB_USER}
      SONARQUBE_DATABASE_NAME: ${SONARQUBE_DB_NAME}
      SONARQUBE_USERNAME: ${SONARQUBE_USER}
      SONARQUBE_PASSWORD: ${SONARQUBE_PASSWORD}
      SONARQUBE_EMAIL: ${SONARQUBE_EMAIL}

      TZ: ${TZ}
    networks:
      - proxy_network
volumes:
  postgresql_data:
  sonarqube_data:
  entry_point:

networks:
  proxy_network:
    external: true
```