Суверенный сервер

Материал из Artiom's Kamladze Wiki
Перейти к навигации Перейти к поиску

Суверенный сервер

Суверенный сервер — это персональная серверная платформа, обеспечивающая полный контроль владельца над своими данными, процессами и инструментами, используемыми для управления цифровой жизнью. Главный принцип — максимальная автономия, надёжность и приватность эксплуатации вычислительных ресурсов.

Программные компоненты

Основу суверенного сервера составляют современные open-source решения, объединённые в единую инфраструктуру средствами контейнеризации:

  • Docker и Docker Compose — управляют контейнерами и их оркестрацией.
  • Portainer CE — визуальное управление Docker.
  • PostgreSQL (как pgsql-srv) — СУБД для основных данных.
  • PgAdmin4 (как pgadmin) — графический интерфейс для работы с PostgreSQL.
  • MariaDB (как mysql-srv) — альтернативная СУБД.
  • PhpMyAdmin — веб-интерфейс к MariaDB.
  • Nginx Proxy Manager (как npm) — обратный прокси и SSL для всех сервисов.
  • Redis — высокопроизводительное хранилище ключ-значение.
  • Единая Docker-сеть: main_net.
  • Файлы платформы — в каталоге /Docker/.
  • Пользовательские файлы — в каталоге /S3Data/ [2].

Инструкция по развёртыванию на Debian 13

Внимание: Вы можете последовательно скопировать и выполнить на сервере представленные блоки команд, не вникая в вопросы, что за что отвечает. Однако со временем рекомендуется хотя бы в общих чертах ознакомиться с каждой из указанных платформ для общего понимания механизма работы сервера.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

2. Установите Docker и Docker Compose

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt install docker-compose-plugin -y
sudo usermod -aG docker $USER
# Перелогиньтесь для вступления группы в силу

3. Подготовьте файловую структуру

sudo mkdir -p /Docker
sudo mkdir -p /S3Data

4. Создайте Docker-сеть

docker network create main_net

5. Создайте файл docker-compose.yml

cd /Docker
nano docker-compose.yml

Вставьте следующий шаблон:

version: "3.8"
services:
  portainer:
    image: portainer/portainer-ce
    container_name: portainer
    restart: unless-stopped
    ports:
      - "9443:9443"
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /Docker/portainer:/data
    networks:
      - main_net

  pgsql-srv:
    image: postgres:15
    container_name: pgsql-srv
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: ваш_пароль
    volumes:
      - /Docker/pgsql:/var/lib/postgresql/data
    networks:
      - main_net

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin
    restart: unless-stopped
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@example.com
      PGADMIN_DEFAULT_PASSWORD: ваш_пароль
    ports:
      - "5050:80"
    volumes:
      - /Docker/pgadmin:/var/lib/pgadmin
    networks:
      - main_net

  mysql-srv:
    image: mariadb:10.7
    container_name: mysql-srv
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: ваш_пароль
    volumes:
      - /Docker/mysql:/var/lib/mysql
    networks:
      - main_net

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    environment:
      PMA_HOST: mysql-srv
      PMA_USER: root
      PMA_PASSWORD: ваш_пароль
    ports:
      - "8081:80"
    networks:
      - main_net

  npm:
    image: jc21/nginx-proxy-manager
    container_name: npm
    restart: unless-stopped
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - /Docker/npm/data:/data
      - /Docker/npm/letsencrypt:/etc/letsencrypt
    networks:
      - main_net

  redis:
    image: redis:alpine
    container_name: redis
    restart: unless-stopped
    volumes:
      - /Docker/redis:/data
    networks:
      - main_net

networks:
  main_net:
    external: true

6. Запустите инфраструктуру

docker compose up -d

7. Проверьте работу

docker ps

8. Дополнительные рекомендации

  • Смените все пароли по умолчанию.
  • Откройте нужные порты на фаерволе вашей системы.
  • Следите за регулярными обновлениями контейнеров и зависимостей.

Дальнейшие действия

После запуска суверенного сервера вы можете перейти к установке дополнительных платформ, необходимых именно вам. Минимально рекомендуемый набор для личной цифровой независимости — это связка Nextcloud (облачное хранилище и офис) и почтового сервера (например, Mailu или Docker Mail Server). Установка этих компонентов осуществляется по аналогии с приведённой инструкцией через Docker Compose. Выбирайте и добавляйте только те сервисы, которые соответствуют вашим задачам и требованиям.

См. также

Примечания

  • [2] Каталоги расположения платформы и пользовательских данных, а также перечень поддерживаемых сервисов — согласно стандарту "суверенного" сервера.