diff --git a/docker/gitea/docker-compose.toml b/docker/gitea/docker-compose.toml index 775ede6c..9ed72689 100644 --- a/docker/gitea/docker-compose.toml +++ b/docker/gitea/docker-compose.toml @@ -1,5 +1,3 @@ -[services] - [services.gitea] image = "functionalhacker/gitea-asciidoc" container_name = "gitea" @@ -21,62 +19,6 @@ labels = [ "traefik.http.services.gitea.loadbalancer.server.port=3000", ] -[services.drone] -image = "drone/drone:2" -container_name = "drone" -restart = "unless-stopped" -volumes = ["/docker/drone:/data"] -environment = [ - "DRONE_GITEA_SERVER=https://git.korhonen.cc", - "DRONE_GITEA_CLIENT_ID=${GITEA_CLIENT_ID}", - "DRONE_GITEA_CLIENT_SECRET=${GITEA_CLIENT_SECRET}", - "DRONE_RPC_SECRET=${DRONE_RPC_SECRET}", - "DRONE_SERVER_HOST=drone.korhonen.cc", - "DRONE_SERVER_PROTO=https", - "DRONE_USER_CREATE=username:FunctionalHacker,admin:true", -] -env_file = [".env"] -networks = ["proxy"] -labels = [ - "traefik.enable=true", - "traefik.docker.network=proxy", - "traefik.http.routers.drone-redirect.entrypoints=http", - "traefik.http.routers.drone-redirect.rule=Host(`drone.korhonen.cc`)", - "traefik.http.routers.drone-redirect.middlewares=http2https@file", - "traefik.http.routers.drone.entrypoints=https", - "traefik.http.routers.drone.middlewares=secHeaders@file,compress@file", - "traefik.http.routers.drone.rule=Host(`drone.korhonen.cc`)", - "traefik.http.routers.drone.service=drone", - "traefik.http.services.drone.loadbalancer.server.port=80", -] - -[services.drone-runner] -image = "drone/drone-runner-docker:1" -container_name = "drone-runner" -restart = "unless-stopped" -volumes = ["/var/run/docker.sock:/var/run/docker.sock"] -environment = [ - "DRONE_RPC_HOST=drone.korhonen.cc", - "DRONE_RPC_PROTO=https", - "DRONE_RPC_SECRET=${DRONE_RPC_SECRET}", -] -env_file = [".env"] -networks = ["proxy"] -labels = [ - "traefik.enable=true", - "traefik.docker.network=proxy", - "traefik.http.routers.drone-runner-redirect.entrypoints=http", - "traefik.http.routers.drone-runner-redirect.rule=Host(`runner.drone.korhonen.cc`)", - "traefik.http.routers.drone-runner-redirect.middlewares=http2https@file", - "traefik.http.routers.drone-runner.entrypoints=https", - "traefik.http.routers.drone-runner.middlewares=secHeaders@file,compress@file", - "traefik.http.routers.drone-runner.rule=Host(`runner.drone.korhonen.cc`)", - "traefik.http.routers.drone-runner.service=drone-runner", - "traefik.http.services.drone-runner.loadbalancer.server.port=3000", -] - -[networks] - [networks.postgres] external = true diff --git a/docker/woodpecker/docker-compose.toml b/docker/woodpecker/docker-compose.toml new file mode 100644 index 00000000..2cdc0b92 --- /dev/null +++ b/docker/woodpecker/docker-compose.toml @@ -0,0 +1,58 @@ +[services.woodpecker] +image = "woodpeckerci/woodpecker-server" +container_name = "woodpecker" +restart = "unless-stopped" +volumes = ["/docker/woodpecker/:/var/lib/woodpecker/"] +env_file = [".env"] +environment = [ + "WOODPECKER_OPEN=true", + "WOODPECKER_GITEA=true", + "WOODPECKER_GITEA_URL=https://git.korhonen.cc", + "WOODPECKER_GITEA_CLIENT", + "WOODPECKER_GITEA_SECRET", + "WOODPECKER_AGENT_SECRET", + "WOODPECKER_HOST=https://ci.korhonen.cc", + "WOODPECKER_ADMIN=FunctionalHacker", +] +networks = ["proxy"] +labels = [ + "traefik.enable=true", + "traefik.docker.network=proxy", + "traefik.http.routers.woodpecker-redirect.entrypoints=http", + "traefik.http.routers.woodpecker-redirect.rule=Host(`ci.korhonen.cc`)", + "traefik.http.routers.woodpecker-redirect.middlewares=http2https@file", + "traefik.http.routers.woodpecker.entrypoints=https", + "traefik.http.routers.woodpecker.middlewares=secHeaders@file,compress@file", + "traefik.http.routers.woodpecker.rule=Host(`ci.korhonen.cc`)", + "traefik.http.routers.woodpecker.service=woodpecker", + "traefik.http.services.woodpecker.loadbalancer.server.port=8000", +] + +[services.woodpecker-agent] +image = "woodpeckerci/woodpecker-agent" +container_name = "woodpecker-agent" +command = "agent" +restart = "unless-stopped" +depends_on = ["woodpecker"] +volumes = ["/var/run/docker.sock:/var/run/docker.sock"] +env_file = [".env"] +environment = [ + "WOODPECKER_SERVER=woodpecker:9000", + "WOODPECKER_AGENT_SECRET", +] +networks = ["proxy"] +labels = [ + "traefik.enable=true", + "traefik.docker.network=proxy", + "traefik.http.routers.woodpecker-agent-redirect.entrypoints=http", + "traefik.http.routers.woodpecker-agent-redirect.rule=Host(`agent.ci.korhonen.cc`)", + "traefik.http.routers.woodpecker-agent-redirect.middlewares=http2https@file", + "traefik.http.routers.woodpecker-agent.entrypoints=https", + "traefik.http.routers.woodpecker-agent.middlewares=secHeaders@file,compress@file", + "traefik.http.routers.woodpecker-agent.rule=Host(`agent.ci.korhonen.cc`)", + "traefik.http.routers.woodpecker-agent.service=woodpecker-agent", + "traefik.http.services.woodpecker-agent.loadbalancer.server.port=3000", +] + +[networks.proxy] +external = true