add plattform services
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
postgres_version: 16-alpine
|
||||
gitea_version: "1.21"
|
||||
gitea_domain: "{{ subdomain }}.{{ main_domain }}"
|
||||
gitea_http_port: 3000
|
||||
gitea_ssh_port: 2222
|
||||
|
||||
data_dir: "{{ ceph_volume }}/gitea"
|
||||
subdomain: git
|
||||
|
||||
gitea_db_type: "postgres"
|
||||
gitea_db_host: db:5432
|
||||
gitea_db_name: "gitea"
|
||||
gitea_db_user: "gitea"
|
||||
gitea_db_password: ""
|
||||
@@ -0,0 +1,38 @@
|
||||
- name: GITEA | Ensure data directories
|
||||
ansible.builtin.file:
|
||||
path: '{{ data_dir }}/data'
|
||||
state: directory
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '0750'
|
||||
recurse: yes
|
||||
delegate_to: "{{ groups['managers'][0] }}"
|
||||
|
||||
- name: GITEA | Ensure DB data directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ data_dir }}/data/db"
|
||||
state: directory
|
||||
# Postgres Alpine nutzt UID 70 (postgres).
|
||||
# Bei Debian-Images wäre es 999.
|
||||
owner: 70
|
||||
group: 70
|
||||
mode: '0700'
|
||||
recurse: yes
|
||||
delegate_to: "{{ groups['managers'][0] }}"
|
||||
|
||||
- name: GITEA | Generate Compose file
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: '{{ data_dir }}/gitea.yml'
|
||||
mode: 0644
|
||||
run_once: true
|
||||
delegate_to: "{{ groups['managers'][0] }}"
|
||||
|
||||
- name: GITEA | Deploy stack
|
||||
community.docker.docker_stack:
|
||||
state: present
|
||||
name: gitea
|
||||
compose:
|
||||
- '{{ data_dir }}/gitea.yml'
|
||||
delegate_to: "{{ groups['managers'][0] }}"
|
||||
run_once: true
|
||||
@@ -0,0 +1,62 @@
|
||||
networks:
|
||||
{{ traefik_public_net }}:
|
||||
external: true
|
||||
internal:
|
||||
|
||||
services:
|
||||
server:
|
||||
image: gitea/gitea:{{ gitea_version }}
|
||||
environment:
|
||||
- USER_UID=1000
|
||||
- USER_GID=1000
|
||||
- GITEA__database__DB_TYPE={{ gitea_db_type }}
|
||||
- GITEA__database__HOST={{ gitea_db_host }}
|
||||
- GITEA__database__NAME={{ gitea_db_name }}
|
||||
- GITEA__database__USER={{ gitea_db_user }}
|
||||
- GITEA__database__PASSWD={{ gitea_db_password }}
|
||||
- GITEA__server__DOMAIN={{ gitea_domain }}
|
||||
- GITEA__server__SSH_DOMAIN={{ gitea_domain }}
|
||||
- GITEA__server__SSH_PORT={{ gitea_ssh_port }}
|
||||
- GITEA__server__ROOT_URL=https://{{ gitea_domain }}/
|
||||
volumes:
|
||||
- {{ data_dir }}/data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
- internal
|
||||
- {{ traefik_public_net }}
|
||||
ports:
|
||||
- "{{ gitea_ssh_port }}:22"
|
||||
deploy:
|
||||
mode: replicated
|
||||
replicas: 1
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network={{ traefik_public_net }}"
|
||||
- "traefik.http.routers.gitea.rule=Host(`{{ gitea_domain }}`)"
|
||||
- "traefik.http.routers.gitea.entrypoints=https"
|
||||
- "traefik.http.routers.gitea.tls.certresolver=main"
|
||||
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
|
||||
|
||||
db:
|
||||
image: postgres:{{ postgres_version }}
|
||||
restart: always
|
||||
environment:
|
||||
- POSTGRES_USER={{ gitea_db_user }}
|
||||
- POSTGRES_PASSWORD={{ gitea_db_password }}
|
||||
- POSTGRES_DB={{ gitea_db_name }}
|
||||
networks:
|
||||
- internal
|
||||
volumes:
|
||||
- {{ data_dir }}/data/db:/var/lib/postgresql/data
|
||||
command:
|
||||
- "postgres"
|
||||
- "-c"
|
||||
- "fsync=on"
|
||||
- "-c"
|
||||
- "full_page_writes=on"
|
||||
- "-c"
|
||||
- "synchronous_commit=on"
|
||||
deploy:
|
||||
mode: replicated
|
||||
replicas: 1
|
||||
Reference in New Issue
Block a user