This commit is contained in:
root 2022-01-23 21:49:01 +01:00
commit 363a876c22
88 changed files with 783 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
cache/
dist/

9
authelia2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=authelia
VERSION=4.33.2
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-4
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
element-web2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=element-web
VERSION=1.9.9
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-2
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
joplin-server2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=joplin-server
VERSION=2.7.3
GIT_VERSION=server-v$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
joplin2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=joplin
VERSION=2.7.8
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-6
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

115
lib/function.sh Normal file
View file

@ -0,0 +1,115 @@
#!/bin/bash
CACHE_APP=cache/${APP}/
CACHE_STEP1=cache/${DEBIAN_VERSION_CODENAME}
CACHE_STEP2=cache/${APP}/envinit
CACHE_STEP3=cache/${APP}/prebuild
CACHE_STEP4=cache/${APP}/build
#DownloadOs
step1() {
if [ ! -e ${CACHE_STEP1} ]
then
mkdir -p ${CACHE_STEP1}/proc
mount -t proc proc ${CACHE_STEP1}/proc
sleep 2
debootstrap ${DEBIAN_VERSION_CODENAME} ${CACHE_STEP1}
umount ${CACHE_STEP1}/proc
fi
}
#InstallOs
step2(){
if [ -e ressources/${APP}/envinit ]; then
if [ ! -e ${CACHE_STEP2} ] ; then
mkdir -p ${CACHE_APP}
cp -a ${CACHE_STEP1}/ ${CACHE_STEP2}
cp ressources/${APP}/envinit ${CACHE_STEP2}/tmp/envinit
mount -t proc proc ${CACHE_STEP2}/proc
sleep 2
chroot ${CACHE_STEP2} /tmp/envinit
umount ${CACHE_STEP2}/proc
rm ${CACHE_STEP2}/tmp/envinit
fi
fi
}
#ConfigureBeforeBuild
step3(){
if [ -e ressources/${APP}/prebuild ]; then
if [ ! -e ${CACHE_STEP3} ]; then
cp -a ${CACHE_STEP2} ${CACHE_STEP3}
cp ressources/${APP}/prebuild ${CACHE_STEP3}/tmp/prebuild
chroot ${CACHE_STEP3} /tmp/prebuild ${GIT_VERSION}
rm ${CACHE_STEP3}/tmp/prebuild
fi
fi
}
#Build
step4(){
if [ -e ressources/${APP}/build ]; then
if [ ! -e ${CACHE_STEP4} ] ; then
cp -a ${CACHE_STEP3} ${CACHE_STEP4}
cp ressources/${APP}/build ${CACHE_STEP4}/tmp/build
mount -t proc proc ${CACHE_STEP4}/proc/
sleep 2
chroot ${CACHE_STEP4} /tmp/build
umount ${CACHE_STEP4}/proc/
fi
fi
}
#PackageDeb
step5(){
rm -fr dist/${APP}
mkdir dist/${APP}
cp -fr ressources/${APP}/rootfs/* dist/$APP/
bash ressources/${APP}/makedeb ${CACHE_STEP4} dist/${APP} ${GIT_VERSION}
sed -i "s/%VERSION%/$DEB_VERSION/" dist/${APP}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build dist/${APP} dist
rm -fr dist/${APP}
}
allstep(){
step1
step2
step3
step4
step5
}
StartFromStep1(){
rm -fr ${CACHE_STEP1} ${CACHE_STEP2} ${CACHE_STEP3} ${CACHE_STEP4}
allstep
}
StartFromStep2(){
rm -fr ${CACHE_STEP2} ${CACHE_STEP3} ${CACHE_STEP4}
allstep
}
StartFromStep3(){
rm -fr ${CACHE_STEP3} ${CACHE_STEP4}
allstep
}
StartFromStep4(){
rm -fr ${CACHE_STEP4}
allstep
}
GotoStep1(){
chroot ${CACHE_STEP1}
}
GotoStep2(){
chroot ${CACHE_STEP2}
}
GotoStep3(){
chroot ${CACHE_STEP3}
}
GotoStep4(){
chroot ${CACHE_STEP4}
}

9
mautrix-whatsapp2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=mautrix-whatsapp
VERSION=0.2.3
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

5
ressources/authelia/build Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
cd /tmp/authelia/
. /root/.bashrc
PATH=$PATH:/usr/local/go/bin bash bootstrap.sh
PATH=$PATH:/usr/local/go/bin ./cmd/authelia-scripts/authelia-scripts build

9
ressources/authelia/envinit Executable file
View file

@ -0,0 +1,9 @@
#/bin/bash
apt install -y build-essential git wget ca-certificates
wget -qO - https://deb.nodesource.com/setup_16.x | bash
#wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg
#echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y nodejs
wget -qO - https://go.dev/dl/go1.17.3.linux-amd64.tar.gz | tar -C /usr/local -xz
wget -qO - https://get.pnpm.io/install.sh | sh -

View file

@ -0,0 +1,8 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp ${PATH_BUILD}/tmp/authelia/dist/authelia ${PATH_DEB}/usr/bin/authelia
cp ${PATH_BUILD}/tmp/authelia/config.template.yml ${PATH_DEB}/etc/authelia/configuration.yml

6
ressources/authelia/prebuild Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/authelia/authelia.git
cd authelia/
git checkout $VERSION

View file

@ -0,0 +1 @@
/etc/authelia/configuration.yml

View file

@ -0,0 +1,7 @@
Package: authelia
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: authelia

View file

@ -0,0 +1,4 @@
#!/bin/bash
id authelia &> /dev/null || useradd authelia -r -s /bin/false

View file

@ -0,0 +1,12 @@
[Unit]
Description=Authelia authentication and authorization server
After=multi-user.target
[Service]
User=authelia
Group=authelia
ExecStart=/usr/lib/authelia/authelia --config /etc/authelia/configuration.yml
SyslogIdentifier=authelia
[Install]
WantedBy=multi-user.target

4
ressources/element-web/build Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
cd /tmp/element-web
yarn install
yarn dist

7
ressources/element-web/envinit Executable file
View file

@ -0,0 +1,7 @@
#/bin/bash
apt install -y build-essential git python wget ca-certificates
wget -qO - https://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y yarn nodejs

View file

@ -0,0 +1,7 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
tar -zxf ${PATH_BUILD}/tmp/element-web/dist/element-${GIT_VERSION}-dirty.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/lib/element-web/
cp ${PATH_DEB}/usr/lib/element-web/config.sample.json ${PATH_DEB}/etc/element-web/config.json

View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/vector-im/element-web.git
cd element-web/
git checkout $VERSION

View file

@ -0,0 +1 @@
/etc/element-web/config.json

View file

@ -0,0 +1,7 @@
Package: element-web
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: element-web

View file

@ -0,0 +1,26 @@
<VirtualHost *:80>
ServerName first.domaine.com
ServerAlias second.domaine.com
ServerAlias third.domaine.com
DocumentRoot /usr/lib/element-web
Protocols h2c http/1.1
#default config ie first and third domaine
Alias /config.json /etc/element-web/config.json
#config for second domaine
Alias /config.second.domaine.com.json /etc/element-web/config.second.domaine.com.json
<directory /usr/lib/element-web>
Options none
AllowOverride None
Require all granted
</directory>
<directory /etc/element-web>
Options none
AllowOverride None
Require all granted
</directory>
</VirtualHost>

3
ressources/joplin-server/build Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
cd /tmp/joplin/
BUILD_SEQUENCIAL=1 yarn install

View file

@ -0,0 +1,7 @@
#/bin/bash
apt install -y build-essential git python wget ca-certificates
wget -qO - https://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y yarn nodejs

View file

@ -0,0 +1,7 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr ${PATH_BUILD}/tmp/joplin/packages/* ${PATH_DEB}/usr/lib/joplin-server/

View file

@ -0,0 +1,10 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/laurent22/joplin.git
cd joplin/
git checkout $VERSION
rm -fr packages/app*
rm -fr packages/generator-joplin
rm -fr packages/plugin-repo-cli
rm -fr packages/plugins

View file

@ -0,0 +1 @@
/etc/default/joplin-server

View file

@ -0,0 +1,8 @@
Package: joplin-server
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Depends: nodejs
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: joplin server

View file

@ -0,0 +1,8 @@
#!/bin/bash
id joplin-server &> /dev/null || useradd joplin-server -r -s /bin/false -md /var/lib/joplin-server
## issue https://github.com/laurent22/joplin/issues/5980
mkdir /usr/lib/joplin-server/server/temp/
mkdir /usr/lib/joplin-server/server/logs/
chown joplin-server:joplin-server /usr/lib/joplin-server/server/temp/
chown joplin-server:joplin-server /usr/lib/joplin-server/server/logs/

View file

@ -0,0 +1,60 @@
APP_NAME='Joplin Server'
APP_PORT=22300
SIGNUP_ENABLED=0
TERMS_ENABLED=0
ACCOUNT_TYPES_ENABLED=0
ERROR_STACK_TRACES=0
COOKIES_SECURE=0
RUNNING_IN_DOCKER=0
# Maxiumm allowed drift between NTP time and server time. A few
# milliseconds is normally not an issue unless many clients are modifying
# the same note at the exact same time. But past a certain limit it might
# mean the server clock is incorrect and should be fixed as that could
# result in clients generating many conflicts. Set to 0 to disable the
# check. https:#github.com/laurent22/joplin/issues/5738
MAX_TIME_DRIFT=2000
#==================================================
# URL config
#==================================================
#APP_BASE_URL=
USER_CONTENT_BASE_URL=
API_BASE_URL=
JOPLINAPP_BASE_URL='https:#joplinapp.org'
#==================================================
# Database config
#==================================================
DB_CLIENT='sqlite3'
DB_SLOW_QUERY_LOG_ENABLED=0
DB_SLOW_QUERY_LOG_MIN_DURATION=1000
DB_AUTO_MIGRATION=1
POSTGRES_PASSWORD='joplin'
POSTGRES_DATABASE='joplin'
POSTGRES_USER='joplin'
POSTGRES_HOST=
POSTGRES_PORT=5432
# This must be the full path to the database file
SQLITE_DATABASE=
#==================================================
# Content driver config
#==================================================
STORAGE_DRIVER='Type=Database'
STORAGE_DRIVER_FALLBACK=
#==================================================
# Mailer config
#==================================================
MAILER_ENABLED=0
MAILER_HOST=
MAILER_PORT=587
MAILER_SECURE=1
MAILER_AUTH_USER=
MAILER_AUTH_PASSWORD=
MAILER_NOREPLY_NAME=
MAILER_NOREPLY_EMAIL=
SUPPORT_EMAIL='SUPPORT_EMAIL'
SUPPORT_NAME=
BUSINESS_EMAIL=
#==================================================
# Stripe config
#==================================================
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

View file

@ -0,0 +1,17 @@
[Unit]
Description=joplin server
Documentation=https://github.com/laurent22/joplin
After=network.target
[Service]
User=joplin-server
Group=joplin-server
EnvironmentFile=/etc/default/joplin-server
ExecStart=/usr/bin/yarn --cwd /usr/lib/joplin-server/server/ start
WorkingDirectory=/var/lib/joplin-server/
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,7 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
wget https://github.com/laurent22/joplin/releases/download/v${GIT_VERSION}/Joplin-${GIT_VERSION}.AppImage -qO ${PATH_DEB}/usr/share/joplin/Joplin.AppImage
chmod +x ${PATH_DEB}/usr/share/joplin/Joplin.AppImage

View file

@ -0,0 +1,7 @@
Package: joplin
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: joplin

View file

@ -0,0 +1,2 @@
#!/bin/bash
/usr/share/joplin/Joplin.AppImage

View file

@ -0,0 +1,11 @@
[Desktop Entry]
Name=Joplin
Comment=Text Editor
GenericName=Text Editor
Exec=joplin
Icon=/usr/share/joplin/joplin.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Utility;TextEditor

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,4 @@
#/bin/bash
cd /tmp/whatsapp/
git checkout $1
PATH=$PATH:/usr/local/go/bin ./build.sh

View file

@ -0,0 +1,3 @@
#/bin/bash
apt install -y ca-certificates git libolm3 libolm-dev build-essential wget
wget -qO - https://go.dev/dl/go1.17.3.linux-amd64.tar.gz | tar -C /usr/local -xz

View file

@ -0,0 +1,7 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp ${PATH_BUILD}/tmp/whatsapp/mautrix-whatsapp ${PATH_DEB}/usr/lib/mautrix-whatsapp/mautrix-whatsapp
cp ${PATH_BUILD}/tmp/whatsapp/example-config.yaml ${PATH_DEB}/etc/mautrix-whatsapp/config.yaml

View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/mautrix/whatsapp.git
cd whatsapp/
git checkout $VERSION

View file

@ -0,0 +1 @@
/etc/mautrix-whatsapp/config.yaml

View file

@ -0,0 +1,8 @@
Package: mautrix-whatsapp
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Depends: libolm3
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: mautrix-whatsapp bridge

View file

@ -0,0 +1,4 @@
#!/bin/bash
id mautrix-whatsapp &> /dev/null || useradd mautrix-whatsapp -r -s /bin/false -md /var/lib/mautrix-whatsapp
chown mautrix-whatsapp:mautrix-whatsapp /etc/mautrix-whatsapp/

View file

@ -0,0 +1,35 @@
[Unit]
Description=mautrix-whatsapp bridge
[Service]
Type=exec
User=mautrix-whatsapp
WorkingDirectory=/var/lib/mautrix-whatsapp
ExecStart=/usr/lib/mautrix-whatsapp/mautrix-whatsapp -c /etc/mautrix-whatsapp/config.yaml
Restart=on-failure
RestartSec=30s
# Optional hardening to improve security
ReadWritePaths=/var/lib/mautrix-whatsapp /etc/mautrix-whatsapp
NoNewPrivileges=yes
MemoryDenyWriteExecute=true
PrivateDevices=yes
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=strict
ProtectControlGroups=true
RestrictSUIDSGID=true
RestrictRealtime=true
LockPersonality=true
ProtectKernelLogs=true
ProtectKernelTunables=true
ProtectHostname=true
ProtectKernelModules=true
PrivateUsers=true
ProtectClock=true
SystemCallArchitectures=native
SystemCallErrorNumber=EPERM
SystemCallFilter=@system-service
[Install]
WantedBy=multi-user.target

2
ressources/rss-bridge/build Executable file
View file

@ -0,0 +1,2 @@
#!/bin/bash

2
ressources/rss-bridge/envinit Executable file
View file

@ -0,0 +1,2 @@
#/bin/bash
apt install -y git

View file

@ -0,0 +1,16 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr ${PATH_BUILD}/tmp/rss-bridge ${PATH_DEB}/usr/share/
cp ${PATH_DEB}/usr/share/rss-bridge/config.default.ini.php ${PATH_DEB}/etc/rss-bridge/config.ini.php
cp ${PATH_DEB}/usr/share/rss-bridge/whitelist.default.txt ${PATH_DEB}/etc/rss-bridge/whitelist.txt
ln -s /etc/rss-bridge/config.ini.php ${PATH_DEB}/usr/share/rss-bridge/config.ini.php
ln -s /etc/rss-bridge/whitelist.txt ${PATH_DEB}/usr/share/rss-bridge/whitelist.txt
mkdir -p ${PATH_DEB}/var/cache/rss-bridge/cache/
rm ${PATH_DEB}/usr/share/rss-bridge/cache
ln -s /var/cache/rss-bridge/cache/ ${PATH_DEB}/usr/share/rss-bridge/cache

6
ressources/rss-bridge/prebuild Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/RSS-Bridge/rss-bridge.git
cd rss-bridge/
git checkout $VERSION

View file

@ -0,0 +1,2 @@
/etc/rss-bridge/config.ini.php
/etc/rss-bridge/whitelist.txt

View file

@ -0,0 +1,7 @@
Package: rss-bridge
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: rss-bridge

View file

@ -0,0 +1,2 @@
#!/bin/bash
chown www-data:www-data /var/cache/rss-bridge/cache

View file

@ -0,0 +1,11 @@
<VirtualHost *:80>
ServerName rss-bridge.domaine.com
DocumentRoot /usr/share/rss-bridge
<directory /usr/share/rss-bridge>
Options FollowSymLinks
AllowOverride None
Require all granted
</directory>
</VirtualHost>

View file

@ -0,0 +1,5 @@
#!/bin/bash
cd /tmp/web
PATH=$PATH:/tmp/web/bin
npm install
npm run build

View file

@ -0,0 +1,7 @@
#/bin/bash
apt install -y git build-essential python2 wget ruby-dev libxml2 libz-dev
wget -qO - https://deb.nodesource.com/setup_16.x | bash
wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update
apt-get install -y yarn nodejs

View file

@ -0,0 +1,6 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr ${PATH_BUILD}/tmp/web/* ${PATH_DEB}/usr/lib/standardnotes/web/

View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/standardnotes/web.git
cd web/
git checkout $VERSION

View file

@ -0,0 +1 @@
/etc/default/standardnotes-web

View file

@ -0,0 +1,8 @@
Package: standardnotes-web
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Depends: nodejs
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: standardnotes web

View file

@ -0,0 +1,4 @@
#!/bin/bash
id standardnotes-web &> /dev/null || useradd standardnotes-web -r -s /bin/false -md /usr/lib/standardnotes/web

View file

@ -0,0 +1,25 @@
RAILS_ENV=production
PORT=3004
WEB_CONCURRENCY=0
RAILS_LOG_TO_STDOUT=true
# Log Level options: "INFO" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL"
RAILS_LOG_LEVEL=INFO
RAILS_SERVE_STATIC_FILES=true
SECRET_KEY_BASE=test
APP_HOST=https://notes.lgy.fr
EXTENSIONS_MANAGER_LOCATION=extensions/extensions-manager/dist/index.html
SF_DEFAULT_SERVER=https://api.notes.lgy.fr
# Development options
DEV_DEFAULT_SYNC_SERVER=https://api.notes.lgy.fr
DEV_EXTENSIONS_MANAGER_LOCATION=public/extensions/extensions-manager/dist/index.html
ENABLE_UNFINISHED_FEATURES=false
DEV_WEBSOCKET_URL=https://notes.lgy.fr/ws
# NewRelic (Optional)
NEW_RELIC_ENABLED=false
NEW_RELIC_THREAD_PROFILER_ENABLED=false
NEW_RELIC_LICENSE_KEY=
NEW_RELIC_APP_NAME=Web
NEW_RELIC_BROWSER_MONITORING_AUTO_INSTRUMENT=false

View file

@ -0,0 +1,16 @@
[Unit]
Description=standardnote web
Documentation=https://github.com/standardnotes/web
After=network.target
[Service]
User=standardnotes
Group=standardnotes
EnvironmentFile=/etc/default/standardnotes-web
WorkingDirectory=/usr/lib/standardnotes/web
ExecStart=/usr/bin/npm run start
Restart=on-failure
RestartSec=60
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,4 @@
#!/bin/bash
cd /tmp/web-vault
npm install
npm run dist:oss:selfhost

View file

@ -0,0 +1,8 @@
#/bin/bash
apt install -y build-essential git python wget ca-certificates
wget -qO - https://deb.nodesource.com/setup_16.x | bash
#wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg
#echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list
apt-get update
#apt-get install -y yarn nodejs
apt-get install -y nodejs

View file

@ -0,0 +1,6 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr ${PATH_BUILD}/tmp/web-vault/build/* ${PATH_DEB}/usr/share/vaultwarden-web

View file

@ -0,0 +1,19 @@
#!/bin/bash
VERSION=$1
cd /tmp
git clone https://github.com/bitwarden/web.git web-vault
cd /tmp/web-vault
git checkout ${VERSION}
git submodule update --init --recursive
cd ..
git clone https://github.com/dani-garcia/bw_web_builds.git
cd bw_web_builds
PATCH=$(git tag --sort=v:refname | tail -n1)
git checkout ${PATCH}
cp patches/${PATCH}.patch ../web-vault/
cd /tmp/web-vault
git apply ${PATCH}.patch

View file

@ -0,0 +1,7 @@
Package: vaultwarden-web
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: web for vaultwarden

4
ressources/vaultwarden/build Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
cd /tmp/vaultwarden/
source ~/.cargo/env
cargo build --features sqlite,mysql,postgresql --release

6
ressources/vaultwarden/envinit Executable file
View file

@ -0,0 +1,6 @@
#/bin/bash
apt install -y --no-install-recommends build-essential git wget ca-certificates libmariadb-dev libpq-dev pkg-config libmysql++-dev
cd /tmp
wget -qO - https://sh.rustup.rs > rustup
bash rustup -qy
apt clean

View file

@ -0,0 +1,7 @@
#!/bin/bash
PATH_BUILD=$1
PATH_DEB=$2
GIT_VERSION=$3
cp -fr ${PATH_BUILD}/tmp/vaultwarden/target/release/vaultwarden ${PATH_DEB}/usr/lib/vaultwarden/

View file

@ -0,0 +1,6 @@
#!/bin/bash
VERSION=$1
cd /tmp/
git clone https://github.com/dani-garcia/vaultwarden.git
cd vaultwarden/
git checkout $VERSION

View file

@ -0,0 +1 @@
/etc/default/vaultwarden

View file

@ -0,0 +1,9 @@
Package: vaultwarden
Version: %VERSION%
Section: base
Priority: optional
Architecture: all
Depends: libmariadb-dev, libpq-dev, libmysql++-dev
Maintainer: Thomas Legay <thomas@syngate.fr>
Description: vaultwarden service

View file

@ -0,0 +1,4 @@
#!/bin/bash
id vaultwarden&> /dev/null || useradd vaultwarden -r -s /bin/false -md /var/lib/vaultwarden
chown vaultwarden:vaultwarden /var/lib/vaultwarden

View file

@ -0,0 +1,20 @@
#See src/config.rs
WEB_VAULT_FOLDER=/usr/share/vaultwarden-web/
DATA_FOLDER=/var/lib/vaultwarden/
SIGNUPS_ALLOWED=false
WEBSOCKET_ENABLED=true
ADMIN_TOKEN=
SMTP_HOST=
SMTP_FROM=
SMTP_PORT=
SMTP_SSL=true
SMTP_USERNAME=
SMTP_PASSWORD=
RUST_BACKTRACE=full
DOMAIN=https://vaultwarden.domain.com
ADMIN_TOKEN=
ROCKET_ADDRESS=0.0.0.0
WEBSOCKET_ENABLED=true
WEBSOCKET_ADDRESS=0.0.0.0
DATABASE_URL=

View file

@ -0,0 +1,32 @@
[Unit]
Description=vaultwarden Server (Rust Edition)
Documentation=https://github.com/dani-garcia/vaultwarden
After=network.target
# MariaDB
# After=network.target mariadb.service
# Requires=mariadb.service
# Mysql
# After=network.target mysqld.service
# Requires=mysqld.service
# PostgreSQL
# After=network.target postgresql.service
# Requires=postgresql.service
[Service]
User=vaultwarden
Group=vaultwarden
EnvironmentFile=/etc/default/vaultwarden
ExecStart=/usr/lib/vaultwarden/vaultwarden
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=strict
WorkingDirectory=/var/lib//vaultwarden/
ReadWriteDirectories=/var/lib/vaultwarden/
[Install]
WantedBy=multi-user.target

9
rss-bridge2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=rss-bridge
VERSION=2022-01-20
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
standardnotes-web2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=standardnotes-web
VERSION=10.9.0
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-1
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
vaultwarden-web2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=vaultwarden-web
VERSION=2.25.1
GIT_VERSION=v$VERSION
DEB_VERSION=$VERSION-2
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh

9
vaultwarden2deb Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
APP=vaultwarden
VERSION=1.23.1
GIT_VERSION=$VERSION
DEB_VERSION=$VERSION-3
DEBIAN_VERSION_CODENAME=bullseye
source ./lib/function.sh