153 lines
4.4 KiB
YAML
Executable File
153 lines
4.4 KiB
YAML
Executable File
services:
|
|
photoprism:
|
|
image: photoprism/photoprism:latest
|
|
container_name: photoprism
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "2"
|
|
depends_on:
|
|
- photoprism-db
|
|
ports:
|
|
- '127.0.0.1:${PHOTOPRISM_PORT:-2342}:2342'
|
|
volumes:
|
|
- type: bind
|
|
source: ${PHOTOPRISM_ORIGINALS_SOURCE:-/mnt/usb/photos}
|
|
target: /photoprism/originals
|
|
read_only: true
|
|
bind:
|
|
create_host_path: false
|
|
- photoprism-storage:/photoprism/storage
|
|
environment:
|
|
PHOTOPRISM_ADMIN_USER: ${PHOTOPRISM_ADMIN_USER:-admin}
|
|
PHOTOPRISM_ADMIN_PASSWORD: ${PHOTOPRISM_ADMIN_PASSWORD:-ChangeMe1234}
|
|
PHOTOPRISM_SITE_URL: ${PHOTOPRISM_SITE_URL:-https://photo.sm-home.cloud/}
|
|
PHOTOPRISM_ORIGINALS_PATH: /photoprism/originals
|
|
PHOTOPRISM_STORAGE_PATH: /photoprism/storage
|
|
PHOTOPRISM_READONLY: ${PHOTOPRISM_READONLY:-true}
|
|
PHOTOPRISM_DATABASE_DRIVER: mysql
|
|
PHOTOPRISM_DATABASE_SERVER: photoprism-db:3306
|
|
PHOTOPRISM_DATABASE_NAME: ${PHOTOPRISM_DATABASE_NAME:-photoprism}
|
|
PHOTOPRISM_DATABASE_USER: ${PHOTOPRISM_DATABASE_USER:-photoprism}
|
|
PHOTOPRISM_DATABASE_PASSWORD: ${PHOTOPRISM_DATABASE_PASSWORD:-photoprism}
|
|
restart: unless-stopped
|
|
networks:
|
|
- default
|
|
- work-backend
|
|
|
|
photoprism-db:
|
|
image: mariadb:11
|
|
container_name: photoprism-db
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "2"
|
|
command: --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
environment:
|
|
MARIADB_AUTO_UPGRADE: "1"
|
|
MARIADB_DATABASE: ${PHOTOPRISM_DATABASE_NAME:-photoprism}
|
|
MARIADB_USER: ${PHOTOPRISM_DATABASE_USER:-photoprism}
|
|
MARIADB_PASSWORD: ${PHOTOPRISM_DATABASE_PASSWORD:-photoprism}
|
|
MARIADB_ROOT_PASSWORD: ${PHOTOPRISM_DATABASE_ROOT_PASSWORD:-photoprism-root}
|
|
volumes:
|
|
- photoprism-db:/var/lib/mysql
|
|
restart: unless-stopped
|
|
networks:
|
|
- default
|
|
- work-backend
|
|
|
|
prod-app:
|
|
image: node:${NODE_VERSION:-22.22.2}-bookworm
|
|
container_name: ai-code-app-prod
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "2"
|
|
user: "0:0"
|
|
cpus: 1.0
|
|
mem_limit: 1536m
|
|
working_dir: /prod-app
|
|
ports:
|
|
- '127.0.0.1:5173:5173'
|
|
volumes:
|
|
- ${PROD_APP_SOURCE:-.}:/prod-app
|
|
- ./.docker/prod-app/node_modules:/prod-app/node_modules
|
|
- ./.docker/prod-app/home:/home/how2ice
|
|
networks:
|
|
- default
|
|
- work-backend
|
|
environment:
|
|
HOME: /home/how2ice
|
|
NPM_CONFIG_CACHE: /home/how2ice/.npm
|
|
WORK_SERVER_URL: http://work-server:3100
|
|
VITE_DISABLE_APP_UPDATE: "true"
|
|
command: >
|
|
sh -c "npm ci --legacy-peer-deps && npm run build:test-app && npm run preview:test-app -- --host 0.0.0.0 --port 5173 --strictPort"
|
|
|
|
app:
|
|
image: node:${NODE_VERSION:-22.22.2}-bookworm
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "2"
|
|
user: "0:0"
|
|
cpus: 1.0
|
|
mem_limit: 1536m
|
|
working_dir: /app
|
|
ports:
|
|
- '127.0.0.1:5174:5173'
|
|
volumes:
|
|
- ./:/app
|
|
- app-node-modules:/app/node_modules
|
|
- app-home:/home/how2ice
|
|
networks:
|
|
- default
|
|
- work-backend
|
|
environment:
|
|
HOME: /home/how2ice
|
|
NPM_CONFIG_CACHE: /home/how2ice/.npm
|
|
WORK_SERVER_URL: http://work-server:3100
|
|
command: >
|
|
sh -c "npm ci --legacy-peer-deps && npm run build:test-app && npm run preview:test-app -- --host 0.0.0.0 --port 5173 --strictPort"
|
|
|
|
release-app:
|
|
image: node:${NODE_VERSION:-22.22.2}-bookworm
|
|
container_name: ai-code-app-release
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "200m"
|
|
max-file: "2"
|
|
user: "0:0"
|
|
cpus: 1.0
|
|
mem_limit: 1536m
|
|
working_dir: /release-app
|
|
ports:
|
|
- '127.0.0.1:5175:5173'
|
|
volumes:
|
|
- ${RELEASE_APP_SOURCE:-.}:/release-app
|
|
- ./.docker/release-app/node_modules:/release-app/node_modules
|
|
- ./.docker/release-app/home:/home/how2ice
|
|
networks:
|
|
- default
|
|
- work-backend
|
|
environment:
|
|
HOME: /home/how2ice
|
|
NPM_CONFIG_CACHE: /home/how2ice/.npm
|
|
command: >
|
|
sh -c "npm ci --legacy-peer-deps && npm run dev -- --host 0.0.0.0 --port 5173"
|
|
|
|
networks:
|
|
work-backend:
|
|
name: work-backend
|
|
|
|
volumes:
|
|
app-node-modules:
|
|
app-home:
|
|
photoprism-storage:
|
|
photoprism-db:
|