How to Set Up an Offline Linux Server for DisplaySweet Projects
This article explains how to configure a Linux-based offline server using Nginx and AWS S3 sync to host DisplaySweet Presenter projects without internet access.
OVERVIEW
For projects requiring offline usage—such as restricted environments, remote locations, or exhibition builds—you can set up a local Linux server to host Presenter assets. This guide covers system prep, Nginx setup, AWS S3 sync automation, and domain configuration to ensure smooth offline operation.
Setting Up an Offline Server for Presenter Projects
Follow these steps to install dependencies, configure AWS syncing, and serve content locally via HTTPS.
Step 1: Update System & Install Nginx
-
Download project files from Google Drive
-
Place all files in:
/root/ -
Run the following commands:
sudo apt-get updatesudo apt install nginx -y
Step 2: Install AWS CLI (v2)
-
Manually install AWS CLI with:
wget "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -O "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install
Step 3: Configure S3 Sync Script
-
Open the sync script:
nano /root/s3_sync_.sh -
Update the S3 bucket path and sync parameters.
Step 4: Automate Sync with Cron
-
Edit crontab:
crontab -e -
Add the following jobs:
# Sync every night at midnight
0 0 * * * /root/s3_sync_.sh > /root/sync.log
# Sync at system boot
@reboot /root/s3_sync_.sh > /root/sync_boot.log
Step 5: Validate and Start Nginx
-
Move config files to correct locations:
- Move files from /root/nginx.conf to /etc/nginx/nginx.conf
mv /root/nginx.conf /etc/nginx/nginx.conf - Move files from /root/default to /etc/nginx/site-available/default
mv /root/default /etc/nginx/sites-available/default - Move files from /root/certificate.crt /etc/nginx/
mv /root/certificate.crt /etc/nginx/ - Move files from /root/private.key /etc/nginx/
mv /root/private.key /etc/nginx/
- Move files from /root/nginx.conf to /etc/nginx/nginx.conf
- Test and start Nginx:
sudo nginx -t
If the configuration is successful, run:
sudo systemctl enable nginxsudo systemctl start nginx
Step 6: Configure Offline Domain
-
Update domain inside
/etc/nginx/nginx.conf:-
Use:
offline.displaysweet.comorprojectname.displaysweet.com
-
-
Point your domain:
-
Locally via
/etc/hostsor router DNS -
Or configure via AWS Route 53 if external control is needed
-
Step 7: Test the Server
Open a test asset in a browser in pc in same network as offline server:
E.g
https://irongate.displaysweet.com/project_images/ChaletAlpina/1.0/3dassets/map/icon/Chalet_Alpina.png
Then:
-
Update the domain URL in your CMS (
cms.displaysweet.com) -
Use browser developer tools (F12) to inspect network traffic
-
Confirm assets are loading correctly
Step 8: Final QA
-
Have the testing team verify access and asset delivery at the client location
-
Confirm offline mode functionality across all expected content types
Copyable Setup Checklist ✅
You can copy this into your deployment doc:
-
Server updated and Nginx installed
-
AWS CLI installed and tested
-
s3_sync_.shscript configured -
Cron jobs set for daily and boot sync
-
Nginx config tested and active
-
Domain updated in
/etc/nginx/nginx.conf -
Local DNS or Route 53 configured
-
CMS domain updated to offline domain
-
Browser test of asset URLs successful
-
QA signed off at client location