77 lines
No EOL
2.3 KiB
YAML
Executable file
77 lines
No EOL
2.3 KiB
YAML
Executable file
version: '3.8'
|
|
|
|
services:
|
|
photoview-db:
|
|
container_name: photoview-db
|
|
image: mariadb:10.5
|
|
restart: unless-stopped
|
|
environment:
|
|
- MYSQL_DATABASE=photoview
|
|
- MYSQL_USER=photoview
|
|
- MYSQL_PASSWORD=photosecret
|
|
- MYSQL_RANDOM_ROOT_PASSWORD=1
|
|
volumes:
|
|
- photoview_db_data:/var/lib/mysql
|
|
networks:
|
|
- photo-backend
|
|
|
|
photoview:
|
|
container_name: photoview
|
|
image: viktorstrate/photoview:2
|
|
restart: unless-stopped
|
|
expose:
|
|
- 80
|
|
depends_on:
|
|
- photoview-db
|
|
networks:
|
|
- photo-backend
|
|
- photo-frontend
|
|
environment:
|
|
- PHOTOVIEW_DATABASE_DRIVER=mysql
|
|
- PHOTOVIEW_MYSQL_URL=photoview:photosecret@tcp(photoview-db)/photoview
|
|
- PHOTOVIEW_LISTEN_IP=photoview
|
|
- PHOTOVIEW_LISTEN_PORT=80
|
|
- PHOTOVIEW_MEDIA_CACHE=/app/cache
|
|
|
|
# Optional: If you are using Samba/CIFS-Share and experience problems with "directory not found"
|
|
# Enable the following Godebug
|
|
# - GODEBUG=asyncpreemptoff=1
|
|
|
|
|
|
# Optional: To enable map related features, you need to create a mapbox token.
|
|
# A token can be generated for free here https://account.mapbox.com/access-tokens/
|
|
# It's a good idea to limit the scope of the token to your own domain, to prevent others from using it.
|
|
- MAPBOX_TOKEN=${MAPBOX_TOKEN}
|
|
|
|
volumes:
|
|
- photoview_api_cache:/app/cache
|
|
|
|
# Change This: to the directory where your photos are located on your server.
|
|
# If the photos are located at `/home/user/photos`, then change this value
|
|
# to the following: `/home/user/photos:/photos:ro`.
|
|
# You can mount multiple paths, if your photos are spread across multiple directories.
|
|
#- ./photos_path:/photos:ro
|
|
- type: bind
|
|
source: ${ROOT_INSTALL}/data/seafile-fuse
|
|
target: /photos
|
|
bind:
|
|
propagation: rslave
|
|
privileged: true
|
|
cap_add:
|
|
- SYS_ADMIN
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.photo.rule=Host(`${HOST_PHOTOVIEW}.${DOMAIN}`)
|
|
- traefik.http.routers.photo.entrypoints=https
|
|
- traefik.http.routers.photo.tls=true
|
|
- traefik.docker.network=photo-frontend
|
|
|
|
networks:
|
|
photo-frontend:
|
|
name: photo-frontend
|
|
photo-backend:
|
|
name: photo-backend
|
|
|
|
volumes:
|
|
photoview_db_data:
|
|
photoview_api_cache: |