68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
db:
|
|
image: mariadb
|
|
restart: always
|
|
environment:
|
|
- MYSQL_DATABASE=photoview
|
|
- MYSQL_USER=photoview
|
|
- MYSQL_PASSWORD=photo-secret
|
|
- MYSQL_RANDOM_ROOT_PASSWORD=1
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
|
|
api:
|
|
build: ./api
|
|
restart: always
|
|
expose:
|
|
- 80
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
- MYSQL_URL=photoview:photo-secret@tcp(db)/photoview
|
|
- PHOTO_CACHE=/app/cache
|
|
# Change This: The publicly exposed url for the api
|
|
# For example if the server is available from the domain example.com,
|
|
# change this value to http://example.com/api
|
|
- API_ENDPOINT=http://localhost:8080/api
|
|
- API_LISTEN_PORT=80
|
|
volumes:
|
|
# Change This: Link photo paths from the host machine
|
|
# 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
|
|
- api_cache:/app/cache
|
|
|
|
ui:
|
|
build:
|
|
context: ./ui
|
|
args:
|
|
# Change This: The publicly exposed url for the graphql api
|
|
# For example if the server is available from the domain example.com,
|
|
# change this value to http://example.com/api/graphql
|
|
GRAPHQL_ENDPOINT: http://localhost:8080/api/graphql
|
|
restart: always
|
|
expose:
|
|
- 80
|
|
depends_on:
|
|
- api
|
|
|
|
proxy:
|
|
image: nginx
|
|
restart: always
|
|
volumes:
|
|
- ./docker/nginx-proxy/default.conf:/etc/nginx/conf.d/default.conf
|
|
ports:
|
|
# Change This: Replace 8080 with the port you want photoview to be accessible at
|
|
- 8080:80
|
|
depends_on:
|
|
- api
|
|
- ui
|
|
|
|
volumes:
|
|
db_data:
|
|
api_cache:
|