Рефакторизация структуры кода для улучшения читаемости и удобства сопровождения.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
manifestVersion: 1.1
|
||||
id: maybe
|
||||
category: finance
|
||||
name: Maybe
|
||||
version: '0.6.0'
|
||||
tagline: ОС для ваших личных финансов
|
||||
description: >-
|
||||
Maybe — это полностью (ваши финансы в безопасности) ОС с открытым исходным кодом для ваших личных финансов, созданная
|
||||
небольшая команда вместе с невероятным сообществом.
|
||||
|
||||
|
||||
Это версия Maybe с ранним доступом, доступная только тем, кто размещает ее самостоятельно.
|
||||
Maybe находится в активной разработке и все еще работает над стабильной версией с полным набором функций.
|
||||
releaseNotes: >-
|
||||
🚨 Maybe переключается на финансовое прогнозирование B2B и планирование сценариев и больше не будет активно поддерживать проект.
|
||||
|
||||
|
||||
Этот финальный выпуск представляет собой рабочую версию программного обеспечения «как есть».
|
||||
|
||||
|
||||
Полные примечания к выпуску можно найти по адресу https://github.com/maybe-finance/maybe/releases.
|
||||
developer: Maybe
|
||||
website: https://maybe.co/
|
||||
dependencies: []
|
||||
repo: https://github.com/maybe-finance/maybe
|
||||
support: https://github.com/maybe-finance/discussions
|
||||
port: 3063
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ''
|
||||
defaultUsername: ''
|
||||
defaultPassword: ''
|
||||
submitter: CaptainCodeman
|
||||
submission: https://github.com/getumbrel/dfwebos-apps/pull/1105
|
||||
@@ -0,0 +1,84 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: maybe_web_1
|
||||
APP_PORT: 3063
|
||||
|
||||
web:
|
||||
image: ghcr.io/maybe-finance/maybe:0.6.0@sha256:1e791e88ecc4d124d05142d943bcec5b5a172e889f648c97d334363133384f01
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/rails:/rails/storage
|
||||
environment:
|
||||
SELF_HOSTING_ENABLED: "true"
|
||||
PORT: 3063
|
||||
# URL кодирует символы подчеркивания (%5F) в имени хоста для удовлетворения строгого анализа URI в Ruby.
|
||||
# Original: postgresql://maybe:maybe@maybe_db_1:5432/maybe
|
||||
DATABASE_URL: postgresql://maybe:maybe@maybe%5Fdb%5F1:5432/maybe
|
||||
RAILS_FORCE_SSL: "false"
|
||||
RAILS_ASSUME_SSL: "false"
|
||||
POSTGRES_DB: maybe
|
||||
POSTGRES_USER: maybe
|
||||
POSTGRES_PASSWORD: maybe
|
||||
GOOD_JOB_EXECUTION_MODE: async
|
||||
SECRET_KEY_BASE: $APP_SEED
|
||||
REDIS_URL: redis://maybe_redis_1:6379/1
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
worker:
|
||||
image: ghcr.io/maybe-finance/maybe:0.6.0@sha256:1e791e88ecc4d124d05142d943bcec5b5a172e889f648c97d334363133384f01
|
||||
command: bundle exec sidekiq
|
||||
restart: on-failure
|
||||
environment:
|
||||
SELF_HOSTING_ENABLED: "true"
|
||||
PORT: 3063
|
||||
# URL кодирует символы подчеркивания (%5F) в имени хоста для удовлетворения строгого анализа URI в Ruby.
|
||||
# Original: postgresql://maybe:maybe@maybe_db_1:5432/maybe
|
||||
DATABASE_URL: postgresql://maybe:maybe@maybe%5Fdb%5F1:5432/maybe
|
||||
RAILS_FORCE_SSL: "false"
|
||||
RAILS_ASSUME_SSL: "false"
|
||||
POSTGRES_DB: maybe
|
||||
POSTGRES_USER: maybe
|
||||
POSTGRES_PASSWORD: maybe
|
||||
GOOD_JOB_EXECUTION_MODE: async
|
||||
SECRET_KEY_BASE: $APP_SEED
|
||||
REDIS_URL: redis://maybe_redis_1:6379/1
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
db:
|
||||
image: postgres:16@sha256:1bf73ccae25238fa555100080042f0b2f9be08eb757e200fe6afc1fc413a1b3c
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||
environment:
|
||||
POSTGRES_DB: maybe
|
||||
POSTGRES_USER: maybe
|
||||
POSTGRES_PASSWORD: maybe
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U maybe']
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7.4.2@sha256:fbdbaea47b9ae4ecc2082ecdb4e1cea81e32176ffb1dcf643d422ad07427e5d9
|
||||
user: "1000:1000"
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/redis:/data
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Этот скрипт проверяет наличие каталогов data/data/redis и создает их + устанавливает правильные разрешения, если они не существуют.
|
||||
|
||||
# Каталог приложений находится на один уровень выше, чем в этом скрипте.
|
||||
APP_DIR="$(readlink -f "$(dirname "${BASH_SOURCE[0]}")/..")"
|
||||
APP_DATA_DIR="${APP_DIR}/data"
|
||||
APP_DATA_REDIS_DIR="${APP_DATA_DIR}/redis"
|
||||
DESIRED_OWNER="1000:1000"
|
||||
|
||||
set_correct_permissions() {
|
||||
local -r path="${1}"
|
||||
|
||||
if [[ -d "${path}" ]]; then
|
||||
owner=$(stat -c "%u:%g" "${path}")
|
||||
|
||||
if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
|
||||
chown -R "${DESIRED_OWNER}" "${path}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
create_directory_if_not_exists() {
|
||||
local -r dir="${1}"
|
||||
if [[ ! -d "${dir}" ]]; then
|
||||
mkdir -p "${dir}"
|
||||
set_correct_permissions "${dir}"
|
||||
fi
|
||||
}
|
||||
|
||||
move_file_if_exists() {
|
||||
local -r src="${1}"
|
||||
local -r dest="${2}"
|
||||
if [[ -f "${src}" ]]; then
|
||||
mv "${src}" "${dest}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Создайте каталоги, если они не существуют.
|
||||
create_directory_if_not_exists "${APP_DATA_DIR}"
|
||||
create_directory_if_not_exists "${APP_DATA_REDIS_DIR}"
|
||||
Reference in New Issue
Block a user