Files
llmacpp_chat_completion/docker-compose.yml
T
2026-09-22 05:59:21 +07:00

82 lines
3.7 KiB
YAML
Executable File

# You should know that Docker Compose works with services.
# 1 service = 1 container.
# For example, a service, a server, a client, a database...
# We use the keyword 'services' to start to create services.
services:
app: # service name
container_name: llama_cpp_src_build
build: ./app
image: llama_cpp_src_build
restart: always
environment:
- TZ=Asia/Bangkok
# - MODELFILENAME=Tiel-Coder-35B-A3B-UD-IQ3_XXS.gguf
# - SERVERARGS=--host 0.0.0.0 --port 8080 --no-mmap --fit-ctx 204800 --cache-reuse 256 --jinja
# - MODELFILENAME=Nail-Qwen3.6-35B-A3B-MTP-UD-IQ3_XXS.gguf
# - SERVERARGS=--host 0.0.0.0 --port 8080 --no-mmap --fit-ctx 204800 --jinja --fit-target 2048 --cache-reuse 256 --temp 1.0 --top-k 20 --min-p 0 #--mmproj /appfolder/mountvolume/Nail-Qwen3.6-35B-A3B-MTP-UD-IQ3_XXS-mmproj-F16.gguf
# - MODELFILENAME=Gemma4-12B-QAT-Uncensored-HauhauCS-Balanced-Q4_K_M.gguf
# - SERVERARGS=--host 0.0.0.0 --port 8080 --no-mmap --fit-ctx 204800 --jinja --fit-target 2048 --cache-reuse 256 --presence-penalty 0.0 --repeat-penalty 1.0 -md /appfolder/mountvolume/mtp-gemma-4-12B-it.gguf --spec-type draft-mtp --mmproj /appfolder/mountvolume/mmproj-Gemma4-12B-QAT-Uncensored-HauhauCS-Balanced-BF16.gguf --jinja --chat-template-file /appfolder/mountvolume/gemma-4-E4B-chat_template.jinja
# - MODELFILENAME=gemma-4-E4B-it-qat-UD-Q4_K_XL.gguf
# - SERVERARGS=--host 0.0.0.0 --port 8080 --fit-ctx 131072 --fit-target 2048 --no-mmap --mmproj /appfolder/mountvolume/gemma-4-E4B-it-qat-UD-Q4_K_XL-mmproj-BF16.gguf --jinja --chat-template-file /appfolder/mountvolume/gemma-4-E4B-chat_template.jinja
# network_mode: "app-network"
# networks:
# - default
ports:
- 9001:8080
volumes:
- ./mountvolume:/appfolder/mountvolume
# privileged: true
deploy:
resources:
limits:
cpus: '10'
# memory: 7200M
reservations:
devices:
- driver: nvidia
device_ids: ['0'] # choose between device_ids or count
capabilities: [gpu]
# The name of our service is "database"
# but you can use the name of your choice.
# Note: This may change the commands you are going to use a little bit.
# database:
# # Official Postgres image from DockerHub (we use the last version)
# image: 'postgres:latest'
# By default, a Postgres database is running on the 5432 port.
# If we want to access the database from our computer (outside the container),
# we must share the port with our computer's port.
# The syntax is [port we want on our machine]:[port we want to retrieve in the container]
# Note: You are free to change your computer's port,
# but take into consideration that it will change the way
# you are connecting to your database.
# networks:
# - backend
# ports:
# - 5432:5432
# environment:
# POSTGRES_USER: username # The PostgreSQL user (useful to connect to the database)
# POSTGRES_PASSWORD: password # The PostgreSQL password (useful to connect to the database)
# volumes:
# # In this example, we share the folder `db-data` in our root repository, with the default PostgreSQL data path.
# # It means that every time the repository is modifying the data inside
# # of `/var/lib/postgresql/data/`, automatically the change will appear in `db-data`.
# # You don't need to create the `db-data` folder. Docker Compose will do it for you.
# - ./mountvolume/dbdata/:/var/lib/postgresql/data/
# networks:
# default:
# name: https-network
# driver: bridge
# external: true