compose.yaml.j2 2.9 KB

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