mirror of
https://gitflic.ru/project/alt-gnome/karkas.git
synced 2025-10-08 21:53:15 +03:00
feat: add karkas_lite
This commit is contained in:
38
src/karkas_lite/Dockerfile
Normal file
38
src/karkas_lite/Dockerfile
Normal file
@@ -0,0 +1,38 @@
|
||||
FROM python:3.12-slim AS dependencies_installer
|
||||
|
||||
RUN pip install poetry
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY ./src/karkas_core/poetry* ./src/karkas_core/pyproject.toml /app/src/karkas_core/
|
||||
COPY ./src/karkas_blocks/poetry* ./src/karkas_blocks/pyproject.toml /app/src/karkas_blocks/
|
||||
COPY ./src/karkas_piccolo/poetry* ./src/karkas_piccolo/pyproject.toml /app/src/karkas_piccolo/
|
||||
COPY ./src/karkas_lite/poetry* ./src/karkas_lite/pyproject.toml /app/src/karkas_lite/
|
||||
|
||||
WORKDIR /app/src/karkas_lite
|
||||
|
||||
RUN poetry install --no-root --no-directory
|
||||
|
||||
FROM python:3.12-slim AS src
|
||||
|
||||
COPY ./src/karkas_core /app/src/karkas_core
|
||||
COPY ./src/karkas_blocks /app/src/karkas_blocks
|
||||
COPY ./src/karkas_piccolo /app/src/karkas_piccolo
|
||||
COPY ./src/karkas_lite /app/src/karkas_lite
|
||||
|
||||
FROM python:3.12-slim AS local_dependencies_installer
|
||||
|
||||
RUN pip install poetry
|
||||
|
||||
COPY --from=dependencies_installer /app/src/karkas_lite/.venv /app/src/karkas_lite/.venv
|
||||
COPY --from=src /app/src/ /app/src/
|
||||
WORKDIR /app/src/karkas_lite
|
||||
RUN poetry install
|
||||
|
||||
FROM python:3.12-slim AS base
|
||||
COPY --from=local_dependencies_installer /app/src/karkas_lite/.venv /app/src/karkas_lite/.venv
|
||||
COPY --from=src /app/src/ /app/src/
|
||||
WORKDIR /app/src/karkas_lite
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
|
||||
CMD ["/bin/bash", "-c", ". .venv/bin/activate && python -m karkas_lite"]
|
14
src/karkas_lite/Dockerfile.dockerignore
Normal file
14
src/karkas_lite/Dockerfile.dockerignore
Normal file
@@ -0,0 +1,14 @@
|
||||
**/Dockerfile
|
||||
**/*.dockerignore
|
||||
**/docker-compose.yml
|
||||
|
||||
**/.git
|
||||
**/.gitignore
|
||||
|
||||
**/.venv
|
||||
|
||||
**/.mypy_cache
|
||||
**/__pycache__/
|
||||
|
||||
src/karkas_lite/config.yaml
|
||||
src/karkas_lite/database/*
|
0
src/karkas_lite/README.md
Normal file
0
src/karkas_lite/README.md
Normal file
3
src/karkas_lite/config-example.yaml
Normal file
3
src/karkas_lite/config-example.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
core:
|
||||
mode: LONG_POLLING
|
||||
token: xxx
|
0
src/karkas_lite/database/.gitkeep
Normal file
0
src/karkas_lite/database/.gitkeep
Normal file
10
src/karkas_lite/docker-compose.yml
Normal file
10
src/karkas_lite/docker-compose.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: src/karkas_lite/Dockerfile
|
||||
ports:
|
||||
- 9000:9000
|
||||
volumes:
|
||||
- ./config.yaml:/app/src/karkas_lite/config.yaml
|
||||
- ./database:/app/database
|
0
src/karkas_lite/karkas_lite/__init__.py
Normal file
0
src/karkas_lite/karkas_lite/__init__.py
Normal file
24
src/karkas_lite/karkas_lite/__main__.py
Normal file
24
src/karkas_lite/karkas_lite/__main__.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import asyncio
|
||||
|
||||
from karkas_blocks import block_loader
|
||||
from karkas_core import Karkas
|
||||
|
||||
|
||||
async def main():
|
||||
ocab = Karkas()
|
||||
await ocab.init_app(
|
||||
[
|
||||
block_loader("standard", "config", safe=False),
|
||||
block_loader("standard", "filters", safe=False),
|
||||
block_loader("standard", "database", safe=False),
|
||||
block_loader("standard", "command_helper"),
|
||||
block_loader("standard", "spam", safe=False),
|
||||
block_loader("standard", "report"),
|
||||
block_loader("standard", "welcome", safe=False),
|
||||
block_loader("standard", "help"),
|
||||
]
|
||||
)
|
||||
await ocab.start()
|
||||
|
||||
|
||||
asyncio.run(main())
|
2465
src/karkas_lite/poetry.lock
generated
Normal file
2465
src/karkas_lite/poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
2
src/karkas_lite/poetry.toml
Normal file
2
src/karkas_lite/poetry.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[virtualenvs]
|
||||
in-project = true
|
18
src/karkas_lite/pyproject.toml
Normal file
18
src/karkas_lite/pyproject.toml
Normal file
@@ -0,0 +1,18 @@
|
||||
[tool.poetry]
|
||||
name = "karkas-lite"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = [
|
||||
"Maxim Slipenko <maxim@slipenko.com>"
|
||||
]
|
||||
readme = "README.md"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">=3.10,<3.13"
|
||||
karkas-core = { extras=["webhook"], path = "../karkas_core", develop = true }
|
||||
karkas-blocks = { path = "../karkas_blocks", develop = true }
|
||||
karkas-piccolo = { path = "../karkas_piccolo", develop = true }
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
Reference in New Issue
Block a user