chore: make compose config portable
This commit is contained in:
@@ -8,3 +8,6 @@ TELEGRAM_BOT_USERNAME=YOUR_BOT_USERNAME_HERE
|
|||||||
|
|
||||||
# Пароль для базы данных PostgreSQL
|
# Пароль для базы данных PostgreSQL
|
||||||
POSTGRES_PASSWORD=StrongPasswordForDatabase
|
POSTGRES_PASSWORD=StrongPasswordForDatabase
|
||||||
|
|
||||||
|
# Локальный порт веб-интерфейса GM-Relay
|
||||||
|
GMRELAY_WEB_PORT=8080
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ on:
|
|||||||
- main
|
- main
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VERSION: 1.1.4
|
VERSION: 1.1.5
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# ЧАСТЬ 1: Собираем образы и кладем в Gitea (чтобы делиться с ребятами)
|
# ЧАСТЬ 1: Собираем образы и кладем в Gitea (чтобы делиться с ребятами)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Version>1.1.4</Version>
|
<Version>1.1.5</Version>
|
||||||
<TargetFramework>net10.0</TargetFramework>
|
<TargetFramework>net10.0</TargetFramework>
|
||||||
<LangVersion>preview</LangVersion>
|
<LangVersion>preview</LangVersion>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ TELEGRAM_BOT_USERNAME=ваше_имя_бота_здесь
|
|||||||
|
|
||||||
# Пароль для базы данных PostgreSQL
|
# Пароль для базы данных PostgreSQL
|
||||||
POSTGRES_PASSWORD=ваш_надежный_пароль
|
POSTGRES_PASSWORD=ваш_надежный_пароль
|
||||||
|
|
||||||
|
# Локальный порт веб-интерфейса GM-Relay
|
||||||
|
GMRELAY_WEB_PORT=8080
|
||||||
```
|
```
|
||||||
|
|
||||||
*(Опционально)* Настройте домен Telegram бота в @BotFather командой `/setdomain` для работы виджета авторизации на вашем сайте.
|
*(Опционально)* Настройте домен Telegram бота в @BotFather командой `/setdomain` для работы виджета авторизации на вашем сайте.
|
||||||
@@ -72,12 +75,13 @@ POSTGRES_PASSWORD=ваш_надежный_пароль
|
|||||||
### 3. Запуск
|
### 3. Запуск
|
||||||
Выполните команду:
|
Выполните команду:
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d -build
|
docker compose up -d
|
||||||
```
|
```
|
||||||
Инфраструктура автоматически:
|
Инфраструктура автоматически:
|
||||||
- Поднимет PostgreSQL.
|
- Создаст локальную Docker-сеть и volume PostgreSQL, если их ещё нет.
|
||||||
|
- Поднимет PostgreSQL, доступный для контейнеров как `db:5432`.
|
||||||
- Запустит бота (применив миграции БД).
|
- Запустит бота (применив миграции БД).
|
||||||
- Запустит веб-интерфейс (доступен по умолчанию на порту **8080** внутри контейнера).
|
- Запустит веб-интерфейс на `http://localhost:8080` или другом порту из `GMRELAY_WEB_PORT`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+22
-18
@@ -1,16 +1,15 @@
|
|||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres:17-alpine
|
image: postgres:17-alpine
|
||||||
container_name: gmrelay_db
|
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: gmrelay
|
POSTGRES_USER: gmrelay
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}
|
||||||
POSTGRES_DB: gmrelay_db
|
POSTGRES_DB: gmrelay_db
|
||||||
volumes:
|
volumes:
|
||||||
- pgdata:/var/lib/postgresql/data
|
- pgdata:/var/lib/postgresql/data
|
||||||
ports:
|
networks:
|
||||||
- "5432:5432"
|
- gmrelay
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: [ "CMD-SHELL", "pg_isready -U gmrelay -d gmrelay_db" ]
|
test: [ "CMD-SHELL", "pg_isready -U gmrelay -d gmrelay_db" ]
|
||||||
interval: 3s
|
interval: 3s
|
||||||
@@ -18,35 +17,40 @@ services:
|
|||||||
retries: 10
|
retries: 10
|
||||||
|
|
||||||
bot:
|
bot:
|
||||||
image: git.codeanddice.ru/toutsu/gmrelay-bot:1.1.4
|
image: git.codeanddice.ru/toutsu/gmrelay-bot:1.1.5
|
||||||
container_name: gmrelay_bot
|
|
||||||
restart: always
|
restart: always
|
||||||
network_mode: host
|
|
||||||
depends_on:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
- "ConnectionStrings__gmrelaydb=Host=127.0.0.1;Port=5432;Database=gmrelay_db;Username=gmrelay;Password=${POSTGRES_PASSWORD}"
|
- "ConnectionStrings__gmrelaydb=Host=db;Port=5432;Database=gmrelay_db;Username=gmrelay;Password=${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}"
|
||||||
- "Telegram__BotToken=${TELEGRAM_BOT_TOKEN}"
|
- "Telegram__BotToken=${TELEGRAM_BOT_TOKEN:?Set TELEGRAM_BOT_TOKEN in .env}"
|
||||||
|
networks:
|
||||||
|
- gmrelay
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: git.codeanddice.ru/toutsu/gmrelay-web:1.1.4
|
image: git.codeanddice.ru/toutsu/gmrelay-web:1.1.5
|
||||||
container_name: gmrelay_web
|
|
||||||
restart: always
|
restart: always
|
||||||
network_mode: host
|
|
||||||
depends_on:
|
depends_on:
|
||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
- "ConnectionStrings__gmrelaydb=Host=127.0.0.1;Port=5432;Database=gmrelay_db;Username=gmrelay;Password=${POSTGRES_PASSWORD}"
|
- "ConnectionStrings__gmrelaydb=Host=db;Port=5432;Database=gmrelay_db;Username=gmrelay;Password=${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env}"
|
||||||
- "Telegram__BotToken=${TELEGRAM_BOT_TOKEN}"
|
- "Telegram__BotToken=${TELEGRAM_BOT_TOKEN:?Set TELEGRAM_BOT_TOKEN in .env}"
|
||||||
- "Telegram__BotUsername=${TELEGRAM_BOT_USERNAME}"
|
- "Telegram__BotUsername=${TELEGRAM_BOT_USERNAME:?Set TELEGRAM_BOT_USERNAME in .env}"
|
||||||
|
ports:
|
||||||
|
- "${GMRELAY_WEB_PORT:-8080}:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- web_keys:/app/dataprotection-keys
|
- web_keys:/app/dataprotection-keys
|
||||||
|
networks:
|
||||||
|
- gmrelay
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
pgdata:
|
pgdata:
|
||||||
external: true
|
name: ${POSTGRES_VOLUME_NAME:-game_pgdata}
|
||||||
name: game_pgdata
|
|
||||||
web_keys:
|
web_keys:
|
||||||
name: gmrelay_web_keys
|
name: ${WEB_KEYS_VOLUME_NAME:-gmrelay_web_keys}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gmrelay:
|
||||||
|
driver: bridge
|
||||||
|
|||||||
Reference in New Issue
Block a user