services: registry: image: registry:2 container_name: registry ports: - "5000:5000" volumes: - /home/aetos/registry:/var/lib/registry restart: always registry-ui: image: joxit/docker-registry-ui:latest container_name: registry-ui ports: - "6001:80" environment: REGISTRY_URL: http://registry:5000 depends_on: - registry restart: always gitea: image: gitea/gitea:latest container_name: gitea environment: - USER_UID=${PUID} - USER_GID=${PGID} restart: always ports: - "6002:3000" # Web UI - "222:22" # SSH volumes: - /home/aetos/gitea:/data drone-server: image: drone/drone:2 container_name: drone-server ports: - "6003:80" # Drone UI/API available on http://localhost:6003 volumes: - /home/aetos/drone:/data environment: DRONE_GITEA_SERVER: http://gitea:3000 DRONE_RPC_SECRET: supersecretkey DRONE_SERVER_HOST: drone.server.aetoskia.com DRONE_SERVER_PROTO: http restart: always depends_on: - gitea drone-runner: image: drone/drone-runner-docker:1 container_name: drone-runner restart: always depends_on: - drone-server ports: - "3000:3000" # optional: exposes runner metrics/debug UI volumes: - /var/run/docker.sock:/var/run/docker.sock environment: DRONE_RPC_PROTO: http DRONE_RPC_HOST: drone-server:80 # matches service name + port inside Docker network DRONE_RPC_SECRET: supersecretkey DRONE_RUNNER_CAPACITY: 2 DRONE_RUNNER_NAME: runner1