mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
6c2bf36dab
Add systemd service file for caddy Add some README with basic setup instructions Explain how to view the service configuration Add a note about permissions Add a comment about run user and group service->service unit A systemd service can consist of different units. A unit configuration file has the `.service` file ending which is a bit confusing, so please be considerate if I'm confusing `service` and `unit` in the README Fix typos/reword Add contact information
40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# systemd unit for caddy
|
|
|
|
Please do not hesitate to ask [me](mailto:klingt.net+caddy@gmail.com) if you've any questions.
|
|
|
|
## Quickstart
|
|
|
|
- install the unit configuration file: `cp caddy@.service /etc/systemd/system`
|
|
- reload the systemd daemon: `systemctl deamon-reload`
|
|
- make sure to [configure](#configuration) the service unit before starting caddy
|
|
- start caddy: `systemctl start caddy@someuser`
|
|
- enable the service (automatically start on boot): `systemctl enable caddy@someuser`
|
|
- the `.caddy` folder will be created inside the users home directory that runs caddy, i.e. `/home/someuser/.caddy` for `systemctl start caddy@someuser`
|
|
|
|
## Configuration
|
|
|
|
- do not edit the systemd unit directly, use systemd's builtin tools:
|
|
- `systemctl edit caddy@` to make user local modifications to the service unit
|
|
- `systemctl edit --full caddy@` to make system-wide modifications
|
|
- in most cases it's enough to adapt the `ExecStart` directive:
|
|
- `systemctl edit caddy@`
|
|
- systemd needs absolute paths, therefore make sure that the path to caddy is correct
|
|
- example:
|
|
|
|
```ini
|
|
[Service]
|
|
; reset the original setting
|
|
ExecStart=
|
|
ExecStart=/usr/bin/caddy -conf="/etc/caddy/myCaddy.conf" -agree -email="my@mail.address"
|
|
```
|
|
|
|
- to view your configuration use `systemctl cat caddy@`
|
|
- double check the permissions of your web root path to make sure that caddy can access it as its run user and group
|
|
|
|
## Tips
|
|
|
|
- use `log stdout` and `errors stderr` in your Caddyfile to make use of `journalctl`
|
|
- `journalctl` is systemd's log query tool
|
|
- lets say you want all the log entries for caddy since the last boot beginning from the last entry: `journalctl --reverse --boot --unit caddy@someuser`
|
|
- maybe you want to follow caddys log output: `journalctl -fu caddy@someuser`
|
|
- to send a signal to a service units main PID, e.g. let caddy reload its config: `systemctl kill --signal=USR1 caddy@someuser`
|