April 2

Установка и настройка некоторых сервисов с помощью Portainer

В этой статье мы рассмотрим, как легко создать контейнеры для Portainer. Мы будем использовать примеры из трех разных сервисов: Duplicati, Minecraft Bedrock Server, Nextcloud и других сервисов.

Duplicati

Duplicati - это программное обеспечение для резервного копирования, которое позволяет создавать резервные копии ваших данных в различных местах хранения.

Создайте новый стэк в Portainer с помощью следующей конфигурации:

version: '3.1'
services:
  duplicati:
    image: duplicati/duplicati
    container_name: duplicati
    ports:
      - 8200:8200
    volumes:
      - /:/source
      - /opt/docker/duplicati/config:/config

Перейдите по адресу `http://localhost:8200`, чтобы настроить Duplicati.

Minecraft Bedrock Server

Minecraft Bedrock Server - это сервер для игры Minecraft, который позволяет играть с друзьями в режиме реального времени.

Создайте новый стэк в Portainer с помощью следующей конфигурации:

version: '3.1'
services:
  mcbedrock:
    container_name: mc-bedrock
    image: itzg/minecraft-bedrock-server
    restart: unless-stopped
    network_mode: bridge
    tty: true
    stdin_open: true
    environment:
      TZ: Europe/Moscow
      EULA: TRUE
      GAMEMODE: survival
      DIFFICULTY: normal
    deploy:
      resources:
        limits:
          memory: "1024MB"
          cpus: "1"
    ports:
      - "19132:19132/udp"
    volumes:
      - mc-bedrock-data:/data
volumes:
  mc-bedrock-data:


Подключитесь к серверу через клиента игры Minecraft, используя адрес вашего сервера и порт 19132.

Nextcloud

Nextcloud - это программное обеспечение для создания облачного хранилища, которое позволяет хранить и делиться файлами, контактами и календарями.

Создайте новый стэк в Portainer с помощью следующей конфигурации:

version: '3.1'
volumes:
  nextcloud:
  db:
services:
  db:
    image: mariadb:10.6
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=nextcloud
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    restart: always
    ports:
      - 82:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
    depends_on:
      - db

Перейдите по адресу `http://localhost:82`, чтобы настроить Nextcloud.

Простой web-сайт:

version: "3.7"

services:
  nginx:
    image: nginx:alpine
    ports:
      - 81:81
      #- 443:443
    environment:
      NGINX_CONFIG: |
         server {
                listen 81;
                 server_name yourdomain.ru;
                 server_name www.yourdomain.ru;
                 error_log /var/log/nginx/yourdomain_errors.log;
                 access_log /var/log/nginx/yourdomain_access.log;
                 client_max_body_size 30M;
                 root /var/www/html;
                  }     
    command:
      /bin/sh -c "echo \"$NGINX_CONFIG\" > /etc/nginx/conf.d/yourdomain.conf; nginx -g \"daemon off;\""
    volumes:
      - data:/var/www/html
volumes:
  data:

Осталось добавить файлы сайта в каталог /var/www/html контейнера. В Portainer это будет том: yourstackname_data

В этой статье мы рассмотрели, как легко создать контейнеры для стэков Portainer, используя примеры из трех разных сервисов. С помощью этих инструкций вы сможете создать свои собственные контейнеры и настроить сервисы для своих нужд.