Presenton is an open-source AI-powered presentation generator that runs entirely on your local machine—no data tracking, no cloud dependency. Whether you’re using OpenAI, Gemini, or your own models via Ollama, Presenton helps you create stunning presentations from simple prompts or outlines. With support for custom themes, image providers like Pexels or DALL·E 3, and export options in PPTX and PDF, it’s a privacy-first alternative to Gamma, Beautiful.ai, and Decktopus—perfect for creators, educators, and teams.
Resource
GitHub
Link: https://github.com/presenton/presenton
Step-by-Step Process to Install Presenton
For the purpose of this tutorial, we will use a CPU-powered Virtual Machine offered by NodeShift; however, you can replicate the same steps with any other cloud provider of your choice. NodeShift provides the most affordable Virtual Machines at a scale that meets GDPR, SOC2, and ISO27001 requirements.
Step 1: Sign Up and Set Up a NodeShift Cloud Account
Visit the NodeShift Platform and create an account. Once you’ve signed up, log into your account.
Follow the account setup process and provide the necessary details and information.
Step 2: Create a Compute Node (CPU Virtual Machine)
NodeShift Compute Nodes offers flexible and scalable on-demand resources like NodeShift Virtual Machines which are easily deployed and come with general-purpose, CPU-powered, or storage-optimized nodes.
- Navigate to the menu on the left side.
- Select the Compute Nodes option.
- Click the Create Compute Nodes button in the Dashboard to create your first deployment.
Step 3: Select Virtual Machine Uptime Guarantee & Region
- Choose the Virtual Machine Uptime Guarantee option based on your needs. NodeShift offers an uptime SLA of 99.99% for high reliability.
- Click on the “Show reliability info” to review detailed SLA and reliability options.
- In the “Compute Nodes” tab, select a geographical region where you want to launch the Virtual Machine (e.g., the United States).
Step 4: Choose VM Configuration
- NodeShift provides two options for VM configuration:
- Manual Configuration: Adjust the CPU, RAM, and Storage to your specific requirements.
- Select the number of CPUs (1–128).
- Choose the amount of RAM (1 GB–1TB).
- Specify the storage size (20 GB–4 TB).
- Predefined Configuration: Choose from predefined configurations optimized for General Purpose, CPU-Powered, or Storage-Optimized nodes.
- If you prefer custom specifications, manually configure the CPU, RAM, and Storage. Otherwise, select a predefined VM configuration suitable for your workload.
Step 5: Choose an Image
Next, you will need to choose an image for your Virtual Machine. We will deploy the VM on Ubuntu, but you can choose according to your preference. Other options like CentOS and Debian are also available to Install Presenton.
Step 6: Choose the Billing Cycle & Authentication Method
- Select the billing cycle that best suits your needs. Two options are available: Hourly, ideal for short-term usage and pay-as-you-go flexibility, or Monthly, perfect for long-term projects with a consistent usage rate and potentially lower overall cost.
- Select the authentication method. There are two options: Password and SSH Key. SSH keys are a more secure option. To create them, refer to our official documentation.
Step 7: Additional Details & Complete Deployment
- The ‘Finalize Details’ section allows users to configure the final aspects of the Virtual Machine.
- After finalizing the details, click the ‘Create’ button, and your Virtual Machine will be deployed.
Step 8: Virtual Machine Successfully Deployed
You will get visual confirmation that your node is up and running.
Step 9: Connect via SSH
- Open your terminal
- Run the SSH command:
For example, if your username is root
, the command would be:
ssh root@ip
- If SSH keys are set up, the terminal will authenticate using them automatically.
- If prompted for a password, enter the password associated with the username on the VM.
- You should now be connected to your VM!
Step 10: Update the Package Index
Before installing Docker, it’s good practice to update the package index to ensure you have the latest version of the repository.
Run the following command to update the package index:
sudo apt update
Step 11: Install Prerequisites
Install the required dependencies that allow apt
to use packages over HTTPS.
Run the following command to install prerequisites:
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Step 12: Add Docker’s Official GPG Key
Add Docker’s GPG key to verify the authenticity of the packages.
Run the following command to add docker official gpg key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Step 13: Set up Docker’s Stable Repository
Now, add Docker’s official repository to your APT sources list.
Run the following command to setup docker stable repository:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Step 14: Update the Package Index Again and Install Docker
Run the update commands to include the docker repository and install docker:
sudo apt update
sudo apt install docker-ce
Step 15: Start & Enable Docker and Verify Docker Installation
Once installed, start Docker and ensure it starts automatically when your system boots.
Run the following commands to start & enable docker and verify docker version:
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version
Step 16: Test Docker Installation
Test your Docker installation by running the hello-world
container.
docker run hello-world
Step 17: Run Presenton with OpenAI LLM and DALL·E Image Provider
Execute the following docker run
command to start the Presenton container with OpenAI as the LLM and DALL·E 3 as the image provider. Replace the OPENAI_API_KEY
value with your actual API key:
docker run -it --name presenton \
-p 5000:80 \
-e LLM="openai" \
-e OPENAI_API_KEY="sk-proj-<your-openai-key>" \
-e IMAGE_PROVIDER="dall-e-3" \
-e CAN_CHANGE_KEYS="false" \
-v "$(pwd)/app_data:/app_data" \
ghcr.io/presenton/presenton:latest
What This Does:
- Launches the Presenton app on port 5000
- Uses OpenAI for the language model
- Uses DALL·E 3 for image generation
- Mounts
./app_data
as persistent volume inside the container
What You’ll See:
- Presenton will generate a new SSH key if one does not exist at
/root/.ollama/id_ed25519
- It will log key environment variables like
OLLAMA_HOST
, OLLAMA_CONTEXT_LENGTH
, and GPU info
- The app will start the backend (FastAPI) and frontend (Next.js) servers
You’re now ready to access Presenton at:
http://<your-vm-ip>:5000
For example:
http://84.32.131.93:5000
Step 18: Create Your First Presentation
Once the Presenton application is running, open it in your browser at:
http://<your-vm-ip>:5000
(Example: http://84.32.131.93:5000)
Fill in Presentation Details
- Enter a brief description of your presentation in the text box.
Example: “The Future of Cloud Gaming”
- Choose number of slides using the dropdown.
You can generate from 4 to 20 slides.
- Select your preferred language (default is English).
- (Optional) Upload any supporting documents like:
- PDFs
- Text files
- PPTX or DOCX
These help the model better understand your content.
- Click the “Next” button to proceed.
View and Customize Slide Content
After processing, Presenton will automatically generate your slide structure.
- You’ll see titles and bullet points for each slide.
- Content includes:
- Introduction
- Tech Foundations
- Current Trends
- Advantages
- …and more based on your prompt.
You can review or edit the outline before proceeding.
Click on “Select a Layout Style” to move to the next step — customizing how your slides will look.
Step 19: Run Presenton with Ollama LLM and Pexels Image Provider
To run Presenton using a local Ollama model (qwen3:14b
) and Pexels as the image provider, use the following docker command:
docker run -it --name presenton \
-p 5000:80 \
-e LLM="ollama" \
-e OLLAMA_MODEL="qwen3:14b" \
-e OLLAMA_URL="http://localhost:11434" \
-e IMAGE_PROVIDER="pexels" \
-e PEXELS_API_KEY="YOUR_PEXELS_API_KEY" \
-e CAN_CHANGE_KEYS="false" \
-v "$(pwd)/app_data:/app_data" \
ghcr.io/presenton/presenton:latest
The Pexels API is a free and powerful tool that allows developers to access a vast library of high-quality stock photos and videos provided by the Pexels platform. To get started, simply visit pexels.com/api, sign up for a free account, and generate your personal API key from the dashboard. This key gives you access to curated and searchable content without any cost or subscription, making it ideal for building apps, creating visual presentations, or enhancing AI-powered tools like Presenton. The API comes with generous rate limits and clear documentation, making integration simple and developer-friendly.
Breakdown:
-p 5000:80
: Maps port 80 in the container to 5000 on the host.
LLM="ollama"
: Tells Presenton to use Ollama as the LLM backend.
OLLAMA_MODEL="qwen3:14b"
: Specifies the model to run via Ollama.
OLLAMA_URL="http://localhost:11434"
: URL where Ollama is listening.
IMAGE_PROVIDER="pexels"
: Uses Pexels for fetching images.
PEXELS_API_KEY
: Replace "YOUR_PEXELS_API_KEY"
with your actual API key.
CAN_CHANGE_KEYS="false"
: Prevents changes to keys from UI.
-v "$(pwd)/app_data:/app_data"
: Mounts a volume for persistent data.
Once the container starts, visit:
http://<your-ip>:5000 (e.g., http://84.32.131.93:5000
)
Step 20: Generate Your Presentation from Prompt
Once you’ve launched Presenton in your browser at http://<your-ip>:5000
, you’ll see a clean interface where you can start crafting your presentation.
- Enter a Prompt
Write a detailed and clear prompt describing the presentation you want. For example:
“Create a presentation on ‘Exploring Northeast India’ with 5 slides covering why visit, best time, top destinations, culture, and travel tips.”
- Review the Outline
Presenton will auto-generate the outline and content for each slide. You can freely edit the content here — refine headings, bullet points, or add more context if needed.
- Click “Select a Layout Style”
After finalizing the content, click the “Select a Layout Style” button to move to the visual design phase.
- AI-Powered Presentation Generation
Once you select a layout, Presenton begins crafting your slides with AI-generated designs and visuals. You’ll see a loading screen with:
“Creating Your Presentation – We’re crafting your presentation with AI magic
Conclusion
Presenton stands out as a powerful, open-source, privacy-first alternative to traditional presentation tools. Whether you’re generating decks with OpenAI, running local models via Ollama, or enriching visuals with free APIs like Pexels, Presenton gives you full control—without compromising your data or relying on the cloud. It’s fast, flexible, and built for creators, educators, developers, and teams who value autonomy and customization. With support for multiple LLMs, visual themes, and export formats like PDF and PPTX, Presenton transforms your ideas into polished presentations—right from a simple prompt, entirely on your own terms.