version: '3.7' services: server: image: nginx restart: always environment: - APP_URL=http://in.localhost:8003 volumes: # Vhost configuration #- ./config/caddy/Caddyfile:/etc/caddy/Caddyfiledocker-com - ./config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf:ro # Configure your mounted directories, make sure the folder 'public' and 'storage' # exist, before mounting them # you may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data! - ./docker/app/public:/var/www/app/public:rw,delegated - ./docker/app/storage:/var/www/app/storage:rw,delegated depends_on: - app # Run webserver nginx on port 80 # Feel free to modify depending what port is already occupied ports: - "8003:80" #- "443:443" networks: - invoiceninja app: image: invoiceninja/invoiceninja:5 env_file: env restart: always cap_add: - SYS_ADMIN volumes: # you may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data! - ./config/hosts:/etc/hosts:ro - ./docker/app/public:/var/www/app/public:rw,delegated - ./docker/app/storage:/var/www/app/storage:rw,delegated depends_on: - db networks: - invoiceninja db: image: mysql:5 ports: - "3305:3306" restart: always environment: - MYSQL_ROOT_PASSWORD=ninjaAdm1nPassword - MYSQL_USER=ninja - MYSQL_PASSWORD=ninja - MYSQL_DATABASE=ninja volumes: # you may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data! - ./docker/mysql/data:/var/lib/mysql:rw,delegated networks: - invoiceninja # THIS IS ONLY A VALID CONFIGURATION FOR IN 5. DO NOT USE FOR IN 4. cron: image: invoiceninja/invoiceninja:5 env_file: env volumes: - ./config/hosts:/etc/hosts:ro - ./docker/app/public:/var/www/app/public:rw,delegated - ./docker/app/storage:/var/www/app/storage:rw,delegated entrypoint: | /bin/sh -c 'sh -s <