всё кроме npm(db)
This commit is contained in:
@@ -1,103 +0,0 @@
|
||||
# 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:
|
||||
@@ -28,21 +28,43 @@ services:
|
||||
container_name: nginx_static
|
||||
ports:
|
||||
- "8081:8081" # простой статический nginx без монтирования – откроется дефолтный index
|
||||
volumes:
|
||||
- ./nginx-site:/usr/share/nginx/html:ro
|
||||
restart: unless-stopped
|
||||
|
||||
npm-app:
|
||||
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
|
||||
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: "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:
|
||||
image: gitea/gitea:latest
|
||||
@@ -77,3 +99,4 @@ volumes:
|
||||
npm_letsencrypt:
|
||||
wireguard_data:
|
||||
nginx-site:
|
||||
mysql:
|
||||
|
||||
@@ -16,23 +16,20 @@
|
||||
src: first/docker-compose.yml
|
||||
dest: "{{ compose_dir }}/docker-compose.yml"
|
||||
|
||||
# - name: Copy config.json for Element
|
||||
# copy:
|
||||
# src: files/config.json
|
||||
# dest: "{{ compose_dir }}/element/config.json"
|
||||
# owner: "{{ ansible_user }}"
|
||||
# group: "{{ ansible_user }}"
|
||||
# mode: '0644'
|
||||
# when: ansible_facts['os_family'] == "Debian"
|
||||
- name: Copy .env
|
||||
copy:
|
||||
src: first/.env
|
||||
dest: "{{ compose_dir }}/.env"
|
||||
|
||||
- name: Pull package
|
||||
command: docker compose pull
|
||||
args:
|
||||
chdir: "{{ compose_dir }}"
|
||||
|
||||
- name: Generate synapse
|
||||
command: docker compose run --rm synapse generate
|
||||
args:
|
||||
chdir: "{{ compose_dir }}"
|
||||
#- name: Generate synapse
|
||||
# command: docker compose run --rm synapse generate
|
||||
# args:
|
||||
# chdir: "{{ compose_dir }}"
|
||||
|
||||
- name: Launch docker-compose
|
||||
command: docker compose up -d
|
||||
|
||||
Reference in New Issue
Block a user