debmaker/README.MD

365 lines
9.5 KiB
Markdown

## DEBMAKER
The main goal of this project is allow to create application from source without install compilation utility directly on the main system.
Compilation environnements are stores in temporary files.
All package are install with chroot environnement.
Currently debian packages are build, but other package can be build with this ways
Objectives :
- Create lowest debian lxc contener to limit backup size
- Easily upgrade application
### Usage
#### List app
To list all applications with debmaker script
```bash
./debmaker list
```
#### Create deb file
To create deb file you just need to run the bellow command :
```bash
./debmaker run <app>
```
after execution, .deb file is generate in 'dist' folder
#### Edit debmaker script
```bash
./debmaker edit <app>
```
#### Debug
To enter in temporary filesystem
```bash
./debmaker chroot <app>
```
### packages available in shared repository
- [adguardhome](./ressources/adguardhome)
- [authelia](#authelia) ([site](https://www.authelia.com/)) ([src](https://github.com/authelia/authelia))
- [bitwarden-desktop](#bitwarden-desktop) ([site](https://bitwarden.com/)) ([src](https://github.com/bitwarden/clients/))
- [element-web](#element-web) ([site](https://element.io/)) ([src](https://github.com/vector-im/element-web))
- [flame](#flame) ([site](https://github.com/pawelmalak/flame)) ([src](https://github.com/pawelmalak/flame))
- [gitea](#gitea) ([site](https://gitea.io)) ([src](https://github.com/go-gitea/gitea/))
- [glpi](#glpi) ([site](http://glpi-project.org/)) ([src](https://github.com/glpi-project/glpi))
- [gotify](#gotify) ([site](https://gotify.net/)) ([src](https://github.com/gotify))
- [grocy](#grocy) ([site](https://grocy.info/)) ([src](https://github.com/grocy/grocy))
- [joplin desktop](#joplin) ([site](https://joplinapp.org/)) ([src](https://github.com/laurent22/joplin))
- [joplin-server](#joplin-server) ([site](https://joplinapp.org/)) ([src](https://github.com/laurent22/joplin))
- [mautrix-syncproxy and mautrix-wsproxy](#mautrix-syncproxy-and-mautrix-wsproxy) ([site](https://docs.mau.fi/bridges/go/imessage/android/setup.html)) ([src](https://github.com/mautrix/syncproxy)) ([src](https://github.com/mautrix/wsproxy))
- [mautrix-whatsapp](#mautrix-whatsapp) ([site](https://docs.mau.fi/bridges/go/whatsapp/index.html)) ([src](https://github.com/mautrix/whatsapp))
- [metabase](#metabase) ([site](https://www.metabase.com/)) ([src](https://github.com/metabase/metabase))
- [roundcubemail](#roundcubemail) ([site](https://roundcube.net/)) ([src](https://github.com/roundcube/roundcubemail))
- [rss-bridge](#rss-bridge) ([site](https://github.com/rss-bridge/rss-bridge)) ([src](https://github.com/RSS-Bridge/rss-bridge))
- [rustdesk-server](#rustdesk-server) ([site](https://rustdesk.com/)) ([src](https://github.com/rustdesk/rustdesk-server))
- [tt-rss](#tt-rss) ([site](https://tt-rss.org/)) ([src](https://git.tt-rss.org/fox/tt-rss))
- [vaultwarden and vaultwarden-web](#vaultwarden-and-vaultwarden-web) ([site](https://github.com/dani-garcia/vaultwarden)) ([src](https://github.com/dani-garcia/vaultwarden))
- [wallabag](#wallabag) ([site](https://www.wallabag.it/)) ([src](https://github.com/wallabag/wallabag))
- [zigbee2mqtt](#zigbee2mqtt) ([site](https://www.zigbee2mqtt.io/)) ([src](https://github.com/Koenkk/zigbee2mqtt))
#### authelia
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y authelia
#Edit /etc/authelia/configuration.yml
systemctl enable --now authelia
```
#### bitwarden-desktop
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y bitwarden-desktop
```
#### element-web
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install element-web
# sample configuration for apache2
cp /usr/share/doc/element-web/apache2-element-web.conf /etc/apache2/sites-available/element-web.conf
a2ensite element-web
# edit /etc/apache2/sites-available/element-web.conf
# edit /etc/element-web/config.json
systemctl restart apache2
```
#### flame
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
wget -qO - https://deb.nodesource.com/setup_16.x | bash
apt-get update
apt-get install -y flame
#Edit /etc/default/flame and change SECRET and PASSWORD
systemctl enable --now flame
```
#### gitea
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y gitea
systemctl enable --now gitea
#configuration with http://<ip>:3000
```
#### glpi
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install glpi libapache2-mod-php apache2 -y
gzip -dc /usr/share/doc/glpi/apache2-glpi.conf.gz > /etc/apache2/sites-available/glpi.conf
#edité le fichier de configuration apache
nano /etc/apache2/sites-available/glpi.conf
a2ensite glpi
systemctl reload apache2
#configuration with http://<ip>
```
#### gotify
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y gotify-server
#Edit /etc/gotify/config.yml
systemctl enable --now gotify
```
#### grocy
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y grocy
#Edit /etc/grocy/config.php
# sample configuration for apache2 + php fpm
apt install apache2 php-fpm
a2enmod proxy_fcgi setenvif rewrite
a2enconf php8.1-fpm
cp /usr/share/doc/grocy/apache2-grocy.conf /etc/apache2/sites-available/grocy.conf
a2ensite grocy
systemctl restart apache2
```
#### joplin
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y joplin
```
#### joplin-server
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
wget -qO - https://deb.nodesource.com/setup_16.x | bash
apt-get update
apt-get install -y joplin-server
#Edit /etc/default/joplin-server
systemctl enable --now joplin-server
```
#### mautrix-syncproxy and mautrix-wsproxy
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y mautrix-syncproxy mautrix-wsproxy
#Edit /etc/mautrix-wsproxy.yaml and /etc/default/mautrix-syncproxy
systemctl enable --now mautrix-wsproxy mautrix-syncproxy
```
#### mautrix-whatsapp
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y mautrix-whatsapp
#see https://docs.mau.fi/bridges/go/whatsapp/setup/index.html#configuring-and-running
systemctl enable --now mautrix-whatsapp
```
#### metabase
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y metabase openjdk-17-jre
systemctl enable --now metabase
#configuration with http://<ip>:3000
```
#### roundcubemail
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install roundcubemail
# sample configuration for apache2 + vhost
cp /usr/share/doc/roundcubemail/apache2-roundcubemail.conf /etc/apache2/sites-available/roundcubemail.conf
a2ensite roundcubemail
# edit /etc/apache2/sites-available/roundcubemail.conf
# edit /etc/roundcubemail/config.inc.php
systemctl restart apache2
```
#### rss-bridge
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install rss-bridge
# sample configuration for apache2
apt install libapache2-mod-php
cp /usr/share/doc/rss-bridge/apache2-rss-bridge.conf /etc/apache2/site-available/rss-bridge.conf
a2ensite rss-bridge
# edit /etc/apache2/site-available/rss-bridge.conf
systemctl restart apache2
```
#### rustdesk-server
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
#On Rendez-vous server
apt-get install -y rustdesk-server-hbbs
# edit /etc/default/hbbs
systemctl enable --now hbbs
#On Relay server
apt-get install -y rustdesk-server-hbbr
# edit /etc/default/hbbr
systemctl enable --now hbbr
```
#### tt-rss
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y tt-rss
#Edit /etc/tt-rss/config.php
systemctl enable --now tt-rss
# sample configuration for apache2 + php fpm
apt install apache2 php-fpm
a2enmod proxy_fcgi setenvif
a2enconf php7.4-fpm
cp /usr/share/doc/tt-rss/apache2-tt-rss.conf /etc/apache2/sites-available/tt-rss.conf
#edit /etc/apache2/sites-available/tt-rss.conf
a2ensite tt-rss
systemctl restart apache2
```
#### vaultwarden and vaultwarden-web
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install vaultwarden vaultwarden-web
#Edit /etc/default/vaultwarden
systemctl enable --now vaultwarden
```
#### wallabag
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt install wallabag
# sample configuration for apache2
apt install libapache2-mod-php
cp /usr/share/doc/wallabag/apache2-wallabag.conf /etc/apache2/site-available/wallabag.conf
a2ensite wallabag
# edit /etc/apache2/site-available/wallabag.conf
systemctl restart apache2
```
#### zigbee2mqtt
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y zigbee2mqtt
#Edit /etc/zigbee2mqtt/configuration.yaml
systemctl enable --now zigbee2mqtt
```