Advertisement
gadgeteerza

LibrePhotos Docker-Compose File

Jan 28th, 2024
991
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.67 KB | Source Code | 0 0
  1. # DO NOT EDIT
  2. # The .env file has everything you need to edit.
  3. # Run options:
  4. # 1. Use prebuilt images (preferred method):
  5. #   run cmd: docker-compose up -d
  6. # 2. Build images on your own machine:
  7. #   build cmd: COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
  8. #   run cmd: docker-compose up -d
  9.  
  10. version: "3.8"
  11. services:
  12.   proxy:
  13.     image: reallibrephotos/librephotos-proxy:${tag}
  14.     container_name: librephotos_proxy
  15.     hostname: librephotos_proxy
  16.     restart: unless-stopped
  17.     volumes:
  18.      - ${scanDirectory}:/data
  19.       - ${data}/protected_media:/protected_media
  20.       # Hardcoded a location to photo collection in another docker volume mapped to /data/piwigo
  21.       - /var/lib/docker/volumes/piwigogallery/_data/upload:/data/piwigo
  22.     env_file:
  23.      - stack.env
  24.     networks:
  25.      - mysql-net
  26.     ports:
  27.      - ${httpPort}:80
  28.     depends_on:
  29.      - backend
  30.       - frontend
  31.     labels:
  32.       com.centurylinklabs.watchtower.enable: "true"
  33.  
  34.   librephotos_db:
  35.     image: postgres:13
  36.     container_name: librephotos_db
  37.     hostname: librephotos_db
  38.     restart: unless-stopped
  39.     environment:
  40.      - POSTGRES_USER=${dbUser}
  41.       - POSTGRES_PASSWORD=${dbPass}
  42.       - POSTGRES_DB=${dbName}
  43.     volumes:
  44.      - ${data}/db:/var/lib/postgresql/data
  45.     env_file:
  46.      - stack.env
  47.     networks:
  48.      - mysql-net
  49.     command: postgres -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c random_page_cost=1.0
  50.     healthcheck:
  51.       test: psql -U ${dbUser} -d ${dbName} -c "SELECT 1;"
  52.       interval: 5s
  53.       timeout: 5s
  54.       retries: 5
  55.     labels:
  56.      # Enables Watchtower to notify about updated image
  57.       com.centurylinklabs.watchtower.enable: "true"
  58.  
  59.   frontend:
  60.     image: reallibrephotos/librephotos-frontend:${tag}
  61.     container_name: librephotos_frontend
  62.     hostname: librephotos_frontend
  63.     env_file:
  64.      - stack.env
  65.     networks:
  66.      - mysql-net
  67.     restart: unless-stopped
  68.     labels:
  69.      # Enables Watchtower to notify about updated image
  70.       com.centurylinklabs.watchtower.enable: "true"
  71.  
  72.   backend:
  73.     image: reallibrephotos/librephotos:${tag}
  74.     container_name: librephotos_backend
  75.     hostname: librephotos_backend
  76.     restart: unless-stopped
  77.     volumes:
  78.      - ${scanDirectory}:/data
  79.       - ${data}/protected_media:/protected_media
  80.       - ${data}/logs:/logs
  81.       - ${data}/cache:/root/.cache
  82.       # Hardcoded a location to photo collection in another docker volume mapped to /data/piwigo
  83.       - /var/lib/docker/volumes/piwigogallery/_data/upload:/data/piwigo
  84.     env_file:
  85.      - stack.env
  86.     networks:
  87.      - mysql-net
  88.     environment:
  89.      - SECRET_KEY=${shhhhKey:-}
  90.       - BACKEND_HOST=backend
  91.       - ADMIN_EMAIL=${adminEmail:-}
  92.       - ADMIN_USERNAME=${userName:-}
  93.       - ADMIN_PASSWORD=${userPass:-}
  94.       - DB_BACKEND=postgresql
  95.       - DB_NAME=${dbName}
  96.       - DB_USER=${dbUser}
  97.       - DB_PASS=${dbPass}
  98.       - DB_HOST=${dbHost}
  99.       - DB_PORT=5432
  100.       - MAPBOX_API_KEY=${mapApiKey:-}
  101.       - WEB_CONCURRENCY=${gunniWorkers:-1}
  102.       - SKIP_PATTERNS=${skipPatterns:-}
  103.       - ALLOW_UPLOAD=${allowUpload:-false}
  104.       - CSRF_TRUSTED_ORIGINS=${csrfTrustedOrigins:-}
  105.       - DEBUG=0
  106.       - HEAVYWEIGHT_PROCESS=${HEAVYWEIGHT_PROCESS:-}
  107.     labels:
  108.      # Enables Watchtower to notify about updated image
  109.       com.centurylinklabs.watchtower.enable: "true"
  110.     depends_on:
  111.       librephotos_db:
  112.         condition: service_healthy
  113.        
  114. networks:
  115.   mysql-net:
  116.    # Joins existing network of this name so that Nginx Proxy Manager can connect
  117.     external: true
  118.     # Specify name so that it does not append stack name
  119.     name: mysql-net
Tags: librephotos
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement