Перейти к основному содержимому

Готовые Docker-образы

Клонируйте репозиторий:

git clone git@github.com:metamodeldev/architeezy-selfhosted.git
cd architeezy-selfhosted

Запустите приложение:

docker compose up

Откройте http://localhost:8080. Для входа используйте логин и пароль: admin / admin.

Для управления пользователями откройте http://localhost:8181. Логин и пароль: admin / admin. Выберите Manage realms → Architeezy → Users.

Для использования в продакшене:

  • Обновите пароли и секреты в файле .env
  • Настройте Keycloak согласно вашим политикам безопасности или замените его на собственный экземпляр Keycloak либо другую систему управления учетными данными с поддержкой OAuth 2.0
  • Разместите Architeezy за обратным прокси с поддержкой HTTPS, например, Nginx

В качестве шаблона вы можете использовать следующую конфигурацию Nginx для обратного прокси:

server {
listen 80;
listen [::]:80;
server_name architeezy.com;
return 302 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name architeezy.com;
ssl_certificate /etc/letsencrypt/live/architeezy.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/architeezy.com/privkey.pem;

client_max_body_size 50M;
proxy_read_timeout 900s;

proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

location / {
proxy_pass http://localhost:8080;
}
}

Для Keycloak:

server {
listen 80;
listen [::]:80;
server_name auth.architeezy.com;
return 302 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name auth.architeezy.com;
ssl_certificate /etc/letsencrypt/live/architeezy.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/architeezy.com/privkey.pem;

proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

location / {
proxy_pass http://localhost:8181;
}
}

Приложение включает следующие контейнеры:

  • architeezy-frontend — пользовательский интерфейс
  • architeezy-backend — ядро приложения
  • architeezy-db — база данных
  • architeezy-api-gateway — обеспечивает аутентификацию пользователей
  • architeezy-redis — хранит пользовательские сессии
  • architeezy-keycloak — система управления учётными данными
  • architeezy-keycloak-db — база данных пользователей