Installation
Installing Zenith on your Webserver
Installation via Docker
This guide explains how to run Zenith using Docker.
The container already includes a preconfigured Nginx web server.
Image location:
git.crystalsky.dev/crystalsky/zenith:latest
Prerequisites
Make sure docker and the compose-plugin is installed. Install Docker and compose-plugin
1. Prepare the Directory
Create a directory for the installation.
mkdir zenith
cd zenith
2. Docker Compose Installation
Create a docker-compose.yml file.
services:
zenith:
image: git.crystalsky.dev/crystalsky/zenith:latest
container_name: zenith
ports:
- "8000:80"
restart: unless-stopped
Start the container:
docker compose up -d
Stop it:
docker compose down
Updating the Container
Pull the update and restart the container:
docker compose pull
docker compose up -d
Manual installation
This guide explains how to manually install and host Zenith using a web server.
The example server used here is Caddy because it has the easiest SSL-setup, but any web server (Nginx, Apache, etc.) will work.
1. Requirements
You need:
- A Linux server
- Root or sudo access
- A domain or IP address
- Basic terminal knowledge
Install the required tools:
Debian/Ubuntu:
sudo apt update
sudo apt install git curl
2. Install Caddy
Install Caddy using the official repository.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Check if it works:
caddy version
3. Download the Project
Clone the repository.
git clone https://git.crystalsky.dev/CrystalSky/zenith.git
cd zenith
Your project should look like this:
Dockerfile
images.txt
index.html
README.md
script.js
stylesheet.css
4. Move the Files to the Web Directory
Create a directory for the website.
sudo mkdir -p /var/www/zenith
Copy the files:
sudo cp -r * /var/www/zenith
Set permissions:
sudo chown -R caddy:caddy /var/www/zenith
5. Configure Caddy
Edit the Caddy configuration:
sudo nano /etc/caddy/Caddyfile
Example configuration:
example.com {
root * /var/www/zenith
file_server
}
If you don't have a domain yet, you can also use:
:80 {
root * /var/www/zenith
file_server
}
Save the file. (Ctrl+X, y then enter)
6. Restart Caddy
Reload the configuration:
sudo systemctl reload caddy
Or restart:
sudo systemctl restart caddy
Check the status:
systemctl status caddy
7. Open the Website
Open your browser and visit:
http://your-server-ip
or
https://your-domain
You should now see Zenith.
8. Updating the Site
To update the site:
cd zenith
git pull
sudo cp -r * /var/www/zenith
Notes
- All files are served as static content.
- No build step is required.
- The
Dockerfilenot relevant for manual installation.