104 lines
2.7 KiB
YAML
104 lines
2.7 KiB
YAML
# docker‑compose.yml (версия 3.8 – поддерживает named volumes и сетевые настройки)
|
||
version: "3.8"
|
||
|
||
services:
|
||
synapse:
|
||
image: matrixdotorg/synapse:latest
|
||
container_name: matrix_synapse
|
||
environment:
|
||
- SYNAPSE_SERVER_NAME=matrix.emsdata.ru
|
||
- SYNAPSE_REPORT_STATS=no
|
||
- TZ=Asia/Vladivostok
|
||
ports:
|
||
- "8008:8008" # HTTP (без TLS), используемый 뒤 federation/client API
|
||
- "8448:8448" # блок federation HTTPS (если понадобилось позже)
|
||
volumes:
|
||
- synapse_data:/data
|
||
restart: unless-stopped
|
||
|
||
drawio:
|
||
image: jgraph/drawio:latest
|
||
container_name: drawio
|
||
ports:
|
||
- "8080:8080" # Draw.io в браузере: http://host:8080
|
||
restart: unless-stopped
|
||
|
||
static-nginx:
|
||
image: nginx:alpine
|
||
container_name: nginx_static
|
||
ports:
|
||
- "8081:8081" # простой статический nginx без монтирования – откроется дефолтный index
|
||
restart: unless-stopped
|
||
|
||
npm-app:
|
||
image: 'jc21/nginx-proxy-manager:latest'
|
||
restart: unless-stopped
|
||
ports:
|
||
# These ports are in format <host-port>:<container-port>
|
||
- '80:80' # Public HTTP Port
|
||
- '443:443' # Public HTTPS Port
|
||
- '81:81' # Admin Web Port
|
||
# Add any other Stream port you want to expose
|
||
# - '21:21' # FTP
|
||
environment:
|
||
# Mysql/Maria connection parameters:
|
||
DB_MYSQL_HOST: "db"
|
||
DB_MYSQL_PORT: 3306
|
||
DB_MYSQL_USER: "npm"
|
||
DB_MYSQL_PASSWORD: "npm"
|
||
DB_MYSQL_NAME: "npm"
|
||
# Uncomment this if IPv6 is not enabled on your host
|
||
# DISABLE_IPV6: 'true'
|
||
volumes:
|
||
- ./npm_data:/data
|
||
- ./npm_letsencrypt:/etc/letsencrypt
|
||
depends_on:
|
||
- db
|
||
|
||
db:
|
||
image: 'jc21/mariadb-aria:latest'
|
||
restart: unless-stopped
|
||
environment:
|
||
MYSQL_ROOT_PASSWORD: 'npm'
|
||
MYSQL_DATABASE: 'npm'
|
||
MYSQL_USER: 'npm'
|
||
MYSQL_PASSWORD: 'npm'
|
||
MARIADB_AUTO_UPGRADE: '1'
|
||
volumes:
|
||
- ./mysql:/var/lib/mysql
|
||
|
||
gitea:
|
||
image: gitea/gitea:latest
|
||
container_name: gitea
|
||
environment:
|
||
- USER_UID=1000
|
||
- USER_GID=1000
|
||
volumes:
|
||
- ./gitea/data:/data
|
||
ports:
|
||
- "3000:3000"
|
||
- "2222:22"
|
||
restart: unless-stopped
|
||
|
||
wireguard:
|
||
image: lscr.io/linuxserver/wireguard:latest
|
||
container_name: wireguard_vpn
|
||
cap_add:
|
||
- NET_ADMIN
|
||
- SYS_MODULE
|
||
sysctls:
|
||
- net.ipv4.conf.all.src_valid_mark=1
|
||
ports:
|
||
- "51820:51820/udp"
|
||
volumes:
|
||
- wireguard_data:/config
|
||
restart: unless-stopped
|
||
|
||
volumes:
|
||
synapse_data:
|
||
npm_data:
|
||
npm_letsencrypt:
|
||
wireguard_data:
|
||
nginx-site:
|
||
mysql:
|