From fdc40a91e19bb93d994ed88d370d70287b76a34d Mon Sep 17 00:00:00 2001 From: christoph Date: Tue, 24 Jan 2023 14:49:25 +0100 Subject: [PATCH] Added examples folder --- examples/all_in_one/docker-compose.yml | 110 +++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 examples/all_in_one/docker-compose.yml diff --git a/examples/all_in_one/docker-compose.yml b/examples/all_in_one/docker-compose.yml new file mode 100644 index 0000000..b4759b5 --- /dev/null +++ b/examples/all_in_one/docker-compose.yml @@ -0,0 +1,110 @@ +# Source: https://containers.fan/posts/setup-gitea-on-docker-with-traefik/ + +--- +version: '3.8' + +services: + gitea-traefik: + image: traefik:2.4 + container_name: gitea-traefik + restart: unless-stopped + volumes: + - ./traefik/acme.json:/acme.json + - /var/run/docker.sock:/var/run/docker.sock + networks: + - public + labels: + - 'traefik.enable=true' + - 'traefik.http.routers.api.rule=Host(`traefik.rbkr.xyz`)' + - 'traefik.http.routers.api.entrypoints=https' + - 'traefik.http.routers.api.service=api@internal' + - 'traefik.http.routers.api.tls=true' + - 'traefik.http.routers.api.tls.certresolver=letsencrypt' + ports: + - 80:80 + - 443:443 + command: + - '--api' + - '--providers.docker=true' + - '--providers.docker.exposedByDefault=false' + - '--entrypoints.http=true' + - '--entrypoints.http.address=:80' + - '--entrypoints.http.http.redirections.entrypoint.to=https' + - '--entrypoints.http.http.redirections.entrypoint.scheme=https' + - '--entrypoints.https=true' + - '--entrypoints.https.address=:443' + - '--certificatesResolvers.letsencrypt.acme.email=me@example.com' + - '--certificatesResolvers.letsencrypt.acme.storage=acme.json' + - '--certificatesResolvers.letsencrypt.acme.httpChallenge.entryPoint=http' + - '--log=true' + - '--log.level=INFO' + logging: + driver: "json-file" + options: + max-size: "1m" + + gitea: + container_name: gitea + image: gitea/gitea:${GITEA_VERSION:-1.14.5} + restart: unless-stopped + depends_on: + gitea-traefik: + condition: service_started + gitea-cache: + condition: service_healthy + environment: + - APP_NAME="Gitea" + - USER_UID=1000 + - USER_GID=1000 + - USER=git + - RUN_MODE=prod + - DOMAIN=git.rbkr.xyz + - SSH_DOMAIN=git.rbkr.xyz + - HTTP_PORT=3000 + - ROOT_URL=https://git.rbkr.xyz + - SSH_PORT=222 + - SSH_LISTEN_PORT=22 + - DB_TYPE=sqlite3 + - GITEA__cache__ENABLED=true + - GITEA__cache__ADAPTER=redis + - GITEA__cache__HOST=redis://gitea-cache:6379/0?pool_size=100&idle_timeout=180s + - GITEA__cache__ITEM_TTL=24h + ports: + - "222:22" + networks: + - public + volumes: + - ./data/gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + labels: + - "traefik.enable=true" + - "traefik.http.routers.gitea.rule=Host(`git.rbkr.xyz`)" + - "traefik.http.routers.gitea.entrypoints=https" + - "traefik.http.routers.gitea.tls.certresolver=letsencrypt" + - "traefik.http.routers.gitea.service=gitea-service" + - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" + logging: + driver: "json-file" + options: + max-size: "1m" + + gitea-cache: + container_name: gitea-cache + image: redis:6-alpine + restart: unless-stopped + networks: + - public + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 15s + timeout: 3s + retries: 30 + logging: + driver: "json-file" + options: + max-size: "1m" + +networks: + public: + name: public