Skip to content

bettaworx/ciel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

730 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ciel

An open source software, which enables making a self-hosted microblogging service

Status

This project is under development and is very unstable; there may be breaking changes. We do our best to avoid that since we operate a real server. But sometimes we have to make difficult choices.

Running Ciel

We recommend using Docker. Local setup (without Docker) is also supported for development.

Upgrading from an older installation? If your database was previously initialized via schema.sql (before the golang-migrate migration system was introduced), see docs/migrate-from-schema-sql.md for upgrade steps.

Setup with Docker

Prerequisites: Docker

Clone the repository and set up config files:

git clone https://github.com/bettaworx/ciel
cd ciel
cp .env.example .env
cp docker-compose.yml.example docker-compose.yml
cp apps/backend/config/config.yaml.example apps/backend/config/config.yaml

By default, the frontend and backend run independently: frontend on port 3000 and backend on port 6137. Set API_BASE_URL in .env to the backend URL that browsers can reach. A host-level reverse proxy is optional deployment infrastructure, not required by the application containers.

The frontend container does not proxy backend REST or WebSocket traffic. Browser clients call the backend directly using API_BASE_URL; the Next.js server uses INTERNAL_API_BASE_URL only for server-rendered assets such as icons and the web app manifest.

Operational settings are provided at runtime through Docker Compose and .env. Build provenance is the exception: frontend and backend images intentionally embed the source commit and branch so a running deployment can be verified.

Edit .env and set the required secrets (passwords, JWT secret, etc.):

nano .env

Build the images:

docker compose build

Base image digest update policy

To keep setup instructions focused, detailed policy guidance is documented separately:

Initialize the database (run once on first setup):

docker compose run --rm backend /app/migrate-db up

Start all services:

docker compose up

Database management (Docker)

# Apply all pending migrations
docker compose run --rm backend /app/migrate-db up

# Roll back the latest migration
docker compose run --rm backend /app/migrate-db down 1

# Roll back all migrations
docker compose run --rm backend /app/migrate-db down -all

License

MIT License

About

Self-hosted microblogging service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors