{#- To keep the below "readable", set short vars here. -#} {%- set work = gitea.lookup.paths.work -%} {%- set bin = gitea.lookup.paths.bin | path_join('gitea') -%} {%- set user = gitea.lookup.user -%} {%- set home = salt['user.info'](gitea.lookup.user).home -%} {%- set config = gitea.lookup.paths.conf | path_join('app.ini') -%} {%- set custom_needed = gitea.lookup.paths.custom != (gitea.lookup.paths.work | path_join('custom')) -%} {%- set custom = gitea.lookup.paths.custom -%} [Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target {%- if gitea.service.wants %} {%- for wanted in gitea.service.wants %} Wants={{ wanted }}.service After={{ wanted }}.service {%- endfor %} {%- endif %} {%- if gitea.service.requires_mount %} {%- for mount in gitea.service.requires_mount %} RequiresMountsFor={{ mount }} {%- endfor %} {%- endif %} ### # Don't forget to add the database service dependencies ### # #Wants=mysql.service #After=mysql.service # #Wants=mariadb.service #After=mariadb.service # #Wants=postgresql.service #After=postgresql.service # #Wants=memcached.service #After=memcached.service # #Wants=redis.service #After=redis.service # ### # If using socket activation for main http/s ### # #After=gitea.main.socket #Requires=gitea.main.socket # ### # (You can also provide gitea an http fallback and/or ssh socket too) # # An example of /etc/systemd/system/gitea.main.socket ### ## ## [Unit] ## Description=Gitea Web Socket ## PartOf=gitea.service ## ## [Socket] ## Service=gitea.service ## ListenStream= ## NoDelay=true ## ## [Install] ## WantedBy=sockets.target ## ### [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User={{ user }} Group={{ gitea.lookup.group }} WorkingDirectory={{ work }} # If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file # (manually creating /run/gitea doesn't work, because it would not persist across reboots) #RuntimeDirectory=gitea ExecStart={{ bin }} web --config '{{ config }}' Restart=always Environment=USER={{ user }} HOME={{ home }} GITEA_WORK_DIR={{ work }}{% if custom_needed %} GITEA_CUSTOM={{ custom }}{% endif %} # If you install Git to directory prefix other than default PATH (which happens # for example if you install other versions of Git side-to-side with # distribution version), uncomment below line and add that prefix to PATH # Don't forget to place git-lfs binary on the PATH below if you want to enable # Git LFS support #Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin # If you want to bind Gitea to a port below 1024, uncomment # the two values below, or use socket activation to pass Gitea its ports as above ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE ### [Install] WantedBy=multi-user.target