diff --git a/README.md b/README.md index b8f8d53..62c6055 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,12 @@ -# appfactory-infrastructure +# AppFactory Infrastructure +Versioned infrastructure for AppFactory. + +Contains: +- Docker Compose core services +- gateway Caddyfile snapshot +- app catalog snapshot +- infrastructure docs + +Runtime source of truth is still `/opt/appfactory`. +This repo is used for versioning, review, backup and restore/bootstrap preparation. diff --git a/apps/catalog.yml b/apps/catalog.yml index 73dd0a8..e188dcd 100644 --- a/apps/catalog.yml +++ b/apps/catalog.yml @@ -1 +1,10 @@ -apps: [] +apps: + + - id: microsoft-365-service + name: microsoft-365-service + language: python + version: 1.0.0 + base_path: /apps/microsoft-365-service + docs: /apps/microsoft-365-service/docs + health: /apps/microsoft-365-service/health + status: deployed diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 0373963..5eede0e 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -10,6 +10,7 @@ services: - ../gateway/Caddyfile:/etc/caddy/Caddyfile - ../data/caddy:/data - ../data/caddy-config:/config + - ../gateway/static:/srv/static:ro networks: - appfactory @@ -41,6 +42,44 @@ services: networks: - appfactory + appfactory-webhook: + user: "0:0" + image: appfactory-webhook:latest + container_name: appfactory-webhook + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /home/jiri/workspace:/home/jiri/workspace + - /opt/appfactory:/opt/appfactory + - /home/jiri/workspace/appfactory-tools/scripts:/tools + - /usr/bin/docker:/usr/bin/docker:ro + - /usr/libexec/docker:/usr/libexec/docker:ro + - /opt/appfactory/config/appfactory.env:/home/jiri/.appfactory/env:ro + environment: + - HOME=/home/jiri + networks: + - appfactory + + appfactory-portal: + image: appfactory-portal:latest + container_name: appfactory-portal + restart: unless-stopped + volumes: + - /home/jiri/workspace:/home/jiri/workspace + - /opt/appfactory:/opt/appfactory + - /home/jiri/workspace/appfactory-tools/scripts:/tools + - /opt/appfactory/config:/opt/appfactory/config:ro + - /opt/appfactory/config/appfactory.env:/home/jiri/.appfactory/env:ro + - /var/run/docker.sock:/var/run/docker.sock + - /usr/bin/docker:/usr/bin/docker:ro + - /usr/libexec/docker:/usr/libexec/docker:ro + - /home/jiri/workspace/appfactory-portal/app:/app/app + environment: + - HOME=/home/jiri + - DOCKER_CONFIG=/tmp/.docker + networks: + - appfactory + networks: appfactory: name: appfactory diff --git a/gateway/Caddyfile b/gateway/Caddyfile index 35cc919..2f8003a 100644 --- a/gateway/Caddyfile +++ b/gateway/Caddyfile @@ -1,11 +1,32 @@ :80 { - handle_path /git/* { - reverse_proxy gitea:3000 + handle /health { + respond "AppFactory OK" 200 + } + + handle /portal* { + uri strip_prefix /portal + reverse_proxy appfactory-portal:9100 + } + + handle /apps { + root * /srv/static + rewrite * /apps.html + file_server + } + + handle_path /apps/microsoft-365-service/* { + reverse_proxy microsoft-365-service:8000 + } + + handle_path /webhook/* { + reverse_proxy appfactory-webhook:9000 } handle_path /registry/* { - reverse_proxy registry:5000 + reverse_proxy appfactory-registry:5000 } - respond /health "AppFactory OK" 200 + handle { + respond "AppFactory gateway is running" 200 + } }