Introduction to Opengist
Opengist is an open-source platform designed to offer a self-hosted alternative to popular pastebin services like GitHub Gist. The essence of Opengist lies in its use of Git technology, allowing users to store and manage code snippets within a Git repository. This integration ensures that all snippets can be seamlessly read and modified using the standard Git commands or through an intuitive web interface.
Positioned as a powerful tool for developers, Opengist emphasizes flexibility and control, as it can be self-hosted and customized to fit individual needs. The project’s logo and more specific information can be viewed on their Home Page.
Features
Opengist is packed with a variety of features that enhance its usability and appeal:
- Snippet Creation: Users are able to create public, unlisted, or private snippets, offering different levels of visibility as needed.
- Git Integration: Snippets can be initiated, cloned, pulled, or pushed over HTTP or SSH using Git commands, providing robust version control capabilities.
- Syntax Highlighting: Support for syntax highlighting is available, along with markdown and CSV file type support.
- Search and Browse: Users can search code within snippets, as well as browse through other users' snippets, likes, and forks.
- Embedding and History: Snippets can be embedded into other websites, and a comprehensive revisions history is maintained.
- Interaction: Features like liking, forking, downloading raw files, or as a ZIP archive are supported.
- Secure Logins: Opengist offers OAuth2 login support with platforms like GitHub, GitLab, Gitea, and OpenID Connect, ensuring secure user account management.
- Visibility Settings: Administrators can restrict or allow snippet visibility to anonymous users.
- Docker Support: For easy deployment, Docker support is included.
Quick Start
Deploying Opengist can be achieved via several methods, with Docker being one of the easiest:
Using Docker
Docker setups are straightforward and supported for all releases:
- Pull the desired image using Docker's pull command.
- Use a
docker-compose.yml
file to set up the environment. - Run
docker compose up -d
, and you have Opengist running on port 6157, accessible at http://localhost:6157.
Here's a simple docker-compose.yml
example setup:
services:
opengist:
image: ghcr.io/thomiceli/opengist:1.7
container_name: opengist
restart: unless-stopped
ports:
- "6157:6157" # HTTP port
- "2222:2222" # SSH port, can be omitted if SSH is not used
volumes:
- "$HOME/.opengist:/opengist"
Environment variables such as UID
and GID
can customize who runs the container and file ownership.
Running Binary
Alternatively, users can download and extract the binary archive for their operating system:
- Navigate to the release page.
- Download the archive suited for your system.
- Extract, configure and execute the binary.
Building from Source
For those who prefer building the application from source:
- Clone the GitHub repository.
- Build using
make
. - Execute the application.
Development Setup
Detailed instructions for creating a development environment are available in the documentation.
Documentation and Licensing
Opengist’s complete documentation can be found on their documentation page, offering thorough guides and essential information for users. The project is licensed under the AGPL-3.0 license, ensuring it remains open and accessible to the community.
Opengist positions itself as a customizable, user-controlled alternative to mainstream pastebin platforms, empowering users with Git’s robust functionalities.