Compare commits

...

53 Commits

Author SHA1 Message Date
Dave Yap
1758c33e00
Merge 9092e13601 into 712ff6f5cc 2025-03-04 02:14:20 +00:00
Dave Yap
9092e13601
Update seafile-install.sh 2025-03-04 10:14:16 +08:00
community-scripts-pr-app[bot]
712ff6f5cc
Update CHANGELOG.md (#2804)
Some checks are pending
Shellcheck / Shellcheck (push) Waiting to run
Create Changelog Pull Request / update-changelog-pull-request (push) Waiting to run
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-03 21:56:28 +01:00
Dave Yap
916a5f54dd
Merge branch 'community-scripts:main' into main 2025-03-02 21:21:17 +08:00
Dave Yap
77a0ce3b50
Merge branch 'community-scripts:main' into main 2025-03-01 23:26:38 +08:00
Dave Yap
59b37aee69
Merge branch 'community-scripts:main' into main 2025-02-28 00:29:12 +08:00
Dave Yap
6632583a6d Remove python lib deps version pinning 2025-02-28 00:28:46 +08:00
Dave Yap
6dc313a025
Merge branch 'community-scripts:main' into main 2025-02-27 19:30:37 +08:00
Dave Yap
38beeaefbb Fix typo 2025-02-27 19:30:17 +08:00
Dave Yap
fda506a57b
Merge branch 'community-scripts:main' into main 2025-02-27 13:58:39 +08:00
Dave Yap
e56e86dbdc Update seafile-install.sh
Missing -y
2025-02-27 12:28:37 +08:00
Dave Yap
5ee78fb2a7 Move dependencies
Move Python installation and dependencies down to Python block. Fix typos.
2025-02-27 12:13:57 +08:00
Dave Yap
d2265a056f Updated script
Corrected source and remove comments
2025-02-27 12:10:13 +08:00
Dave Yap
a90e81c209 Update seafile-install.sh 2025-02-26 19:21:31 +08:00
Dave Yap
6ace35b41f Update seafile-install.sh
Removed sudo and tarball when cleaning up.
2025-02-26 18:37:14 +08:00
Dave Yap
04b56c31f4 Merge branch 'main' of https://github.com/dave-yap/ProxmoxVE 2025-02-26 18:13:44 +08:00
Dave Yap
8a3684979c Created Seafile script 2025-02-26 18:13:18 +08:00
Dave Yap
7d2dbb6c9d
Merge branch 'community-scripts:main' into main 2025-02-26 18:12:04 +08:00
Dave Yap
10fe3b049f
Merge branch 'community-scripts:main' into main 2025-02-25 20:42:11 +08:00
Dave Yap
bc7f057af1
Merge branch 'community-scripts:main' into main 2025-02-25 18:38:41 +08:00
Dave Yap
48243e6b43
Merge branch 'community-scripts:main' into main 2025-02-25 16:17:03 +08:00
Dave Yap
5919ea12a1
Merge branch 'community-scripts:main' into main 2025-02-10 16:33:08 +08:00
Michel Roegl-Brunner
5c5f39ab8a
Update zitadel-install.sh 2025-02-10 09:23:41 +01:00
Michel Roegl-Brunner
736845d209
Update zitadel.sh, Remove v befor ${RELEASE} 2025-02-10 09:22:05 +01:00
CanbiZ
5c64aceb84
Set update part default to our project defaults 2025-02-10 09:10:03 +01:00
Dave Yap
f44461fb0a
Merge branch 'community-scripts:main' into main 2025-02-10 14:14:06 +08:00
Dave Yap
91b36b22c6 Update path for version.txt 2025-02-10 14:11:29 +08:00
Dave Yap
5e639f6dcb Merge branch 'main' of https://github.com/dave-yap/ProxmoxVE 2025-02-10 14:00:29 +08:00
Dave Yap
46059d1aa3 Update zitadel-install.sh 2025-02-10 13:58:58 +08:00
Dave Yap
6422100d85 Update zitadel-install.sh
correct version output
2025-02-10 13:50:24 +08:00
Dave Yap
b67bb838be Made changes to fit suggestions 2025-02-10 13:41:53 +08:00
Dave Yap
31d19319d8
Update zitadel-install.sh
Co-authored-by: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
2025-02-09 20:37:59 +08:00
Dave Yap
2b713a7b89
Update zitadel-install.sh
Co-authored-by: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
2025-02-09 20:26:16 +08:00
Dave Yap
c31503217b
Update zitadel.sh
Co-authored-by: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
2025-02-09 20:26:09 +08:00
Dave Yap
f5ba8e9373
Merge branch 'community-scripts:main' into main 2025-02-09 18:38:36 +08:00
Dave Yap
25b6891c8e Update to fit changes requested
Include mc for install; removal of variable ARCH and put into direct links; correct the default resources required
2025-02-08 17:43:57 +08:00
Dave Yap
f8ebda4852 Remove other architectures 2025-02-08 17:19:54 +08:00
Dave Yap
167bcb92ce
Merge branch 'community-scripts:main' into main 2025-02-08 08:30:40 +08:00
Dave Yap
6d05829b61
Use declared variables in config files 2025-02-08 01:54:17 +08:00
Dave Yap
c6bd4e829a
Update zitadel.json
Co-authored-by: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
2025-02-08 01:46:37 +08:00
Dave Yap
bcb5b9f5bf
Update zitadel.sh
Co-authored-by: bvdberg01 <74251551+bvdberg01@users.noreply.github.com>
2025-02-08 01:42:47 +08:00
Dave Yap
42307b7849
Update zitadel-install.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:33:00 +08:00
Dave Yap
c2752de4ad
Update zitadel-install.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:32:46 +08:00
Dave Yap
37b60fea41
Update zitadel.sh 2025-02-08 01:30:11 +08:00
Dave Yap
ac794b9466
Update zitadel.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:25:35 +08:00
Dave Yap
523a243fd0
Update zitadel.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:25:29 +08:00
Dave Yap
603127f873
Update zitadel.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:25:23 +08:00
Dave Yap
568f6de72f
Update zitadel.sh
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:25:17 +08:00
Dave Yap
43d1337187
Update zitadel.json
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-02-08 01:23:27 +08:00
Dave Yap
3875f1c0d0
Update zitadel.sh
Edit reference back to upstream build.func
2025-02-07 23:49:04 +08:00
Dave Yap
e07d54ae28
Create zitadel.sh 2025-02-07 23:48:22 +08:00
Dave Yap
d84ae0b197
Create zitadel.json 2025-02-07 23:47:21 +08:00
Dave Yap
80eb4ae0bc
Create zitadel-install.sh 2025-02-07 23:46:25 +08:00
4 changed files with 355 additions and 1 deletions

View File

@ -24,12 +24,13 @@ All LXC instances created using this repository come pre-installed with Midnight
- #### 🐞 Bug Fixes
- Zigbee2Mqtt Use fixed pnpm Version 10.4.1 [@MickLesk](https://github.com/MickLesk) ([#2805](https://github.com/community-scripts/ProxmoxVE/pull/2805))
- Linkwarden: Fix & Update Monolith-Installation [@MickLesk](https://github.com/MickLesk) ([#2787](https://github.com/community-scripts/ProxmoxVE/pull/2787))
- #### ✨ New Features
- Feature Template Path for Mountings [@MickLesk](https://github.com/MickLesk) ([#2785](https://github.com/community-scripts/ProxmoxVE/pull/2785))
- Feature: MinIO use now static port 9001 [@MickLesk](https://github.com/MickLesk) ([#2786](https://github.com/community-scripts/ProxmoxVE/pull/2786))
- Feature Template Path for Mountings [@MickLesk](https://github.com/MickLesk) ([#2785](https://github.com/community-scripts/ProxmoxVE/pull/2785))
### 🌐 Website
@ -37,6 +38,10 @@ All LXC instances created using this repository come pre-installed with Midnight
- Feature: Website - show default OS [@MickLesk](https://github.com/MickLesk) ([#2790](https://github.com/community-scripts/ProxmoxVE/pull/2790))
- #### 📝 Script Information
- Update zigbee2mqtt.json - make sure link is clickable [@gurtjun](https://github.com/gurtjun) ([#2802](https://github.com/community-scripts/ProxmoxVE/pull/2802))
## 2025-03-02
### 🚀 Updated Scripts

43
ct/seafile.sh Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: dave-yap (dave-yap)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://seafile.com/
APP="Seafile"
var_tags="documents"
var_cpu="2"
var_ram="2048"
var_disk="20"
var_os="debian"
var_version="12"
var_unprivileged="1"
header_info "$APP"
base_settings
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/seafile.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_ok "No upgrade path available now."
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

263
install/seafile-install.sh Normal file
View File

@ -0,0 +1,263 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: dave-yap
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://seafile.com/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \
sudo \
mc \
wget \
expect
msg_ok "Installed Dependencies"
msg_info "Installing MariaDB"
$STD apt-get install -y mariadb-server
systemctl start mariadb
msg_ok "Installed MariaDB"
msg_info "Setup MariaDB for Seafile"
CCNET_DB="ccnet_db"
SEAFILE_DB="seafile_db"
SEAHUB_DB="seahub_db"
DB_USER="seafile"
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
ADMIN_EMAIL="admin@localhost.local"
ADMIN_PASS="helper-scripts"
sudo -u mysql mysql -s -e "CREATE DATABASE $CCNET_DB CHARACTER SET utf8;"
sudo -u mysql mysql -s -e "CREATE DATABASE $SEAFILE_DB CHARACTER SET utf8;"
sudo -u mysql mysql -s -e "CREATE DATABASE $SEAHUB_DB CHARACTER SET utf8;"
sudo -u mysql mysql -s -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
sudo -u mysql mysql -s -e "GRANT ALL PRIVILEGES ON $CCNET_DB.* TO '$DB_USER'@localhost;"
sudo -u mysql mysql -s -e "GRANT ALL PRIVILEGES ON $SEAFILE_DB.* TO '$DB_USER'@localhost;"
sudo -u mysql mysql -s -e "GRANT ALL PRIVILEGES ON $SEAHUB_DB.* TO '$DB_USER'@localhost;"
{
echo "Application Credentials"
echo "CCNET_DB: $CCNET_DB"
echo "SEAFILE_DB: $SEAFILE_DB"
echo "SEAHUB_DB: $SEAHUB_DB"
echo "DB_USER: $DB_USER"
echo "DB_PASS: $DB_PASS"
echo "ADMIN_EMAIL: $ADMIN_EMAIL"
echo "ADMIN_PASS: $ADMIN_PASS"
} >> ~/seafile.creds
msg_ok "MariaDB setup for Seafile"
msg_info "Installing Seafile Python Dependencies"
$STD apt-get install -y \
python3 \
python3-dev \
python3-setuptools \
python3-pip \
libmariadb-dev \
ldap-utils \
libldap2-dev \
libsasl2-dev \
pkg-config
$STD pip3 install \
django \
future \
mysqlclient \
pymysql \
pillow \
pylibmc \
captcha \
markupsafe \
jinja2 \
sqlalchemy \
psd-tools \
django-pylibmc \
django_simple_captcha \
djangosaml2 \
pysaml2 \
pycryptodome \
cffi \
lxml \
python-ldap
msg_ok "Installed Seafile Python Dependecies"
msg_info "Installing Seafile"
IP=$(ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1)
mkdir -p /opt/seafile
useradd seafile
mkdir -p /home/seafile
chown seafile: /home/seafile
chown seafile: /opt/seafile
su - seafile -c "wget -qc https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz"
su - seafile -c "tar -xzf seafile-server_11.0.13_x86-64.tar.gz -C /opt/seafile/"
$STD su - seafile -c "expect <<EOF
spawn bash /opt/seafile/seafile-server-11.0.13/setup-seafile-mysql.sh
expect {
\"Press ENTER to continue\" {
send \"\r\"
}
}
expect {
\"What is the name of the server\" {
send \"Seafile\r\"
}
}
expect {
\"What is the ip or domain of the server\" {
send \"$IP\r\"
}
}
expect {
\"Which port do you want to use for the seafile fileserver\" {
send \"8082\r\"
}
}
expect {
\"1 or 2\" {
send \"2\r\"
}
}
expect {
\"What is the host of mysql server\" {
send \"localhost\r\"
}
}
expect {
\"What is the port of mysql server\" {
send \"3306\r\"
}
}
expect {
\"Which mysql user to use for seafile\" {
send \"seafile\r\"
}
}
expect {
\"What is the password for mysql user\" {
send \"$DB_PASS\r\"
}
}
expect {
\"Enter the existing database name for ccnet\" {
send \"$CCNET_DB\r\"
}
}
expect {
\"Enter the existing database name for seafile\" {
send \"$SEAFILE_DB\r\"
}
}
expect {
\"Enter the existing database name for seahub\" {
send \"$SEAHUB_DB\r\"
}
}
expect {
\"Press ENTER to continue, or Ctrl-C to abort\" {
send \"\r\"
}
}
expect eof
EOF"
msg_ok "Installed Seafile"
msg_info "Setting up Memcached"
$STD apt-get install -y \
memcached \
libmemcached-dev
$STD pip3 install \
pylibmc \
django-pylibmc
systemctl enable --now -q memcached
cat <<EOF >>/opt/seafile/conf/seahub_settings.py
CACHES = {
'default': {
'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
'LOCATION': '127.0.0.1:11211',
},
}
EOF
msg_ok "Memcached Started"
msg_info "Adjusting Conf files"
sed -i "0,/127.0.0.1/s/127.0.0.1/0.0.0.0/" /opt/seafile/conf/gunicorn.conf.py
msg_ok "Conf files adjusted"
msg_info "Setting up Seafile"
$STD su - seafile -c "/opt/seafile/seafile-server-latest/seafile.sh start"
$STD su - seafile -c "expect <<EOF
spawn /opt/seafile/seafile-server-latest/seahub.sh start
expect {
\"email\" {
send \"admin@localhost.local\r\"
}
}
expect {
\"password\" {
send \"helper-scripts\r\"
}
}
expect {
\"password again\" {
send \"helper-scripts\r\"
}
}
expect eof
EOF"
$STD su - seafile -c "/opt/seafile/seafile-server-latest/seahub.sh stop"
$STD su - seafile -c "/opt/seafile/seafile-server-latest/seafile.sh stop"
msg_ok "Seafile setup"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/seafile.service
[Unit]
Description=Seafile File-hosting
After=network.target mysql.service memcached.service
Wants=mysql.service memcached.service
[Service]
Type=forking
User=seafile
Group=seafile
WorkingDirectory=/opt/seafile
ExecStart=/opt/seafile/seafile-server-latest/seafile.sh start
ExecStartPost=/opt/seafile/seafile-server-latest/seahub.sh start
ExecStop=/opt/seafile/seafile-server-latest/seahub.sh stop
ExecStop=/opt/seafile/seafile-server-latest/seafile.sh stop
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now seafile.service
msg_ok "Created Services"
msg_info "Creating External Storage script"
cat <<'EOF' >~/external-storage.sh
#!/bin/bash
STORAGE_DIR="/path/to/your/external/storage"
# Move the seafile-data folder to external storage
mv /opt/seafile/seafile-data $STORAGE_DIR/seafile-data
# Create a symlink for access
ln -s $STORAGE_DIR/seafile-data /opt/seafile/seafile-data
EOF
msg_ok "Bash Script for External Storage created"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf seafile-server_11.0.13_x86-64.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

43
json/seafile.json Normal file
View File

@ -0,0 +1,43 @@
{
"name": "Seafile",
"slug": "Seafile",
"categories": [
12
],
"date_created": "2025-02-25",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 8000,
"documentation": "https://manual.seafile.com/11.0/deploy",
"website": "https://seafile.com",
"logo": "https://manual.seafile.com/11.0/media/seafile-transparent-1024.png",
"description": "Seafile is an open source file sync and share platform, focusing on reliability and performance.",
"install_methods": [
{
"type": "default",
"script": "ct/seafile.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 20,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Application credentials: `cat ~/seafile.creds`",
"type": "info"
},
{
"text": "Change STORAGE_DIR value in `external-storage.sh` and run `bash external-storage.sh` to use your defined storage instead of internal.",
"type": "info"
}
]
}