commit 17ee7797874b28fd652d6521cef5ba78ffac4ceb Author: Jakub Date: Thu Jul 3 07:50:56 2025 +0000 first commit diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a5a43f0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,79 @@ +version: "3" + +networks: + gitea: + external: false + +volumes: + gitea: + driver: local + +services: + server: + image: docker.gitea.com/gitea:nightly + container_name: gitea + environment: + - USER_UID=1001 + - USER_GID=1001 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=gitea + restart: always + networks: + - gitea + volumes: + - gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "22:22" + depends_on: + - db + healthcheck: + test: ["CMD", "wget", "--spider", "--quiet", "http://localhost:3000"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + + db: + image: docker.io/library/postgres:14 + restart: always + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=gitea + - POSTGRES_DB=gitea + networks: + - gitea + volumes: + - ./postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U gitea"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + + nginx: + image: nginx:alpine + container_name: gitea-proxy + restart: always + ports: + - "80:80" + - "443:443" + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d:ro + - ./nginx/certs:/etc/nginx/certs:ro + depends_on: + - server + networks: + - gitea + healthcheck: + test: ["CMD", "wget", "--spider", "--quiet", "http://localhost"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s + diff --git a/nginx/conf.d/gitea.conf b/nginx/conf.d/gitea.conf new file mode 100644 index 0000000..a3cbb1c --- /dev/null +++ b/nginx/conf.d/gitea.conf @@ -0,0 +1,22 @@ +server { + listen 80; + server_name gitea.cbpio.pl; + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name gitea.cbpio.pl; + + ssl_certificate /etc/nginx/certs/fullchain.pem; + ssl_certificate_key /etc/nginx/certs/privkey.pem; + + location / { + proxy_pass http://server:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + } +} +