Created
June 6, 2024 12:50
-
-
Save USMortality/e7dfb39d1684d778f6e1bd5978ffc4c4 to your computer and use it in GitHub Desktop.
Deploy latest SFTPGo on Dokku Server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Variables | |
APP_NAME="sftpgo" | |
DOMAIN="ftp.example.com" | |
EMAIL="[email protected]" | |
ENABLE_LETS_ENCRYPT=true # Set to false to disable Let's Encrypt setup | |
# Create Dokku app | |
dokku apps:create $APP_NAME | |
# Set up domain | |
dokku domains:add $APP_NAME $DOMAIN | |
# Adjust ownership and permissions for storage | |
sudo chown -R dokku:dokku /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo | |
sudo chown -R dokku:dokku /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo | |
sudo chmod -R 755 /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo | |
sudo chmod -R 755 /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo | |
# Clean and recreate storage directories | |
rm -rf /var/lib/dokku/data/storage/$APP_NAME | |
sudo mkdir -p /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo | |
sudo mkdir -p /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo | |
sudo chown -R dokku:dokku /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo | |
sudo chown -R dokku:dokku /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo | |
sudo chmod -R 755 /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo | |
sudo chmod -R 755 /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo | |
# Mount storage directories | |
dokku storage:mount $APP_NAME /var/lib/dokku/data/storage/$APP_NAME/srv/sftpgo:/srv/sftpgo | |
dokku storage:mount $APP_NAME /var/lib/dokku/data/storage/$APP_NAME/var/lib/sftpgo:/var/lib/sftpgo | |
# Add docker options for ports | |
dokku docker-options:add $APP_NAME deploy "-p 8080:8080" | |
dokku docker-options:add $APP_NAME deploy "-p 2022:2022" | |
# Deploy from Docker image | |
dokku git:from-image $APP_NAME drakkan/sftpgo:latest | |
# Optional: Set up Let's Encrypt | |
if [ "$ENABLE_LETS_ENCRYPT" = true ]; then | |
dokku letsencrypt:set $APP_NAME email $EMAIL | |
dokku letsencrypt:enable $APP_NAME | |
dokku letsencrypt:cron-job --add | |
fi | |
# Add port mappings | |
dokku ports:add $APP_NAME http:80:8080 https:443:8080 | |
dokku ports:add $APP_NAME tcp:2022:2022 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment