[ { kind: 'pipeline', type: 'docker', name: 'reflex-ipad', steps: [ { name: 'builder', image: 'plugins/docker', settings: { tags: ['builder'], dockerfile: 'Dockerfile.builder', registry: 'gitea.pb42.de', repo: 'gitea.pb42.de/matthias/reflex-ipad', config: { from_secret: 'dockerconfigjson' }, }, }, { name: 'frontend-builder', image: 'gitea.pb42.de/matthias/reflex-ipad:builder', commands:[ 'cd /app', 'reflex export --frontend-only --no-zip', 'mv .web/_static /drone/src/web', ], depends_on: [ 'builder' ], }, { name: 'backend', image: 'plugins/docker', settings: { tags: ['backend-latest'], dockerfile: 'Dockerfile.backend', registry: 'gitea.pb42.de', repo: 'gitea.pb42.de/matthias/reflex-ipad', config: { from_secret: 'dockerconfigjson' }, build_args: ['API_URL=https://ipad.pb42.de/api'], }, depends_on: [ 'builder' ], }, { name: "deploy_web", image: "appleboy/drone-scp", settings: { host: "pb42.de", target: "/", source: "web/*", username: { from_secret: "deploy_username", }, key: { from_secret: "deploy_key", }, port: 42022, }, depends_on: [ 'frontend-builder' ], }, { name: 'deploy-docker', image_: 'robkaandorp/drone-portainer', image__: 'gstolarz/drone-portainer', image: 'gitea.pb42.de/matthias/drone-portainer', settings: { portainer: 'https://portainer.pb42.de', uri: 'https://portainer.pb42.de', portainer_url: 'https://portainer.pb42.de', username: { from_secret: 'portainer_username' }, password: { from_secret: 'portainer_password' }, portainer_username: { from_secret: 'portainer_username' }, portainer_password: { from_secret: 'portainer_password' }, portainer_apikey: { from_secret: 'portainer_api_key' }, registry: 'gitea.pb42.de', endpoint: 'local', stack_name: 'reflex-ipad', stack: 'reflex-ipad', file: 'docker-compose.yml', standalone: true, swarmId: "", type: 2, environment: [], env: [], debug: true, }, depends_on: [ 'backend', ], }, ], trigger: { event: ['push'] }, image_pull_secrets: ['dockerconfigjson'], }, ]