# 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