gitea manages git repos
drone allows to execute tasks automatically on each git push
Add this in composer :
gitea: image: gitea/gitea:latest container_name: gitea restart: always volumes: - ./gitea:/data ports: - "10022:22" labels: - traefik.enable=true - traefik.http.routers.gitea.rule=Host(`gitea.${DOMAIN}`) - traefik.http.services.gitea.loadbalancer.server.port=3000 - traefik.http.routers.gitea.tls.certresolver=le - traefik.http.routers.gitea.entrypoints=websecure - traefik.http.routers.gitea.middlewares=securityheaders - backup.driver=rsync drone: image: drone/drone:1 restart: always container_name: drone volumes: - /var/lib/drone:/data environment: - "DRONE_GITEA_SERVER=https://gitea.${DOMAIN}" # create an app in gitea - "DRONE_GITEA_CLIENT_ID=xxxxxxxxxxxx" - "DRONE_GITEA_CLIENT_SECRET=xxxxxxxxxxxx" - "DRONE_GIT_ALWAYS_AUTH=true" - "DRONE_RPC_SECRET=${PASSWORD}" - "DRONE_SERVER_HOST=drone.${DOMAIN}" - "DRONE_SERVER_PROTO=https" # this url will be called on each drone event : can be used to deploy or monitor - DRONE_WEBHOOK_ENDPOINT=http://172.17.0.1:1234 - DRONE_WEBHOOK_SECRET=${PASSWORD} labels: - traefik.enable=true - traefik.http.routers.drone.rule=Host(`drone.${DOMAIN}`) - traefik.http.services.drone.loadbalancer.server.port=80 - traefik.http.routers.drone.tls.certresolver=le - traefik.http.routers.drone.entrypoints=websecure - traefik.http.routers.drone.middlewares=securityheaders dronerunner: image: drone/drone-runner-docker:1 volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - "DRONE_RPC_PROTO=https" - "DRONE_RPC_HOST=drone.${DOMAIN}" - "DRONE_RPC_SECRET=${PASSWORD}" - "DRONE_RUNNER_CAPACITY=2" - "DRONE_RUNNER_NAME=dronerunner" restart: always container_name: dronerunner