Frontend: https://kp.another-one.ru
Backend: https://api.kp.another-one.ru
Два сценания Continuous delivery (CD):
- Локальная сборка Dockerfiles
- Сборка через Docker Hub (Github workflows)
Задаются через .env \ terminal
POSTGRES_DB
: <имя базы данных>
POSTGRES_USER
: <имя пользователя базы данных>
POSTGRES_PASSWORD
: <пароль пользователя базы данных>
DB_PORT
: <хост порт БД>
BACKEND_APP_PORT
: <хост порт для бэкенда>
JWT_SECRET
: <JWT секрет>
JWT_EXPIRES_IN
: <время жизни JWT>
SWAGGER_API_PATH
: <путь до Swagger>
API_SERVER_URL
: <URL бэкенда>
FRONTEND_APP_PORT
: <хост порт для фронтенда>
После запуска приложение будет доступно по адресу http://localhost:8081
Пример .env
cat << EOF > .env
DB_DATABASE=db
DB_USERNAME=db_user
DB_PASSWORD=db_pass
DB_HOST=database
PORT=4000
DB_PORT=5432
JWT_SECRET=some-jwt-secret
JWT_EXPIRES_IN=24h
SWAGGER_API_PATH=api
API_SERVER_URL=http://localhost:4000
FRONTEND_APP_PORT=8081
EOF
Запуск
docker compose up -d
Остановка и удаление контейнеров
docker compose down
Сборка и публикация образов происходит во время pull-request\push в основную ветку, с помощю github workflows (deploy.yml).
secrets.DOCKER_HUB_ACCESS_TOKEN
: <токен доступа docker hub>
secrets.DOCKER_HUB_USERNAME
: <username владельца репозитория docker hub>
vars.API_SERVER_URL
: <адрес хоста API для сборки фронтенда>
После запуска приложение будет доступно по адресу http://localhost:8081
Пример .env
cat << EOF > .env
DB_DATABASE=db
DB_USERNAME=db_user
DB_PASSWORD=db_pass
DB_HOST=database
PORT=4000
DB_PORT=5432
JWT_SECRET=some-jwt-secret
JWT_EXPIRES_IN=24h
SWAGGER_API_PATH=api
FRONTEND_APP_PORT=8081
EOF
Запуск
docker compose -f docker-compose.hub.yml up -d
Остановка и удаление контейнеров
docker compose -f docker-compose.hub.yml down