Containerized web application for managing public pages of Git repositories within a single Gitea instance. https://dgpkg.net
Find a file
2023-05-21 20:51:50 +02:00
backend Init 2023-05-21 18:58:10 +02:00
config/nginx Init 2023-05-21 18:58:10 +02:00
frontend Init 2023-05-21 18:58:10 +02:00
.example.env Init 2023-05-21 18:58:10 +02:00
.gitignore Init 2023-05-21 18:58:10 +02:00
avatar.xcf Init 2023-05-21 18:58:10 +02:00
docker-compose.yml Init 2023-05-21 18:58:10 +02:00
LICENSE Init 2023-05-21 18:58:10 +02:00
README.md Add Deployment diagram 2023-05-21 20:51:50 +02:00

gitea_pages

Containerized web application for managing public pages of Git repositories within a single Gitea instance.

@startuml
footer "Gitea Pages Deployment"

actor "User" as user

rectangle "DNS" as dns {
  agent "*.dgpkg.net" as wildcard
  agent "dgpkg.net" as domain
}

cloud "Cloudflare" as cloudflare

user <--> wildcard
user <--> domain

wildcard <..> cloudflare
domain <..> cloudflare

rectangle "Gitea Pages" {
    node "Nginx" as nginx
    database "DB" as db
    node "Adminer" as adminer
    queue "RabbitMQ" as rabbitmq

    node "git.dergrimm.net/gitea_pages_backend" {
    node "Migration Runner" as migration_runner
    node "Worker" as worker
    node "Beat" as beat
    node "API" as api
    }

    rectangle "git.dergrimm.net/gitea_pages_frontend" {
    node frontend
    }

    rectangle "Storage" {
        storage "nginx-config" as storage_nginx_config
        storage "db" as storage_db
        storage "rabbitmq" as storage_rabbitmq
        storage "repos" as storage_repos
    }

    db <..> storage_db

    adminer <--> db
    migration_runner --> db
    api <--> db
    worker <--> db

    rabbitmq <..> storage_rabbitmq

    beat --> rabbitmq
    worker <--> rabbitmq

    card "Depends On" as depends_on_migration_runner

    api ~~ depends_on_migration_runner
    beat ~~ depends_on_migration_runner
    api ~~ depends_on_migration_runner
    depends_on_migration_runner ..> migration_runner

    worker ..> storage_nginx_config
}

cloudflare ..> nginx

nginx <--> adminer
nginx <--> rabbitmq
nginx <--> api
nginx <--> frontend

nginx <.. storage_repos : "Public pages"
nginx <.. storage_nginx_config : "Gets domain config"
@enduml

I really don't like this diagram at all