diff --git a/.drone.yml b/.drone.yml index 660f2a2..4c689ef 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,6 +9,15 @@ steps: - ssh-keyscan -p 2222 git.autonomic.zone > "/root/.ssh/known_hosts" - /root/.local/bin/app-json.py + - name: deployment + image: decentral1se/stack-ssh-deploy:latest + settings: + host: swarm.autonomic.zone + stack: coop_cloud_apps_json + deploy_key: + from_secret: drone_ssh_swarm_test + rm: true + # - name: notify on failure # image: plugins/matrix # settings: diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..1a575d8 --- /dev/null +++ b/compose.yml @@ -0,0 +1,41 @@ +--- +version: "3.8" + +services: + app: + image: "nginx:stable" + configs: + - source: abra_conf + target: /etc/nginx/conf.d/abra.conf + - source: abra_apps_json + target: /var/www/abra-apps/apps.json + volumes: + - "public:/var/www/abra-apps" + networks: + - proxy + deploy: + update_config: + failure_action: rollback + order: start-first + labels: + - "traefik.enable=true" + - "traefik.http.services.abra-apps.loadbalancer.server.port=80" + - "traefik.http.routers.abra-apps.rule=Host(`apps.coopcloud.tech`, `abra-apps.cloud.autonomic.zone`)" + - "traefik.http.routers.abra-apps.entrypoints=web-secure" + - "traefik.http.routers.abra-apps.tls.certresolver=production" + - "traefik.http.routers.abra-apps.middlewares=abra-apps-redirect" + - "traefik.http.middlewares.abra-apps-redirect.headers.SSLForceHost=true" + - "traefik.http.middlewares.abra-apps-redirect.headers.SSLHost=apps.coopcloud.tech" + +configs: + abra_apps_json: + file: apps.json + abra_conf: + file: nginx.conf + +networks: + proxy: + external: true + +volumes: + public: diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..29749cf --- /dev/null +++ b/nginx.conf @@ -0,0 +1,10 @@ +server { + listen 80 default_server; + server_name apps.coopcloud.tech; + + location / { + root /var/www/abra-apps; + add_header Content-Type application/json; + index apps.json; + } +}