```yaml
---
version: "3.9"
services:
  n8n:
    image: n8nio/n8n
    container_name: n8n
    network_mode: ${NET-bridge}
    restart: unless-stopped
    environment:
      - GENERIC_TIMEZONE="Europe/Amsterdam"
      - TZ="Europe/Amsterdam"
      - DB_TYPE=mysqldb
      - DB_MYSQLDB_DATABASE=n8n_database
      - DB_MYSQLDB_HOST=n8n-db
      - DB_MYSQLDB_PORT=3306
      - DB_MYSQLDB_USER=n8n_db_username
      - DB_MYSQLDB_PASSWORD=n8n_db_password
    volumes:
      - /docker/n8n/config:/home/node/.n8n
    ports:
      - 5678:5678
    labels:
      - com.centurylinklabs.watchtower.enable=true
      
  n8n-db:
    image: lscr.io/linuxserver/mariadb:${TAG-latest}
    container_name: n8n-db
    network_mode: ${NET-bridge}
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=db_root_password
      - TZ=${TZ-Europe/Amsterdam}
      - MYSQL_DATABASE=n8n_database
      - MYSQL_USER=n8n_db_username
      - MYSQL_PASSWORD=n8n_db_password
    volumes:
      - /docker/n8n/db:/config
    restart: unless-stopped
```