mirror of
https://github.com/zkldi/Tachi.git
synced 2026-09-27 17:38:11 +03:00
90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
services:
|
|
tachi-mongo:
|
|
container_name: tachi-mongo
|
|
command: "--config /etc/mongod.conf"
|
|
image: mongo:5
|
|
restart: unless-stopped
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- tachi-volume:/data/db
|
|
- "./dev/mongod.conf:/etc/mongod.conf"
|
|
|
|
tachi-redis:
|
|
container_name: tachi-redis
|
|
command: redis-server --save 60 1 --loglevel warning
|
|
image: redis:7.4.1
|
|
restart: unless-stopped
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- tachi-redis:/data
|
|
tachi-postgres:
|
|
container_name: tachi-postgres
|
|
image: postgres:18
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5432:5432"
|
|
# Dev observability: pg_stat_statements + slow-query logging + auto_explain plans.
|
|
# Recreate the container (or bump volume) after changing these; existing DBs: run
|
|
# CREATE EXTENSION pg_stat_statements; once if missing.
|
|
command:
|
|
- postgres
|
|
- -c
|
|
- shared_preload_libraries=pg_stat_statements,auto_explain
|
|
- -c
|
|
- pg_stat_statements.track=all
|
|
- -c
|
|
- log_min_duration_statement=100
|
|
- -c
|
|
- log_line_prefix=%m [%p] %q%u@%d
|
|
- -c
|
|
- auto_explain.log_min_duration=500
|
|
- -c
|
|
- auto_explain.log_analyze=on
|
|
- -c
|
|
- auto_explain.log_buffers=on
|
|
environment:
|
|
POSTGRES_USER: tachi
|
|
POSTGRES_PASSWORD: tachi
|
|
POSTGRES_DB: tachi
|
|
volumes:
|
|
- tachi-postgres:/var/lib/postgresql
|
|
- "./dev/postgres-init.sql:/docker-entrypoint-initdb.d/init.sql"
|
|
tachi-s3:
|
|
container_name: tachi-s3
|
|
image: quay.io/minio/minio:RELEASE.2024-10-29T16-01-48Z
|
|
environment:
|
|
MINIO_ROOT_USER: minio
|
|
MINIO_ROOT_PASSWORD: password
|
|
ports:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
volumes:
|
|
- tachi-minio:/data
|
|
entrypoint: /usr/bin/minio server /data --console-address=':9001'
|
|
|
|
tachi-dev:
|
|
user: "1000:1000"
|
|
tty: true
|
|
container_name: tachi-dev
|
|
build:
|
|
dockerfile: Dockerfile.dev
|
|
ports:
|
|
- "8080:8080" # server
|
|
- "3000:3000" # client
|
|
- "3001:3001" # docs
|
|
volumes:
|
|
- ./:/tachi
|
|
# Mount your home files under your-pc, so you can easily access them
|
|
- ~:/host-pc
|
|
# keep node_modules inside the container, not on the host mount
|
|
- /tachi/node_modules/
|
|
- /tachi/.bun
|
|
|
|
volumes:
|
|
tachi-volume:
|
|
tachi-redis:
|
|
tachi-logs:
|
|
tachi-postgres:
|
|
tachi-minio: |