Zenith

How to install Zenith on your Server and set it up in your browser

Installation

Installing Zenith on your Webserver

Installation

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
Installation

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:

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