documentation: added build and install for alpine, with openrc service
This commit is contained in:
parent
b135c49e75
commit
c09f1fbe4e
2 changed files with 87 additions and 0 deletions
71
documentation/alpine-linux.md
Normal file
71
documentation/alpine-linux.md
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Build ezidam on Alpine Linux
|
||||||
|
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
Install alpine.
|
||||||
|
|
||||||
|
Enable `community` repository in `/etc/apk/repositories`
|
||||||
|
|
||||||
|
Install packages:
|
||||||
|
```sh
|
||||||
|
apk add rustup git build-base
|
||||||
|
```
|
||||||
|
|
||||||
|
Run `rustup-init` to download the rust compiler.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
Get code, get in repo
|
||||||
|
|
||||||
|
```sh
|
||||||
|
rm rust-toolchain.toml
|
||||||
|
cargo build --release
|
||||||
|
```
|
||||||
|
|
||||||
|
## Copy
|
||||||
|
|
||||||
|
Create folders for config, assets, database
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir -p /etc/ezidam /usr/share/ezidam /var/lib/ezidam
|
||||||
|
```
|
||||||
|
|
||||||
|
Copy binary, config, assets
|
||||||
|
```sh
|
||||||
|
|
||||||
|
cp target/release/ezidam /usr/bin/ezidam
|
||||||
|
cp crates/ezidam/ezidam.toml /etc/ezidam/ezidam.toml
|
||||||
|
cp crates/ezidam/static/ crates/ezidam/templates/ /usr/share/ezidam/ -rv
|
||||||
|
```
|
||||||
|
|
||||||
|
## Config
|
||||||
|
|
||||||
|
Here's the paths to use in `/etc/ezidam/ezidam.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[default]
|
||||||
|
template_dir = "/usr/share/ezidam/templates"
|
||||||
|
static_dir = "/usr/share/ezidam/static"
|
||||||
|
|
||||||
|
[default.databases.ezidam]
|
||||||
|
url = "/var/lib/ezidam/ezidam.sqlite"
|
||||||
|
```
|
||||||
|
Don't forget the rest of the config! The above is only a snippet!
|
||||||
|
|
||||||
|
## Service
|
||||||
|
|
||||||
|
Copy the script `openrc.sh` as `/etc/init.d/ezidam`, then
|
||||||
|
```sh
|
||||||
|
chmod +x /etc/init.d/ezidam
|
||||||
|
```
|
||||||
|
|
||||||
|
## Start/Stop/Boot
|
||||||
|
|
||||||
|
- Start: `rc-service ezidam start`
|
||||||
|
- Stop: `rc-service ezidam stop`
|
||||||
|
|
||||||
|
- Start at boot: `rc-update add ezidam`
|
||||||
|
- Don't start at boot: `rc-update del ezidam`
|
||||||
|
|
||||||
|
## Logs
|
||||||
|
|
||||||
|
If ezidam is started with the service, logs will be available at `/var/log/ezidam.{log,err}`
|
||||||
16
documentation/openrc.sh
Normal file
16
documentation/openrc.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
|
||||||
|
name="ezidam"
|
||||||
|
command="/usr/bin/ezidam"
|
||||||
|
command_args=
|
||||||
|
command_background=true
|
||||||
|
pidfile="/run/${RC_SVCNAME}.pid"
|
||||||
|
output_log="/var/log/${RC_SVCNAME}.log"
|
||||||
|
error_log="/var/log/${RC_SVCNAME}.err"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need net
|
||||||
|
use logger
|
||||||
|
}
|
||||||
|
|
||||||
|
export EZIDAM_CONFIG="/etc/ezidam/ezidam.toml"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue