mirror of
https://github.com/etesync/server
synced 2024-11-22 08:48:07 +00:00
Reorganize to add a section about FreeBSD
parent
8a378aab70
commit
83511e16fa
@ -1,5 +1,9 @@
|
||||
Having to run uvicorn manually is annoying and not maintainable.
|
||||
Instead, you should have `systemd` automatically start it at boot for you.
|
||||
Instead, you should have the system automatically start it at boot for you.
|
||||
|
||||
# Linux
|
||||
|
||||
## systemd
|
||||
|
||||
We can have `systemd` handle lauching uvicorn by creating a unit file for it.
|
||||
Create a new file called `etebase_server.service` and paste in the following.
|
||||
@ -33,3 +37,49 @@ $ sudo systemctl enable etebase_server
|
||||
|
||||
Check to see if it worked!
|
||||
If it didn't work, use the command `sudo systemctl status etebase_server` to see what went wrong.
|
||||
|
||||
# FreeBSD
|
||||
|
||||
## rc script
|
||||
|
||||
Create a rc script in `/usr/local/etc/rc.d/etesync` as it's not part of the base system.
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
#
|
||||
# PROVIDE: etesync
|
||||
# REQUIRE: NETWORKING LOGIN postgresql
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable etesync:
|
||||
#
|
||||
#etesync_enable="YES"
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="etesync"
|
||||
rcvar="etesync_enable"
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
: ${etesync_enable="NO"}
|
||||
|
||||
pidfile="/var/run/etesync/etesync.pid"
|
||||
procname="/usr/local/share/etesync/venv/bin/uvicorn"
|
||||
command="/usr/sbin/daemon"
|
||||
command_interpreter="/usr/local/share/etesync/venv/bin/python3.9"
|
||||
command_args="-f -u www -o /var/log/etesync.log -p ${pidfile} /usr/local/share/etesync/venv/bin/uvicorn etebase_server.asgi:application --uds /var/run/etesync/etesync.socket --env-file /usr/local/etc/etesync/etesync_env --app-dir /usr/local/share/etesync"
|
||||
|
||||
run_rc_command "$1"
|
||||
```
|
||||
|
||||
Then place your installation in `/usr/local/share/etesync` and the venv itself in `/usr/local/share/etesync/venv`
|
||||
|
||||
In `/usr/local/etc/etesync/etesync_env`, place the following :
|
||||
```
|
||||
ETEBASE_EASY_CONFIG_PATH=/usr/local/etc/etesync/etesync.ini
|
||||
```
|
||||
|
||||
In `/usr/local/etc/etesync/etesync.ini` place your configuration as explained in other wiki sections.
|
||||
|
||||
Then you just have to add `etesync_enable="YES"` in `/etc/rc.conf` or run `rc_enable
|
Loading…
Reference in New Issue
Block a user