feat: Re-structured services and updated readme
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
services:
|
||||
# Runner
|
||||
runner:
|
||||
image: gitea/act_runner:latest
|
||||
container_name: gitea_runner
|
||||
volumes:
|
||||
- ./config.yaml:/config.yaml
|
||||
- ./gitea_runner:/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
networks:
|
||||
- proxy
|
||||
environment:
|
||||
CONFIG_FILE: /config.yaml
|
||||
GITEA_INSTANCE_URL: "https://git.luke-else.co.uk"
|
||||
GITEA_RUNNER_REGISTRATION_TOKEN: "INSERT REGISTRATION TOKEN"
|
||||
GITEA_RUNNER_NAME: "CICD#1"
|
||||
labels:
|
||||
## Expose cicd Through Trefik ##
|
||||
- "traefik.enable=true" # <== Enable traefik to proxy this container
|
||||
|
||||
- "traefik.http.middlewares.redirect-web-secure.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.cicd-insecure.middlewares=redirect-web-secure"
|
||||
- "traefik.http.routers.cicd-insecure.rule=Host(`cicd.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.cicd-insecure.entrypoints=web"
|
||||
|
||||
- "traefik.http.routers.cicd.rule=Host(`cicd.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.cicd.entrypoints=websecure"
|
||||
- "traefik.http.routers.cicd.tls.certresolver=myresolver"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
@@ -0,0 +1,54 @@
|
||||
services:
|
||||
#gitea (222)
|
||||
gitea:
|
||||
image: gitea/gitea:latest
|
||||
container_name: gitea
|
||||
volumes:
|
||||
- ./gitea:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
- proxy
|
||||
ports:
|
||||
- "222:22"
|
||||
environment:
|
||||
- APP_NAME="gitea"
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- USER=git
|
||||
- RUN_MODE=prod
|
||||
- DOMAIN=git.luke-else.co.uk
|
||||
- SSH_DOMAIN=git.luke-else.co.uk
|
||||
- HTTP_PORT=3000
|
||||
- ROOT_URL=https://git.luke-else.co.uk
|
||||
- SSH_PORT=222
|
||||
- SSH_LISTEN_PORT=22
|
||||
- DB_TYPE=sqlite3
|
||||
- GITEA_service_DISABLE_REGISTRATION=true
|
||||
- GITEA_server_LANDING_PAGE=/luke-else
|
||||
labels:
|
||||
## Expose Gitea Through Trefik ##
|
||||
- "traefik.enable=true" # <== Enable traefik to proxy this container
|
||||
|
||||
- "traefik.http.middlewares.cors-gitea.headers.accesscontrolallowmethods=*"
|
||||
- "traefik.http.middlewares.cors-gitea.headers.accesscontrolalloworiginlist=*"
|
||||
- "traefik.http.middlewares.cors-gitea.headers.addvaryheader=true"
|
||||
- "traefik.http.middlewares.cors-gitea.headers.accesscontrolallowcredentials=true"
|
||||
- "traefik.http.middlewares.cors-gitea.headers.accesscontrolallowheaders=Content-Type,Authorization"
|
||||
- "traefik.http.middlewares.cors-gitea.headers.accesscontrolmaxage=100"
|
||||
|
||||
- "traefik.http.middlewares.redirect-web-secure.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.gitea-insecure.middlewares=redirect-web-secure"
|
||||
- "traefik.http.routers.gitea-insecure.rule=Host(`git.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.gitea-insecure.entrypoints=web"
|
||||
|
||||
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
|
||||
- "traefik.http.routers.gitea.rule=Host(`git.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.gitea.entrypoints=websecure"
|
||||
- "traefik.http.routers.gitea.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.gitea.middlewares=cors-gitea"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
# Script file for spinning down all dev docker-containers
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
cd Runners
|
||||
docker compose down
|
||||
cd ..
|
||||
|
||||
docker compose -f traefik-docker-compose.yml down
|
||||
docker compose -f watchtower-docker-compose.yml down
|
||||
|
||||
docker rmi $(docker images -q)
|
||||
docker system prune -f -a
|
||||
docker volume prune -f -a
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
# Script file for spinning up all dev docker-containers
|
||||
set -e
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
docker compose -f traefik-docker-compose.yml pull && docker compose -f traefik-docker-compose.yml up -d
|
||||
|
||||
cd Runners
|
||||
docker compose pull && docker compose up -d
|
||||
cd ..
|
||||
|
||||
docker compose -f watchtower-docker-compose.yml pull && docker compose -f watchtower-docker-compose.yml up -d
|
||||
@@ -0,0 +1,40 @@
|
||||
services:
|
||||
traefik:
|
||||
image: "traefik:latest"
|
||||
container_name: "traefik"
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
||||
- "--certificatesresolvers.myresolver.acme.email=contact@luke-else.co.uk"
|
||||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- "./letsencrypt:/letsencrypt"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
|
||||
- "traefik.http.middlewares.redirect-web-secure.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.traefik-insecure.middlewares=redirect-web-secure"
|
||||
- "traefik.http.routers.traefik-insecure.rule=Host(`traefik.cicd.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.traefik-insecure.entrypoints=web"
|
||||
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.cicd.luke-else.co.uk`)"
|
||||
- "traefik.http.routers.traefik.entrypoints=websecure"
|
||||
- "traefik.http.routers.traefik.service=api@internal"
|
||||
- "traefik.http.routers.traefik.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.traefik.middlewares=traefik-auth"
|
||||
- "traefik.http.middlewares.traefik-auth.basicauth.users=user:$$2y$$05$$s/vPphFtSO2fWJR7SYkEb.90UwPDRM3aOKqgOF/rme/3fUQ5tvpTS"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
name: proxy
|
||||
@@ -0,0 +1,8 @@
|
||||
services:
|
||||
watchtower:
|
||||
image: nickfedor/watchtower
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_POLL_INTERVAL=60
|
||||
Reference in New Issue
Block a user