Суверенный сервер
Суверенный сервер
Суверенный сервер — это персональная серверная платформа, обеспечивающая полный контроль владельца над своими данными, процессами и инструментами, используемыми для управления цифровой жизнью. Главный принцип — максимальная автономия, надёжность и приватность эксплуатации вычислительных ресурсов.
Программные компоненты
Основу суверенного сервера составляют современные 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] Каталоги расположения платформы и пользовательских данных, а также перечень поддерживаемых сервисов — согласно стандарту "суверенного" сервера.