alliance-boreale/ansible/roles/forgejo/templates/forgejo.service.j2
Dan Allaire bb38f846cd
Some checks are pending
CI / yaml-lint (push) Waiting to run
CI / ssot-export (push) Waiting to run
CI / tests (push) Waiting to run
CI / docs (push) Waiting to run
Premiers rôles ansible et leurs playbooks de déploiement (Phases 1 et 2)
2025-11-01 17:57:46 -04:00

91 lines
2 KiB
Django/Jinja

# Alliance Boréale - Forgejo Systemd Service
# Generated by Ansible
[Unit]
Description=Forgejo Git Service
After=network.target postgresql.service
Wants=postgresql.service
[Service]
Type=simple
User={{ forgejo.user }}
Group={{ forgejo.group }}
WorkingDirectory={{ forgejo.data_dir }}
ExecStart={{ forgejo.install_dir }}/forgejo web --config {{ forgejo.custom_dir }}/app.ini
Restart=on-failure
RestartSec=10
# Security
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths={{ forgejo.data_dir }} {{ forgejo.log_dir }}
# Limits
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
---SEPARATOR---
# Alliance Boréale - Nginx Configuration for Forgejo
# Generated by Ansible
upstream forgejo_backend {
server 127.0.0.1:{{ forgejo.http_port }};
}
server {
listen 80;
server_name {{ forgejo.hostname }};
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name {{ forgejo.hostname }};
ssl_certificate /etc/ssl/certs/{{ forgejo.hostname }}.crt;
ssl_certificate_key /etc/ssl/private/{{ forgejo.hostname }}.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# Large uploads (Git LFS)
client_max_body_size 512M;
location / {
proxy_pass http://forgejo_backend;
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 $scheme;
# WebSocket support (for Actions)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
---SEPARATOR---
# Alliance Boréale - Forgejo Handlers
# Date: 2025-10-31
---
- name: restart forgejo
ansible.builtin.systemd:
name: forgejo
state: restarted
- name: reload nginx
ansible.builtin.systemd:
name: nginx
state: reloaded
- name: reload nftables
ansible.builtin.systemd:
name: nftables
state: reloaded