Laravel

docker-compose.yml

version: '3'
services:

  httpd:
    image: registry.gitlab.com/cloudmonitor/images/caddy:latest
    restart: unless-stopped
    environment:
      - WEBROOT=/var/www/html/public
    depends_on:
      - app
    links:
      - app
    networks:
      - app-network
      - web
    labels:
      - traefik.http.routers.{SERVICE}.rule=Host(`{DOMAIN}`,`{DOMAIN_ALIAS}`)
      - traefik.http.routers.{SERVICE}.entrypoints=websecure
      - traefik.http.routers.{SERVICE}.tls=true
      - traefik.http.routers.{SERVICE}.tls.certresolver=leresolver
    volumes:
      - app-data:/var/www/html

  app:
    image: {APP_REGISTRY}:branch
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app-data:/var/www/html
    networks:
      - app-network
      - mariadb_database

  scheduler:
    image: registry.gitlab.com/cloudmonitor/images/laravel-scheduler:latest
    restart: unless-stopped
    depends_on:
      - app
    env_file:
      - .env
    volumes:
      - app-data:/var/www/html
    networks:
      - app-network
      - mariadb_database

  worker:
    image: registry.gitlab.com/cloudmonitor/images/laravel-worker:latest
    restart: unless-stopped
    depends_on:
      - app
    env_file:
      - .env
    volumes:
      - app-data:/var/www/html
    networks:
      - app-network
      - mariadb_database

  smtp:
    image: registry.gitlab.com/cloudmonitor/images/smtp-relay:latest
    restart: unless-stopped
    depends_on:
      - app
    env_file:
      - .env
    volumes:
      - ./opendkim:/etc/opendkim/keys/default
    networks:
      - app-network

networks:
  app-network:
    driver: bridge
  web:
    external: true
  mariadb_database:
    external: true

volumes:
  app-data:

.env

APP_ENV=
APP_KEY=
APP_NAME=
APP_DEBUG=
DB_HOST=
DB_PASSWORD=
DB_DATABASE=
DB_USERNAME=
MAIL_MAILER=smtp
MAIL_HOST=postfix
MAIL_PORT=25
MAIL_FROM_NAME=
MAIL_FROM_ADDRESS=
FILESYSTEM_DRIVER=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_REGION=
S3_BUCKET=
S3_ROOT_PATH=
WISEFLOW_KEY=
RELAY_HOST=
HOSTNAME=
Emil Moe

Software- and Data Engineer

I created this website to help you empower your infrastructure and so you don't need to spend the same amount of hours as me on researching. I chose to make the site ad-free, so if you like what I do, please consider supporting my Patreon.

Leave a Reply

Your email address will not be published. Required fields are marked *