-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
98 lines (94 loc) · 2.9 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
version: '3.8'
services:
app:
image: photoprism/photoprism:latest
restart: unless-stopped
environment:
- PHOTOPRISM_ADMIN_USER
- PHOTOPRISM_ADMIN_PASSWORD
- PHOTOPRISM_AUTH_MODE=password
- PHOTOPRISM_SITE_URL
- PHOTOPRISM_ORIGINALS_LIMIT
- PHOTOPRISM_HTTP_COMPRESSION=gzip
- PHOTOPRISM_LOG_LEVEL=warning
- PHOTOPRISM_READONLY
- PHOTOPRISM_DATABASE_DRIVER=mysql
- PHOTOPRISM_DATABASE_SERVER=db:3306
- PHOTOPRISM_DATABASE_NAME=photoprism
- PHOTOPRISM_DATABASE_USER=photoprism
- PHOTOPRISM_DATABASE_PASSWORD=photoprism
- PHOTOPRISM_SITE_CAPTION
- PHOTOPRISM_SITE_DESCRIPTION
- PHOTOPRISM_SITE_AUTHOR
- PHOTOPRISM_WORKERS
security_opt:
- seccomp:unconfined
- apparmor:unconfined
working_dir: "/photoprism"
depends_on:
- db
volumes:
- app_data:/photoprism/storage
- app_originals:/photoprism/originals
- app_import:/photoprism/import
networks:
app_db:
proxy_apps:
cpus: 1.0
labels:
ofelia.enabled: "true"
ofelia.job-exec.photoprismimportcron.schedule: "@every 25m"
ofelia.job-exec.photoprismimportcron.command: "photoprism import /photoprism/import"
ofelia.job-exec.photoprismindexcron.schedule: "@every 3h"
ofelia.job-exec.photoprismindexcron.command: "photoprism index --cleanup"
db:
image: mariadb:11
restart: unless-stopped
volumes:
- db_data:/var/lib/mysql
environment:
- MARIADB_AUTO_UPGRADE=1
- MARIADB_INITDB_SKIP_TZINFO=1
- MARIADB_DATABASE=photoprism
- MARIADB_USER=photoprism
- MARIADB_PASSWORD=photoprism
- MARIADB_ROOT_PASSWORD=photoprism
networks:
app_db:
labels:
ofelia.restart: "true"
ofelia.enabled: "true"
ofelia.job-exec.photoprismdbbackup.schedule: "0 0 1 * * *"
ofelia.job-exec.photoprismdbbackup.command: "sh -c 'mariadb-dump --user=photoprism --password=photoprism photoprism > /var/lib/mysql/backup.sql'"
security_opt:
- seccomp:unconfined
- apparmor:unconfined
command: mariadbd --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
sftp:
image: ghcr.io/hueske-digital/sftp:latest
restart: unless-stopped
volumes:
- sftp_keys:/etc/ssh
- app_import:/home/${SFTP_USERNAME}/import
- $PWD/publickeys:/home/${SFTP_USERNAME}/.ssh/keys:ro
ports:
- "2223:22"
networks:
default:
# Empty password = only allow publickeys
command: ${SFTP_USERNAME}:${SFTP_PASSWORD}:1000
ulimits:
nofile:
soft: 65536
hard: 65536
volumes:
app_data:
app_originals:
app_import:
db_data:
sftp_keys:
networks:
app_db:
proxy_apps:
name: proxy_apps
external: true