version: '3' x-web: &web-default restart: unless-stopped image: kolaente.dev/prisma/swivel:latest depends_on: - db env_file: - env.prod - env.secrets volumes: - ./storage:/var/www/storage services: web: << : *web-default networks: - default - web labels: - "traefik.docker.network=web" - "traefik.enable=true" - "traefik.http.routers.swivel.rule=Host(`swivel.prisma.rocks`)" - "traefik.http.routers.swivel.entrypoints=https" - "traefik.http.routers.swivel.tls.certResolver=basic" - "com.centurylinklabs.watchtower.enable=true" # healthcheck: # test: [ "CMD", "curl", "--fail", "http://localhost/health" ] # retries: 3 # timeout: 5s queue: << : *web-default command: php artisan queue:work db: image: mariadb:10 restart: unless-stopped volumes: - ./db:/var/lib/mysql environment: - MYSQL_DATABASE=swivel - MYSQL_USER=swivel - MYSQL_PASSWORD=giu8aehie8Vohnoh - MYSQL_ROOT_PASSWORD=Ap7Quoh5Iethei1w redis: restart: unless-stopped image: redis networks: web: external: true