diff --git a/compose.yml b/compose.yml index e69de29..236f8da 100644 --- a/compose.yml +++ b/compose.yml @@ -0,0 +1,71 @@ +version: "3" + +services: + gitea: + image: gitea/gitea:1.21.7 + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=gitea + restart: always + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + # ports: + # - "3000:3000" + # - "222:22" + deploy: + replicas: 1 + labels: + - "traefik.enable=true" + - "traefik.http.routers.gitea.rule=Host(`gitea-ptl.akamai-lab.com`)" + - "traefik.http.routers.gitea.entrypoints=websecure" + - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" + - "traefik.http.routers.gitea.tls=true" + - "traefik.http.routers.gitea.tls.certresolver=letsencrypt" + - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" # HTTP to HTTPS redirect + - "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true" + - "traefik.http.routers.redirs.rule=hostregexp(`{host:.+}`)" + - "traefik.http.routers.redirs.entrypoints=web" + - "traefik.http.routers.redirs.middlewares=redirect-to-https" + depends_on: + - db + + db: + image: postgres:14 + container_name: db + restart: always + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=gitea + - POSTGRES_DB=gitea + volumes: + - ./postgres:/var/lib/postgresql/data + + traefik: + image: traefik:latest + container_name: traefik + restart: always + command: + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--certificatesresolvers.letsencrypt.acme.email=learn@akamai.com" + - "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme/acme.json" + - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web" + - "--log.level=DEBUG" + ports: + - "80:80" + - "443:443" + - "8080:8080" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./acme:/etc/traefik/acme \ No newline at end of file