Initial import
This commit is contained in:
152
docker-compose.yml
Executable file
152
docker-compose.yml
Executable file
@@ -0,0 +1,152 @@
|
||||
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:
|
||||
Reference in New Issue
Block a user