compose.yaml 2.9 KB

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