Compare commits

...

6 commits

Author SHA1 Message Date
Ginger
3509c5a65a
fix: No slashes in components I guess 2025-09-08 13:33:56 -04:00
Ginger
6c800a293c
fix: Fix incorrect quoting, again 2025-09-08 13:18:36 -04:00
Ginger
696e29d087
fix: Fix incorrect quoting 2025-09-08 13:16:37 -04:00
Ginger
863239f341
fix: Minor component and version format fixes 2025-09-08 13:13:47 -04:00
Ginger
e7a79b1e03
docs: Update Debian installation guide 2025-09-08 13:11:04 -04:00
Ginger
4af08c2b07
fix: Rename debian_version for consistency 2025-09-08 13:01:40 -04:00
2 changed files with 28 additions and 11 deletions

View file

@ -24,7 +24,7 @@ jobs:
steps: steps:
- name: Get Debian version - name: Get Debian version
id: debian_version id: debian-version
run: | run: |
VERSION=$(cat /etc/debian_version) VERSION=$(cat /etc/debian_version)
DISTRIBUTION=$(lsb_release -sc 2>/dev/null) DISTRIBUTION=$(lsb_release -sc 2>/dev/null)
@ -43,9 +43,9 @@ jobs:
path: | path: |
~/.cargo/registry ~/.cargo/registry
~/.cargo/git ~/.cargo/git
key: cargo-debian${{ steps.debian_version.outputs.version }}-${{ hashFiles('**/Cargo.lock') }} key: cargo-debian${{ steps.debian-version.outputs.version }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: | restore-keys: |
cargo-debian${{ steps.debian_version.outputs.version }}- cargo-debian${{ steps.debian-version.outputs.version }}-
- name: Setup sccache - name: Setup sccache
uses: https://git.tomfos.tr/tom/sccache-action@v1 uses: https://git.tomfos.tr/tom/sccache-action@v1
@ -72,18 +72,21 @@ jobs:
# VERSION is the package version, COMPONENT is used in # VERSION is the package version, COMPONENT is used in
# apt's repository config like a git repo branch # apt's repository config like a git repo branch
if [[ "${{ forge.ref }}" == "refs/tags/"* ]]; then if [[ "${{ forge.ref }}" == "refs/tags/"* ]]; then
# Use the "stable" component for tagged releases
COMPONENT="stable" COMPONENT="stable"
VERSION=$BASE_VERSION VERSION=$BASE_VERSION
else else
# Use the "dev" component for development builds
SHA=$(echo "${{ forge.sha }}" | cut -c1-7) SHA=$(echo "${{ forge.sha }}" | cut -c1-7)
DATE=$(date +%Y%m%d) DATE=$(date +%Y%m%d)
if [ "${{ forge.ref_name }}" = "main" ]; then if [ "${{ forge.ref_name }}" = "main" ]; then
COMPONENT="dev" COMPONENT="dev"
else else
# Use sanitized ref name for the component # Use the sanitized ref name as the component for feature branches
COMPONENT=$(echo "${{ forge.ref_name }}" | sed 's/[^a-zA-Z0-9.+]/~/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30) COMPONENT="dev-$(echo '${{ forge.ref_name }}' | sed 's/[^a-zA-Z0-9.+]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)"
fi fi
VERSION="$BASE_VERSION~git$DATE.$SHA-$COMPONENT" CLEAN_COMPONENT=$(echo $COMPONENT | sed 's/[^a-zA-Z0-9.+]/~/g')
VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT"
fi fi
echo "component=$COMPONENT" >> $GITHUB_OUTPUT echo "component=$COMPONENT" >> $GITHUB_OUTPUT
echo "version=$VERSION" >> $GITHUB_OUTPUT echo "version=$VERSION" >> $GITHUB_OUTPUT
@ -142,7 +145,7 @@ jobs:
if: ${{ forge.event_name == 'push' || forge.event_name == 'workflow_dispatch' }} if: ${{ forge.event_name == 'push' || forge.event_name == 'workflow_dispatch' }}
run: | run: |
OWNER="continuwuation" OWNER="continuwuation"
DISTRIBUTION=${{ steps.debian_version.outputs.distribution }} DISTRIBUTION=${{ steps.debian-version.outputs.distribution }}
COMPONENT=${{ steps.package-meta.outputs.component }} COMPONENT=${{ steps.package-meta.outputs.component }}
DEB=${{ steps.cargo-deb.outputs.path }} DEB=${{ steps.cargo-deb.outputs.path }}

View file

@ -1,12 +1,26 @@
# Continuwuity for Debian # Continuwuity for Debian
This document provides information about downloading and deploying the Debian package. You can also use this guide for other `apt`-based distributions such as Ubuntu. This document provides information about downloading and deploying the Debian package. You can also use this guide for other deb-based distributions such as Ubuntu.
### Installation ### Installation
See the [generic deployment guide](../deploying/generic.md) for additional information about using the Debian package. To add the Continuwuation apt repository:
```bash
# Import the Continuwuation signing key
sudo curl https://forgejo.ellis.link/api/packages/continuwuation/debian/repository.key -o /etc/apt/keyrings/forgejo-continuwuation.asc
# Add a new apt source list pointing to the repository
echo "deb [signed-by=/etc/apt/keyrings/forgejo-continuwuation.asc] https://forgejo.ellis.link/api/packages/continuwuation/debian $(lsb_release -sc) stable" | sudo tee -a /etc/apt/sources.list.d/continuwuation.list
# Update remote package lists
sudo apt update
```
No `apt` repository is currently available. This feature is in development. To install continuwuity:
```bash
sudo apt install continuwuity
```
The `continuwuity` package conflicts with the old `conduwuit` package and will remove it automatically when installed.
See the [generic deployment guide](../deploying/generic.md) for additional information about using the Debian package.
### Configuration ### Configuration
@ -16,7 +30,7 @@ You can customize additional settings by uncommenting and modifying the configur
### Running ### Running
The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop Continuwuity. The binary installs at `/usr/sbin/conduwuit`. The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop Continuwuity. The binary installs at `/usr/bin/conduwuit`.
By default, this package assumes that Continuwuity runs behind a reverse proxy. The default configuration options apply (listening on `localhost` and TCP port `6167`). Matrix federation requires a valid domain name and TLS. To federate properly, you must set up TLS certificates and certificate renewal. By default, this package assumes that Continuwuity runs behind a reverse proxy. The default configuration options apply (listening on `localhost` and TCP port `6167`). Matrix federation requires a valid domain name and TLS. To federate properly, you must set up TLS certificates and certificate renewal.