всё кроме npm(db)

This commit is contained in:
2025-08-04 20:06:26 +10:00
parent 9c9e8f09da
commit 6a81802791
3 changed files with 43 additions and 126 deletions

View File

@@ -1,103 +0,0 @@
# dockercompose.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:

View File

@@ -28,21 +28,43 @@ services:
container_name: nginx_static container_name: nginx_static
ports: ports:
- "8081:8081" # простой статический nginx без монтирования откроется дефолтный index - "8081:8081" # простой статический nginx без монтирования откроется дефолтный index
volumes:
- ./nginx-site:/usr/share/nginx/html:ro
restart: unless-stopped restart: unless-stopped
npm-app: npm-app:
image: jc21/nginx-proxy-manager:latest image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx_proxy_manager
ports:
- "81:81" # админка (login: admin@example.com / password: changeme)
- "80:80" # http proxy
- "443:443" # https proxy
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
restart: unless-stopped 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: "docker-db-1"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: ${db_user}
DB_MYSQL_PASSWORD: ${db_password}
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_DATABASE: 'npm'
MYSQL_USER: ${db_user}
MYSQL_PASSWORD: ${db_password}
MARIADB_AUTO_UPGRADE: '1'
volumes:
- ./mysql:/var/lib/mysql
gitea: gitea:
image: gitea/gitea:latest image: gitea/gitea:latest
@@ -77,3 +99,4 @@ volumes:
npm_letsencrypt: npm_letsencrypt:
wireguard_data: wireguard_data:
nginx-site: nginx-site:
mysql:

View File

@@ -16,23 +16,20 @@
src: first/docker-compose.yml src: first/docker-compose.yml
dest: "{{ compose_dir }}/docker-compose.yml" dest: "{{ compose_dir }}/docker-compose.yml"
# - name: Copy config.json for Element - name: Copy .env
# copy: copy:
# src: files/config.json src: first/.env
# dest: "{{ compose_dir }}/element/config.json" dest: "{{ compose_dir }}/.env"
# owner: "{{ ansible_user }}"
# group: "{{ ansible_user }}"
# mode: '0644'
# when: ansible_facts['os_family'] == "Debian"
- name: Pull package - name: Pull package
command: docker compose pull command: docker compose pull
args: args:
chdir: "{{ compose_dir }}" chdir: "{{ compose_dir }}"
- name: Generate synapse #- name: Generate synapse
command: docker compose run --rm synapse generate # command: docker compose run --rm synapse generate
args: # args:
chdir: "{{ compose_dir }}" # chdir: "{{ compose_dir }}"
- name: Launch docker-compose - name: Launch docker-compose
command: docker compose up -d command: docker compose up -d