Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aetherinox/opengist-debian

Opengist self-hosted gist solution contained within a debian .deb package for automatic installation. Compatible with Ubuntu, Debian, CentOS, and ZorinOS.
https://github.com/aetherinox/opengist-debian

deb-package debian debian-packages docker gist git github go golang opengist pastebin pastebin-service self-hosted tailwindcss typescript ubuntu ubuntu-packages

Last synced: about 1 month ago
JSON representation

Opengist self-hosted gist solution contained within a debian .deb package for automatic installation. Compatible with Ubuntu, Debian, CentOS, and ZorinOS.

Awesome Lists containing this project

README

        


.deb package for Opengist

♾️ Opengist ♾️


Self-hosted gist software within a .deb package; available for install using `apt-get install`





[![Version][github-version-img]][github-version-uri]
[![Build Status][github-build-img]][github-build-uri]
[![Downloads][github-downloads-img]][github-downloads-uri]
[![Size][github-size-img]][github-size-img]
[![Last Commit][github-commit-img]][github-commit-img]
[![Contributors][contribs-all-img]](#contributors-)


---


# About
Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted.


[![View](https://img.shields.io/badge/%20-%20View%20OpenGist%20Repo-%20%23de2343?style=for-the-badge&logo=github&logoColor=FFFFFF)](https://github.com/thomiceli/opengist)


---


# Install


To install Opengist, you have two options -- pick only one:
1. [Proteus Apt Repo](#proteus-apt-repo)
2. [Manual](#manual)


> [!NOTE]
> After instaling this package; the following files will be placed in the below structure:
>
> ```
> πŸ“ /etc/opengist/config.yml
> πŸ“ /lib/systemd/system/opengist.service
> πŸ“ /usr/bin/opengist
> ```
>
> This .deb will create a new system user named `opengist` which will run the opengist service.


## Proteus Apt Repo
The Proteus Apt Repo is a special Ubuntu / Debian / CentOS repository hosted by this developer on Github. You can install this Opengist package using `apt-get install` by adding the proteus apt repo to your sources list.


Open `Terminal`, add the GPG key to your keyring
```bash
wget -qO - https://github.com/Aetherinox.gpg | sudo gpg --dearmor -o /usr/share/keyrings/aetherinox-proteus-archive.gpg
```


Fetch the repo package list:
```shell
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/aetherinox-proteus-archive.gpg] https://raw.githubusercontent.com/Aetherinox/proteus-apt-repo/master $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/aetherinox-proteus-archive.list
```


(Optional): You can test if the correct GPG key was added:
```shell
gpg -n -q --import --import-options import-show /usr/share/keyrings/aetherinox-proteus-archive.gpg | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "BCA07641EE3FCD7BC5585281488D518ABD3DC629") print "\nGPG fingerprint matches ("$0").\n"; else print "\GPG verification failed: Fngerprint ("$0") does not match the expected one.\n"}'
```


After completing the above; update your packages:
```shell
sudo apt update
```


You can now install the Opengist package with:
```shell ignore
sudo apt install opengist
```


## Manual

Download the latest `.deb` package from this repo's [Releases](https://github.com/Aetherinox/opengist-debian/releases) page. You can download and install it using the commands below.

- Replace `ARCH` with `386`, `amd64`, or `arm64`
- Replace `X.X.X` with the current version. ie: `1.7.4`

```shell
wget https://github.com/Aetherinox/opengist-debian/releases/download/X.X.X/opengistX.X.X-linux-ARCH.deb
sudo dpkg -i opengist_1.X.X_amd64.deb
```


---


# Config
You may edit the Opengist config file by opening `/etc/opengist/config.yml`

```yml
log-level: warn
external-url:
opengist-home:
db-filename: opengist.db
sqlite.journal-mode: WAL
http.host: 0.0.0.0
http.port: 6157
http.git-enabled: true
ssh.git-enabled: true
ssh.host: 0.0.0.0
ssh.port: 2222
ssh.external-domain:
ssh.keygen-executable: ssh-keygen
github.client-key:
github.secret:
gitea.client-key:
gitea.secret:
gitea.url: https://gitea.com/
gitea.name:
oidc.client-key:
oidc.secret:
oidc.discovery-url:
custom.logo:
custom.favicon:
custom.static-links:
```


---


# Start / Manage Service
To start/stop opengist, execute the following:

```bash
sudo systemctl start opengist
sudo systemctl stop opengist
sudo systemctl status opengist
```


The system service will activate the binary in `/usr/bin/opengist`


---


# Build

To build the debian package, run the following commands within this repo's `src/` folder:

```shell
dpkg-deb --root-owner-group --build opengist1.X.X-linux-amd64
dpkg-deb --root-owner-group --build opengist1.X.X-linux-arm64
dpkg-deb --root-owner-group --build opengist1.X.X-linux-386
```


Run the linter

```shell
lintian opengist1.X.X-linux-amd64.deb --tag-display-limit 0 | grep executable-not-elf
lintian opengist1.X.X-linux-arm64.deb --tag-display-limit 0 | grep executable-not-elf
lintian opengist1.X.X-linux-386.deb --tag-display-limit 0 | grep executable-not-elf
```


---


# Structure

This debian package uses the following structure:


opengistX.X.X-linux-ARCH


File structure / tree for `opengistX.X.X-linux-ARCH.deb`

```shell ignore
.
β”œβ”€β”€ opengistX.X.X-linux-ARCH
β”‚Β Β  β”œβ”€β”€ DEBIAN
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ conffiles
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ control
β”‚Β Β  β”‚Β Β  └── postinst
β”‚Β Β  β”œβ”€β”€ etc
β”‚Β Β  β”‚Β Β  └── opengist
β”‚Β Β  β”‚Β Β  └── config.yml
β”‚Β Β  β”œβ”€β”€ lib
β”‚Β Β  β”‚Β Β  └── systemd
β”‚Β Β  β”‚Β Β  └── system
β”‚Β Β  β”‚Β Β  └── opengist.service
β”‚Β Β  └── usr
β”‚Β Β  β”œβ”€β”€ bin
β”‚Β Β  β”‚Β Β  └── opengist
β”‚Β Β  └── share
β”‚Β Β  β”œβ”€β”€ applications
β”‚Β Β  β”‚Β Β  └── opengist.desktop
β”‚Β Β  β”œβ”€β”€ doc
β”‚Β Β  β”‚Β Β  └── opengist
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ AUTHORS
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ changelog.gz
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ copyright
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ examples
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── config.yaml
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ README
β”‚Β Β  β”‚Β Β  └── README.md
β”‚Β Β  β”œβ”€β”€ icons
β”‚Β Β  β”‚Β Β  └── hicolor
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ 128x128
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── apps
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── opengist.png
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ 16x16
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── apps
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── opengist.png
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ 256x256
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── apps
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── opengist.png
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ 32x32
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── apps
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── opengist.png
β”‚Β Β  β”‚Β Β  └── 64x64
β”‚Β Β  β”‚Β Β  └── apps
β”‚Β Β  β”‚Β Β  └── opengist.png
β”‚Β Β  β”œβ”€β”€ lintian
β”‚Β Β  β”‚Β Β  └── overrides
β”‚Β Β  β”‚Β Β  └── opengist
β”‚Β Β  └── man
β”‚Β Β  └── man1
β”‚Β Β  └── opengist.1.gz
└── opengistX.X.X-linux-ARCH.deb

30 directories, 21 files
```


---


# Previews


---


## Contributors ✨
We are always looking for contributors. If you feel that you can provide something useful to Gistr, then we'd love to review your suggestion. Before submitting your contribution, please review the following resources:

- [Pull Request Procedure](.github/PULL_REQUEST_TEMPLATE.md)
- [Contributor Policy](CONTRIBUTING.md)


Want to help but can't write code?
- Review [active questions by our community](https://github.com/Aetherinox/opengist-debian/labels/help%20wanted) and answer the ones you know.


The following people have helped get this project going:


[![Contributors][contribs-all-img]](#contributors-)



Aetherinox
Aetherinox

πŸ’» πŸ“† πŸ”




[general-npmjs-uri]: https://npmjs.com
[general-nodejs-uri]: https://nodejs.org
[general-npmtrends-uri]: http://npmtrends.com/obsidian-gistr

[github-version-img]: https://img.shields.io/github/v/tag/Aetherinox/opengist-debian?logo=GitHub&label=Version&color=ba5225
[github-version-uri]: https://github.com/Aetherinox/opengist-debian/releases

[npm-version-img]: https://img.shields.io/npm/v/obsidian-gistr?logo=npm&label=Version&color=ba5225
[npm-version-uri]: https://npmjs.com/package/obsidian-gistr

[pypi-version-img]: https://img.shields.io/pypi/v/obsidian-gistr-plugin
[pypi-version-uri]: https://pypi.org/project/obsidian-gistr-plugin/

[license-mit-img]: https://img.shields.io/badge/MIT-FFF?logo=creativecommons&logoColor=FFFFFF&label=License&color=9d29a0
[license-mit-uri]: https://github.com/Aetherinox/opengist-debian/blob/main/LICENSE

[github-downloads-img]: https://img.shields.io/github/downloads/Aetherinox/opengist-debian/total?logo=github&logoColor=FFFFFF&label=Downloads&color=376892
[github-downloads-uri]: https://github.com/Aetherinox/opengist-debian/releases

[npmjs-downloads-img]: https://img.shields.io/npm/dw/%40aetherinox%2Fmkdocs-link-embeds?logo=npm&&label=Downloads&color=376892
[npmjs-downloads-uri]: https://npmjs.com/package/obsidian-gistr

[github-size-img]: https://img.shields.io/github/repo-size/Aetherinox/opengist-debian?logo=github&label=Size&color=59702a
[github-size-uri]: https://github.com/Aetherinox/opengist-debian/releases

[npmjs-size-img]: https://img.shields.io/npm/unpacked-size/obsidian-gistr/latest?logo=npm&label=Size&color=59702a
[npmjs-size-uri]: https://npmjs.com/package/obsidian-gistr

[codecov-coverage-img]: https://img.shields.io/codecov/c/github/Aetherinox/opengist-debian?token=MPAVASGIOG&logo=codecov&logoColor=FFFFFF&label=Coverage&color=354b9e
[codecov-coverage-uri]: https://codecov.io/github/Aetherinox/opengist-debian

[contribs-all-img]: https://img.shields.io/github/all-contributors/Aetherinox/opengist-debian?logo=contributorcovenant&color=de1f6f&label=contributors
[contribs-all-uri]: https://github.com/all-contributors/all-contributors

[github-build-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/opengist-debian/deb_build.yml?logo=github&logoColor=FFFFFF&label=Build&color=%23278b30
[github-build-uri]: https://github.com/Aetherinox/opengist-debian/actions/workflows/deb_build.yml

[github-build-pypi-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/opengist-debian/release-pypi.yml?logo=github&logoColor=FFFFFF&label=Build&color=%23278b30
[github-build-pypi-uri]: https://github.com/Aetherinox/opengist-debian/actions/workflows/pypi-release.yml

[github-tests-img]: https://img.shields.io/github/actions/workflow/status/Aetherinox/opengist-debian/npm-tests.yml?logo=github&label=Tests&color=2c6488
[github-tests-uri]: https://github.com/Aetherinox/opengist-debian/actions/workflows/npm-tests.yml

[github-commit-img]: https://img.shields.io/github/last-commit/Aetherinox/opengist-debian?logo=conventionalcommits&logoColor=FFFFFF&label=Last%20Commit&color=313131
[github-commit-uri]: https://github.com/Aetherinox/opengist-debian/commits/main/