docker-compose.yml - example for HLOS/VIVUM

#-------------------------------------------
#  Docker Compose
# @RobLandry
# Repo : https://github.com/LycheeOrg/Lychee-Laravel-Docker
# Adapted for HomelabOs/Vivumlab by Bumblebee 29-1-2021
#-------------------------------------------

version: '3'
networks:
  traefik_network:
    external:
      name: homelabos_traefik
  lychee:

services:
  lychee_db:
    container_name: lychee_db
    image: mariadb:10
    environment:
      - MYSQL_ROOT_PASSWORD=<YOUR_DAD>
      - MYSQL_DATABASE=lychee
      - MYSQL_USER=lychee
      - MYSQL_PASSWORD=<YOUR_MUM>
    expose: 
      - 3306
    volumes:
      - ./mysql:/var/lib/mysql
    networks:
      - lychee
    restart: unless-stopped

  lychee:
    image: lycheeorg/lychee
    container_name: lychee
    ports:
      - 90:80
    volumes:
      - ./lychee/conf:/conf
      - ./lychee/uploads:/uploads
      - ./lychee/sym:/sym
    networks:
      - lychee
      - traefik_network
    environment:
      #- PUID=1000
      #- PGID=1000
      # PHP timezone e.g. PHP_TZ=America/New_York
      - PHP_TZ=UTC
      #- APP_NAME=Laravel
      #- APP_ENV=local
      #- APP_DEBUG=true
      #- APP_URL=http://localhost
      #- LOG_CHANNEL=stack
      - DB_CONNECTION=mysql
      - DB_HOST=lychee_db
      - DB_PORT=3306
      - DB_DATABASE=lychee
      - DB_USERNAME=lychee
      - DB_PASSWORD=<YOUR_MUM>
      #- DB_DROP_CLEAR_TABLES_ON_ROLLBACK=false
      #- DB_OLD_LYCHEE_PREFIX=''
      #- BROADCAST_DRIVER=log
      #- CACHE_DRIVER=file
      #- SESSION_DRIVER=file
      #- SESSION_LIFETIME=120
      #- QUEUE_DRIVER=sync
      #- SECURITY_HEADER_HSTS_ENABLE=false
      #- REDIS_HOST=127.0.0.1
      #- REDIS_PASSWORD=null
      #- REDIS_PORT=6379
      #- MAIL_DRIVER=smtp
      #- MAIL_HOST=smtp.mailtrap.io
      #- MAIL_PORT=2525
      #- MAIL_USERNAME=null
      #- MAIL_PASSWORD=null
      #- MAIL_ENCRYPTION=null
      #- PUSHER_APP_ID=''
      #- PUSHER_APP_KEY=''
      #- PUSHER_APP_SECRET=''
      #- PUSHER_APP_CLUSTER=mt1
      - STARTUP_DELAY=30
    restart: unless-stopped
    depends_on:
      - lychee_db

    labels:
      - "traefik.http.services.lychee.loadbalancer.server.scheme=http"
      - "traefik.http.services.lychee.loadbalancer.server.port=80"
      - "traefik.enable=true"
      - "traefik.docker.network=homelabos_traefik"
      - "traefik.http.routers.lychee-http.service=lychee"
      - "traefik.http.routers.lychee-http.rule=Host(`lychee.<YOUR_CRAPPY_DOMAIN>`)"
      - "traefik.http.routers.lychee-http.entrypoints=http"
      - "traefik.http.routers.lychee-http.middlewares=authelia@file, customFrameHomelab@file"
      - "traefik.http.routers.lychee.service=lychee"
      - "traefik.http.routers.lychee.rule=Host(`lychee.<YOUR_CRAPPY_DOMAIN>`)"
      - "traefik.http.routers.lychee.entrypoints=https"
      # - "traefik.http.routers.lychee.middlewares=authelia@file, customFrameHomelab@file"
      - "traefik.http.routers.lychee.tls=true"
      - "traefik.http.routers.lychee.tls.certresolver=http"

Obviously you probably want to move passwords to a .env and there are a few more options there but you should be able to spin this up and make an admin account.

It's so simple it's almost funny. I just can't be doing with Librephotos, it kind of needs 8Gb just to get out of bed in the morning and all I want is a glorified image bin.

Someone on the other side of the equator can tidy this up an make it useful if it is indeed useful.

Squirrel