mirror of
https://github.com/immich-app/immich.git
synced 2024-12-22 01:47:08 +02:00
1a3d05ffc3
* chore: remove UPLOAD_LOCATION as it isn't used in the server * docker: remove network in docker compose as docker creates one by default * nginx: update reverse proxy to put web at root and api at /api * docker: remove unneeded exposed ports and docker network Align dev setup with prod, but with ports exposed for direct connection Most communication between services happens on the internal network, so we don't need to expose all these services. With the nginx changes, the api and web panel are both server through the reverse proxy on / for web and /api for the API. The only service that should expose ports is nginx as that is the entrypoint to the application. * chore: remove CORS now we serve the api on /api in the default setup * docs: update README.md to include /api * Fixed docket-compose file for dev environment and websocket on web and mobile Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
112 lines
2.3 KiB
YAML
112 lines
2.3 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
immich-server:
|
|
image: immich-server-dev:latest
|
|
build:
|
|
context: ../server
|
|
dockerfile: Dockerfile
|
|
command: npm run start:dev immich
|
|
expose:
|
|
- "3000"
|
|
volumes:
|
|
- ../server:/usr/src/app
|
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
|
- /usr/src/app/node_modules
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- NODE_ENV=development
|
|
depends_on:
|
|
- redis
|
|
- database
|
|
|
|
immich-machine-learning:
|
|
image: immich-machine-learning-dev:latest
|
|
build:
|
|
context: ../machine-learning
|
|
dockerfile: Dockerfile
|
|
command: npm run start:dev
|
|
expose:
|
|
- "3001"
|
|
volumes:
|
|
- ../machine-learning:/usr/src/app
|
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
|
- /usr/src/app/node_modules
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- NODE_ENV=development
|
|
depends_on:
|
|
- database
|
|
|
|
immich-microservices:
|
|
image: immich-microservices:latest
|
|
build:
|
|
context: ../server
|
|
dockerfile: Dockerfile
|
|
command: npm run start:dev microservices
|
|
volumes:
|
|
- ../server:/usr/src/app
|
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
|
- /usr/src/app/node_modules
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- NODE_ENV=development
|
|
depends_on:
|
|
- database
|
|
- immich-server
|
|
|
|
immich-web:
|
|
image: immich-web-dev:1.9.0
|
|
build:
|
|
context: ../web
|
|
dockerfile: Dockerfile
|
|
target: dev
|
|
command: npm run dev --host
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- 3002:3000
|
|
- 24678:24678
|
|
volumes:
|
|
- ../web:/usr/src/app
|
|
- /usr/src/app/node_modules
|
|
restart: always
|
|
|
|
redis:
|
|
container_name: immich_redis
|
|
image: redis:6.2
|
|
|
|
database:
|
|
container_name: immich_postgres
|
|
image: postgres:14
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
POSTGRES_USER: ${DB_USERNAME}
|
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
|
PG_DATA: /var/lib/postgresql/data
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- 5432:5432
|
|
|
|
nginx:
|
|
container_name: proxy_nginx
|
|
image: nginx:latest
|
|
volumes:
|
|
- ./settings/nginx-conf:/etc/nginx/conf.d
|
|
ports:
|
|
- 2283:80
|
|
- 2284:443
|
|
logging:
|
|
driver: none
|
|
depends_on:
|
|
- immich-server
|
|
|
|
volumes:
|
|
pgdata:
|