Hello, I’m trying to configure drone-ci on my personal webserver with traefik and docker-compose. In drone the git clone step will use as an address http://gitea.example.com:3000
, I’m guessing gitea is reporting the used port to drone.
Is there a way to override the http address removing the port?
Could I clone via SSH?
I’ve looked at the gitea issues and I saw that I cannot bind gitea to port 80 because it is unprivileged, if I could would this solve the issue?
Gitea configuration
version: "3.6"
services:
# Git server
server:
image: gitea/gitea:latest
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
# DB
- DB_TYPE=postgres
- DB_HOST=db:5432
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
# SERVER
- PROTOCOL=https
- DOMAIN=gitea.example.com
- ROOT_URL=https://gitea.example.com/
- LOCAL_ROOT_URL=https://gitea.example.com/
- RUN_MODE=prod
# SSH
- SSH_DOMAIN=gitea.example.com
- LFS_START_SERVER=true
- INSTALL_LOCK=true
- SECRET_KEY=secret_key
- DISABLE_REGISTRATION=true
- REQUIRE_SIGNIN_VIEW=true
networks:
- gitea
- proxy
volumes:
- gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# ports:
# - "3000:3000"
# - "22:22"
depends_on:
- db
labels:
- "traefik.docker.network=proxy"
# Gitea web
- "traefik.http.routers.gitea-web.rule=Host(`gitea.example.com`)"
# Expose right ports
- "traefik.http.services.gitea-web.loadbalancer.server.port=3000"
- "traefik.http.routers.gitea-web.service=gitea-web"
- "traefik.http.routers.gitea-web.entrypoints=https-entrypoint"
# TLS
- "traefik.http.routers.gitea-web.tls=true"
- "traefik.http.routers.gitea-web.tls.certresolver=lestencrypt-resolver"
# PostgresDB
db:
image: postgres:alpine
restart: unless-stopped
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
gitea:
external: false
proxy:
external: true
volumes:
gitea_data:
postgres_data:
Drone configuration:
version: "3.6"
services:
drone-server:
image: drone/drone
restart: unless-stopped
environment:
DRONE_GITEA_CLIENT_ID: ...
DRONE_GITEA_CLIENT_SECRET: ...
DRONE_GITEA_SERVER: https://gitea.example.com
DRONE_SERVER_HOST: drone.example.com
DRONE_SERVER_PROTO: https
DRONE_RPC_SECRET: rpc_secret_key
networks:
- proxy
volumes:
- drone-server_data:/data
labels:
- "traefik.docker.network=proxy"
# Drone web
- "traefik.http.routers.drone-server.rule=Host(`drone.example.com`)"
# Expose right ports
- "traefik.http.services.drone-server.loadbalancer.server.port=80"
- "traefik.http.routers.drone-server.service=drone-server"
- "traefik.http.routers.drone-server.entrypoints=https-entrypoint"
# TLS
- "traefik.http.routers.drone-server.tls=true"
- "traefik.http.routers.drone-server.tls.certresolver=lestencrypt-resolver"
drone-runner:
image: drone/drone-runner-docker
environment:
DRONE_RPC_HOST: drone.example.com
DRONE_RPC_PROTO: https
DRONE_RPC_SECRET: rpc_secret_key
DRONE_RUNNER_CAPACITY: 2
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
proxy:
external: true
volumes:
drone-server_data: