dotfiles/docker/gitea/docker-compose.toml

85 lines
3 KiB
TOML

[services]
[services.gitea]
image = "functionalhacker/gitea-asciidoc"
container_name = "gitea"
environment = ["TZ=Europe/Helsinki", "USER_UID=1000", "USER_GID=1000"]
restart = "unless-stopped"
networks = ["postgres", "proxy"]
ports = ["3000:3000", "22:22"]
volumes = ["/docker/gitea:/data", "/etc/localtime:/etc/localtime:ro"]
labels = [
"traefik.enable=true",
"traefik.docker.network=proxy",
"traefik.http.routers.gitea-redirect.entrypoints=http",
"traefik.http.routers.gitea-redirect.rule=Host(`git.korhonen.cc`)",
"traefik.http.routers.gitea-redirect.middlewares=http2https@file",
"traefik.http.routers.gitea.entrypoints=https",
"traefik.http.routers.gitea.middlewares=secHeaders@file,compress@file",
"traefik.http.routers.gitea.rule=Host(`git.korhonen.cc`)",
"traefik.http.routers.gitea.service=gitea",
"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
[networks.proxy]
external = true