diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 2f96a25..0000000 --- a/docker-compose.yml +++ /dev/null @@ -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 : - - '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: diff --git a/first/docker-compose.yml b/first/docker-compose.yml index a73e7f7..6ea6dc6 100644 --- a/first/docker-compose.yml +++ b/first/docker-compose.yml @@ -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 : + - '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: diff --git a/first_deploy_compose.yml b/first_deploy_compose.yml index c746877..0a5a6bf 100644 --- a/first_deploy_compose.yml +++ b/first_deploy_compose.yml @@ -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