194 lines
4.0 KiB
YAML
194 lines
4.0 KiB
YAML
version: "3.8"
|
|
|
|
networks:
|
|
ollama_net:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.28.0.0/16
|
|
npm:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
|
|
services:
|
|
synapse:
|
|
image: c5ada12052bb
|
|
networks:
|
|
- npm
|
|
container_name: matrix_synapse
|
|
environment:
|
|
- SYNAPSE_SERVER_NAME=matrix.emsdata.ru
|
|
- SYNAPSE_REPORT_STATS=no
|
|
- TZ=Asia/Vladivostok
|
|
ports:
|
|
- "8008:8008"
|
|
- "8448:8448"
|
|
volumes:
|
|
- /opt/docker/synapse/data:/data
|
|
- /opt/matrix:/media
|
|
- /opt/docker/mautrix:/briges
|
|
restart: unless-stopped
|
|
|
|
drawio:
|
|
image: jgraph/drawio:latest
|
|
networks:
|
|
- npm
|
|
container_name: drawio
|
|
ports:
|
|
- "8280:8080"
|
|
restart: unless-stopped
|
|
|
|
apache:
|
|
image: httpd:2.4
|
|
networks:
|
|
- npm
|
|
ports:
|
|
- 8281:80
|
|
volumes:
|
|
- ./src:/usr/local/apache2/htdocs
|
|
restart: unless-stopped
|
|
|
|
static-nginx:
|
|
image: nginx:alpine
|
|
container_name: nginx_static
|
|
networks:
|
|
- npm
|
|
ports:
|
|
- "8282:80"
|
|
volumes:
|
|
- ./nginx-site:/usr/share/nginx/html:ro
|
|
# - /opt/media:/user/share/nginx/media
|
|
restart: unless-stopped
|
|
|
|
npm-app:
|
|
image: 'jc21/nginx-proxy-manager:latest'
|
|
networks:
|
|
- npm
|
|
restart: unless-stopped
|
|
ports:
|
|
- '80:80' # Public HTTP Port
|
|
- '443:443' # Public HTTPS Port
|
|
- '81:81' # Admin Web Port
|
|
# - '21:21' # FTP
|
|
environment:
|
|
DB_MYSQL_HOST: "docker-db-1"
|
|
DB_MYSQL_PORT: 3306
|
|
DB_MYSQL_USER: ${db_user}
|
|
DB_MYSQL_PASSWORD: ${db_password}
|
|
DB_MYSQL_NAME: "npm"
|
|
# DISABLE_IPV6: 'true'
|
|
volumes:
|
|
- ./npm_data:/data
|
|
- ./npm_letsencrypt:/etc/letsencrypt
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: 'jc21/mariadb-aria:latest'
|
|
networks:
|
|
- npm
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_DATABASE: 'npm'
|
|
MYSQL_USER: ${db_user}
|
|
MYSQL_PASSWORD: ${db_password}
|
|
MARIADB_AUTO_UPGRADE: '1'
|
|
volumes:
|
|
- ./mysql:/var/lib/mysql
|
|
|
|
gitea:
|
|
image: gitea/gitea:latest
|
|
networks:
|
|
- npm
|
|
container_name: gitea
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
volumes:
|
|
- /opt/docker/gitea/data:/data
|
|
- /opt/gitea/git:/data/git
|
|
ports:
|
|
- "3000:3000"
|
|
- "2222:22"
|
|
restart: unless-stopped
|
|
|
|
mautrix:
|
|
image: dock.mau.dev/mautrix/telegram:latest
|
|
networks:
|
|
- npm
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /opt/docker/mautrix:/data
|
|
environment:
|
|
- TZ=Asia/Vladivostok
|
|
ports:
|
|
- "29371:29371"
|
|
|
|
registry:
|
|
image: registry:latest
|
|
networks:
|
|
- npm
|
|
restart: unless-stopped
|
|
environment:
|
|
- REGISTRY_AUTH=htpasswd
|
|
- REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
|
|
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry.password
|
|
#- REGISTRY_HTTP_ADDR=0.0.0.0:5000
|
|
#- REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt
|
|
#- REGISTRY_HTTP_TLS_KEY=/certs/domain.key
|
|
ports:
|
|
- "5000:5000"
|
|
volumes:
|
|
- /opt/docker/registry/registry.password:/auth/registry.password
|
|
#- ./registry/certs:/certs
|
|
- /opt/registry/data:/data
|
|
|
|
open-webui:
|
|
image: ghcr.io/open-webui/open-webui:main
|
|
container_name: open-webui
|
|
networks:
|
|
- npm
|
|
- ollama_net
|
|
restart: unless-stopped
|
|
expose:
|
|
- 8080/tcp
|
|
ports:
|
|
- "8111:8080"
|
|
environment:
|
|
- OLLAMA_BASE_URL=http://ollama:11434
|
|
volumes:
|
|
- /opt/docker/open-webui:/app/backend/data
|
|
depends_on:
|
|
- ollama
|
|
|
|
ollama:
|
|
image: ollama/ollama:latest
|
|
container_name: ollama
|
|
networks:
|
|
- ollama_net
|
|
restart: unless-stopped
|
|
expose:
|
|
- 11434/tcp
|
|
ports:
|
|
- "11434:11434"
|
|
volumes:
|
|
- /opt/ollama:/root/.ollama/
|
|
healthcheck:
|
|
test: ollama --version || exit 1
|
|
#entrypoint: /root/entrypoint.sh
|
|
|
|
|
|
volumes:
|
|
synapse_data:
|
|
npm_data:
|
|
npm_letsencrypt:
|
|
nginx-site:
|
|
mysql:
|
|
synapse:
|
|
mautrix:
|
|
registry-data:
|
|
wireguard:
|
|
ollama:
|