version: '3'

services:
  application:
    logging:
      driver: journald
    image: yourls
    restart: always
    ports:
      - "127.0.0.1:{{http_port}}:80"
    environment:
      YOURLS_DB_HOST: "database:3306"
      YOURLS_DB_USER: "yourls"
      YOURLS_DB_PASS: "{{yourls_database_password}}"
      YOURLS_DB_NAME: "yourls"
      YOURLS_SITE: "https://{{domain}}"
      YOURLS_USER: "{{yourls_user}}"
      YOURLS_PASS: "{{yourls_user_password}}"
    links:
      - database
    depends_on:
      - database
  database:
    logging:
      driver: journald
    image: mariadb
    restart: always
    environment:
      MYSQL_DATABASE: "yourls"
      MYSQL_USER: "yourls"
      MYSQL_PASSWORD: "{{yourls_database_password}}"
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - database:/var/lib/mysql
    healthcheck:
      test: "/usr/bin/mysql --user=yourls --password={{yourls_database_password}} --execute \"SHOW DATABASES;\""
      interval: 3s
      timeout: 1s
      retries: 5
volumes:
  database:
networks:
  default:
    driver: bridge