compose.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. ---
  2. name: "Gitea"
  3. description: "A self-hosted Git service"
  4. version: "0.0.1"
  5. date: "2023-10-01"
  6. author: "Christian Lempa"
  7. tags:
  8. - gitea
  9. - git
  10. - code
  11. - repository
  12. ---
  13. services:
  14. server:
  15. image: docker.io/gitea/gitea:1.24.5
  16. container_name: gitea-server
  17. environment:
  18. - USER_UID=1000
  19. - USER_GID=1000
  20. # -- Change your database settings here...
  21. # --> PostgreSQL
  22. - GITEA__database__DB_TYPE=postgres
  23. - GITEA__database__HOST=${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}
  24. - GITEA__database__NAME=${POSTGRES_DB:?POSTGRES_DB not set}
  25. - GITEA__database__USER=${POSTGRES_USER:?POSTGRES_USER not set}
  26. - GITEA__database__PASSWD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
  27. # <--
  28. # --> OR MySQL
  29. # - GITEA__database__DB_TYPE=mysql
  30. # - GITEA__database__HOST=db:3306
  31. # - GITEA__database__NAME=${MYSQL_DATABASE:?MYSQL_DATABASE not set}
  32. # - GITEA__database__USER=${MYSQL_USER:?MYSQL_USER not set}
  33. # - GITEA__database__PASSWD=${MYSQL_PASSWORD:?MYSQL_PASSWORD not set}
  34. # <--
  35. # -- (Optional) Change your server settings here...
  36. - GITEA__server__SSH_PORT=2221 # <-- (Optional) Replace with your desired SSH port
  37. - GITEA__server__ROOT_URL=http://your-fqdn # <-- Replace with your FQDN
  38. # --> (Optional) When using traefik...
  39. # networks:
  40. # - frontend
  41. # <--
  42. # --> (Optional) When using an internal database...
  43. # - backend
  44. # <--
  45. volumes:
  46. - gitea-data:/data
  47. - /etc/timezone:/etc/timezone:ro
  48. - /etc/localtime:/etc/localtime:ro
  49. ports:
  50. # --> (Optional) Remove when using traefik...
  51. - "3000:3000"
  52. # <--
  53. - "2221:22" # <-- (Optional) Replace with your desired SSH port
  54. # --> (Optional) When using internal database...
  55. # depends_on:
  56. # - db
  57. # <--
  58. # --> (Optional) When using traefik...
  59. # labels:
  60. # - traefik.enable=true
  61. # - traefik.http.services.gitea.loadbalancer.server.port=3000
  62. # - traefik.http.services.gitea.loadbalancer.server.scheme=http
  63. # - traefik.http.routers.gitea-https.entrypoints=websecure
  64. # - traefik.http.routers.gitea-https.rule=Host(`your-fqdn`) # <-- Replace with your FQDN
  65. # - traefik.http.routers.gitea-https.tls=true
  66. # - traefik.http.routers.gitea-https.tls.certresolver=your-certresolver # <-- Replace with your certresolver
  67. # <--
  68. restart: unless-stopped
  69. # --> When using internal database
  70. # db:
  71. # image: docker.io/library/postgres:17.5
  72. # container_name: gitea-db
  73. # environment:
  74. # - POSTGRES_USER=${POSTGRES_USER:?POSTGRES_USER not set}
  75. # - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD not set}
  76. # - POSTGRES_DB=${POSTGRES_DB:?POSTGRES_DB not set}
  77. # networks:
  78. # - backend
  79. # volumes:
  80. # - gitea-db:/var/lib/postgresql/data
  81. # restart: unless-stopped
  82. # <--
  83. volumes:
  84. gitea-data:
  85. driver: local
  86. # --> When using internal database
  87. # gitea-db:
  88. # driver: local
  89. # <--
  90. # --> (Optional) When using traefik...
  91. # networks:
  92. # frontend:
  93. # external: true
  94. # <--
  95. # --> (Optional) When using an internal database...
  96. # backend:
  97. # external: true
  98. # <--