Sakamoto is a basic and somewhat adorable web content management system written in Python.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nabla b007bd6f7f Merge branch 'echidna' 8 months ago
screenshots Added a screenshot for the readme 12 months ago
static Prepared for dual-sided hashing in the future 12 months ago
themes Bayer dither stream.webp 9 months ago
views Added "show_sakamoto_origin" 9 months ago
.gitignore Prepared for toml config 12 months ago
.gitmodules Comments are actually neat now! 12 months ago
LICENSE Initial commit 1 year ago Get submodules in clone 9 months ago
logo.png Added original sakamoto logo 12 months ago
requirements.txt Added production launch mode 12 months ago Placeholder adminopt 8 months ago
tips.json Finished documentation. Ish. 12 months ago

Sakamoto logo

GitHub license GitHub open issues GitHub closed issues GitHub commit activity GitHub contributors

Sakamoto is a basic and somewhat adorable web content management system written in Python. It was designed to be easy to understand, perform as fast as possible and to utilize and intuitive tree-menu system whereby all pages and links on a site are organized into a single tree/index.

Valhalla Theme Screenshot 01

This repository contains Sakamoto's core framework, default themes and default templates. A theme system is already available, and extensions may be on the way soon.

🚀  Installation and Configuration

Installing Sakamoto is usually fairly easy, but it depends on whether you intend to use it in a production environment or if you intend to contribute to the code.

Instructions for popular distributions have been provided here. You can adapt them for your own pretty easily.

Fedora Server 28+ OR Fedora Workstation 28+


# Install dependencies
sudo dnf install python3 python3-pip python3-devel python3-setuptools python3-virtualenv libev-devel git

# Clone from GitHub
git clone --recurse-submodules -j8 sakamoto

# Create virtual environment
mkdir sakamoto/environment
virtualenv sakamoto/environment
cd sakamoto

# Activate virtual environment
source environment/bin/activate

# Install more dependencies within virtual environment
pip3 install -r requirements.txt

# Perform first-time launch, which will create the primary config file

# Edit the config file (set default admin details, configure database access)
nano config.toml

# Deactivate virtual environment


source environment/bin/activate


Same instructions as Fedora, except replace the "Install Dependencies" stage with the following:

# Install dependencies
sudo apt update
sudo apt install software-properties-common git
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.8
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev libev-dev
sudo apt install python3.8-distutils python3.8-dev
sudo python3.8 -m pip install --upgrade pip setuptools wheel
python3.8 -m pip install --user virtualenv