Add reset script and environment configuration for Seafile stack

Introduced a new reset.sh script to facilitate the removal of the Seafile stack and its associated data directories, with user confirmation to prevent accidental data loss. Additionally, added stack.env.portainer file containing environment variables for Seafile services, enhancing configuration management and deployment consistency.
This commit is contained in:
2025-12-21 21:59:06 -05:00
parent a4b69e2eaa
commit 5c0c55537e
2 changed files with 96 additions and 0 deletions

41
reset.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# Script to remove Seafile stack and volumes
STACK_NAME="seafile" # Change this to your actual stack name in Portainer
echo "Removing Seafile stack..."
docker stack rm $STACK_NAME
echo "Waiting for stack to be removed..."
sleep 10
echo "Removing Docker volumes..."
docker volume rm seafile_elasticsearch_data seafile_mysql_data seafile_shared seadoc_shared 2>/dev/null || true
echo "Removing data directories..."
echo "WARNING: This will delete all Seafile data!"
read -p "Are you sure you want to delete the data directories? (yes/no): " confirm
if [ "$confirm" = "yes" ]; then
sudo rm -rf /opt/seafile-elasticsearch/data
sudo rm -rf /opt/seafile-mysql/db
sudo rm -rf /opt/seafile-data
sudo rm -rf /opt/seadoc-data
echo "Creating empty directories..."
sudo mkdir -p /opt/seafile-elasticsearch/data
sudo mkdir -p /opt/seafile-mysql/db
sudo mkdir -p /opt/seafile-data
sudo mkdir -p /opt/seadoc-data
echo "Setting permissions..."
sudo chown -R 1000:1000 /opt/seafile-elasticsearch/data
sudo chown -R 999:999 /opt/seafile-mysql/db
sudo chown -R 1000:1000 /opt/seafile-data
sudo chown -R 1000:1000 /opt/seadoc-data
echo "Done! You can now redeploy the stack with your new admin email."
else
echo "Cancelled. Data directories were not deleted."
fi

55
stack.env.portainer Normal file
View File

@@ -0,0 +1,55 @@
SEAFILE_NODE=crackbox
SEAFILE_IMAGE=seafileltd/seafile-pro-mc:13.0-latest
SEAFILE_DB_IMAGE=mariadb:10.11
SEAFILE_REDIS_IMAGE=redis
SEAFILE_ELASTICSEARCH_IMAGE=elasticsearch:8.15.0
SEADOC_IMAGE=seafileltd/sdoc-server:2.0-latest
SEAFILE_ELASTICSEARCH_VOLUME=/opt/seafile-elasticsearch/data
SEAFILE_MYSQL_VOLUME=/opt/seafile-mysql/db
SEAFILE_VOLUME=/opt/seafile-data
SEADOC_VOLUME=/opt/seadoc-data
SEAFILE_SERVER_HOSTNAME=sf.lab
SEAFILE_SERVER_PROTOCOL=http
TIME_ZONE=Etc/UTC
JWT_PRIVATE_KEY=51a482da346fa9a7ea050600c30348b367f7a7144b814273e152c2c8f95965cc
SEAFILE_MYSQL_DB_HOST=db
SEAFILE_MYSQL_DB_PORT=3306
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=squirtle123456
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
SEADOC_MYSQL_DB_NAME=seahub_db
CACHE_PROVIDER=redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
MEMCACHED_HOST=memcached
MEMCACHED_PORT=11211
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=squirtle123456
INIT_SEAFILE_ADMIN_EMAIL=travis.vas@gmail.com
INIT_SEAFILE_ADMIN_PASSWORD=squirtle123
SEAFILE_SERVICE_URL=http://seafile
SITE_ROOT=/
NON_ROOT=false
SEAFILE_LOG_TO_STDOUT=false
ENABLE_SEADOC=true
SEAF_SERVER_STORAGE_TYPE=disk
S3_COMMIT_BUCKET=
S3_FS_BUCKET=
S3_BLOCK_BUCKET=
S3_KEY_ID=
S3_SECRET_KEY=
S3_USE_V4_SIGNATURE=true
S3_AWS_REGION=us-east-1
S3_HOST=
S3_USE_HTTPS=true
S3_PATH_STYLE_REQUEST=false
S3_SSE_C_KEY=
ENABLE_NOTIFICATION_SERVER=false
INNER_NOTIFICATION_SERVER_URL=http://notification-server:8083
NOTIFICATION_SERVER_URL=
ENABLE_SEAFILE_AI=false
SEAFILE_AI_SERVER_URL=http://seafile-ai:8888
MD_FILE_COUNT_LIMIT=100000