fix: run cities labeler from its release image
Deploy PDS / deploy (push) Canceled after 0s

Pull git.cosocial.info/cosocial-canada/atproto-cosocial-labeler instead of
cloning and building on the server, which took several minutes per deploy.
Watchtower picks up new :latest releases.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
govandClaude Opus 5.5 committed 2026-11-06 15:37:32 -05:00
1 parent f998954be9
commit e691cabf6f
5 files changed
+5 -19

No files matched your search

-1
View File
@@ -65,7 +65,6 @@ jobs:
if [ -n "${{ vars.PDS_CITIES_HOSTNAME }}" ]; then if [ -n "${{ vars.PDS_CITIES_HOSTNAME }}" ]; then
cat >> vars/main.yml <<EOF cat >> vars/main.yml <<EOF
pds_cities_enabled: true pds_cities_enabled: true
pds_cities_repo: ${{ vars.PDS_CITIES_REPO }}
pds_cities_hostname: ${{ vars.PDS_CITIES_HOSTNAME }} pds_cities_hostname: ${{ vars.PDS_CITIES_HOSTNAME }}
pds_cities_app_password: ${{ secrets.PDS_CITIES_APP_PASSWORD }} pds_cities_app_password: ${{ secrets.PDS_CITIES_APP_PASSWORD }}
pds_cities_signing_key: ${{ secrets.PDS_CITIES_SIGNING_KEY }} pds_cities_signing_key: ${{ secrets.PDS_CITIES_SIGNING_KEY }}
+2 -4
View File
@@ -109,13 +109,12 @@ Requires a recent PDS image (telemetry added in `@atproto/pds` 0.5.26, distro ta
### Cities labeler ### Cities labeler
Optional. Deploys [atproto-cosocial-labeler](https://git.cosocial.info/CoSocial-Canada/atproto-cosocial-labeler) (city badges requested over Bluesky DMs) to `/pds/cities`, behind Caddy at `pds_cities_hostname`. Its label database lives in `cities/data`, so it's included in PDS backups. Optional. Runs the release image of [atproto-cosocial-labeler](https://git.cosocial.info/CoSocial-Canada/atproto-cosocial-labeler) (city badges requested over Bluesky DMs) from `/pds/cities`, behind Caddy at `pds_cities_hostname`. Its label database lives in `cities/data`, so it's included in PDS backups. Watchtower pulls new `:latest` releases hourly, like the PDS image.
| Variable | Required | Default | Description | | Variable | Required | Default | Description |
|---|---|---|---| |---|---|---|---|
| `pds_cities_enabled` | no | — | Deploy the cities labeler | | `pds_cities_enabled` | no | — | Deploy the cities labeler |
| `pds_cities_repo` | yes (if enabled) | — | Git URL of the labeler repo | | `pds_cities_image` | no | `git.cosocial.info/cosocial-canada/atproto-cosocial-labeler:latest` | Labeler image; pin a version tag to opt out of auto-updates |
| `pds_cities_version` | no | `main` | Branch, tag, or commit to deploy |
| `pds_cities_hostname` | yes (if enabled) | — | Public DNS name for the labeler service (needs an A record) | | `pds_cities_hostname` | yes (if enabled) | — | Public DNS name for the labeler service (needs an A record) |
| `pds_cities_handle` | no | `cities.<pds_hostname>` | Labeler account handle | | `pds_cities_handle` | no | `cities.<pds_hostname>` | Labeler account handle |
| `pds_cities_app_password` | yes (if enabled) | — | Labeler account app password with DM access | | `pds_cities_app_password` | yes (if enabled) | — | Labeler account app password with DM access |
@@ -222,7 +221,6 @@ Auto-deploys on push to `main`. Set up these in Gitea repo settings (Settings >
| `PDS_SERVICE_NAME` | *(optional)* PDS display name for branding | | `PDS_SERVICE_NAME` | *(optional)* PDS display name for branding |
| `PDS_PRIMARY_COLOR` | *(optional)* Primary color (hex) for branding | | `PDS_PRIMARY_COLOR` | *(optional)* Primary color (hex) for branding |
| `PDS_CITIES_HOSTNAME` | *(optional)* Set to deploy the cities labeler at this hostname | | `PDS_CITIES_HOSTNAME` | *(optional)* Set to deploy the cities labeler at this hostname |
| `PDS_CITIES_REPO` | *(with cities)* Git URL of the labeler repo |
Outgoing emails are sent from `techops@cosocial.ca` (fixed in the workflow). Outgoing emails are sent from `techops@cosocial.ca` (fixed in the workflow).
+1 -11
View File
@@ -192,16 +192,6 @@
when: pds_operator_enabled is defined and pds_operator_enabled | bool when: pds_operator_enabled is defined and pds_operator_enabled | bool
notify: restart operator notify: restart operator
- name: Clone cities labeler repo
git:
repo: "{{ pds_cities_repo }}"
dest: "{{ pds_data_dir }}/cities"
version: "{{ pds_cities_version | default('main') }}"
update: yes
force: no
when: pds_cities_enabled is defined and pds_cities_enabled | bool
notify: restart cities
- name: Create cities labeler data directory - name: Create cities labeler data directory
file: file:
path: "{{ pds_data_dir }}/cities/data" path: "{{ pds_data_dir }}/cities/data"
@@ -315,4 +305,4 @@
shell: cd {{ pds_data_dir }}/operator && docker compose up -d --build shell: cd {{ pds_data_dir }}/operator && docker compose up -d --build
- name: restart cities - name: restart cities
shell: cd {{ pds_data_dir }}/cities && docker compose up -d --build shell: cd {{ pds_data_dir }}/cities && docker compose pull && docker compose up -d
+1 -1
View File
@@ -5,7 +5,7 @@ name: cities-labeler
services: services:
app: app:
build: . image: {{ pds_cities_image | default('git.cosocial.info/cosocial-canada/atproto-cosocial-labeler:latest') }}
env_file: .env env_file: .env
ports: ports:
- "127.0.0.1:4100:4100" - "127.0.0.1:4100:4100"
+1 -2
View File
@@ -59,8 +59,7 @@ pds_operator_hostname: pds-operator.cosocial.ca
# Cities labeler (DM-driven city badges, serves labels at pds_cities_hostname) # Cities labeler (DM-driven city badges, serves labels at pds_cities_hostname)
# pds_cities_enabled: true # pds_cities_enabled: true
# pds_cities_repo: https://git.cosocial.info/CoSocial-Canada/atproto-cosocial-labeler.git # pds_cities_image: git.cosocial.info/cosocial-canada/atproto-cosocial-labeler:latest
# pds_cities_version: main
# pds_cities_hostname: cities-labeler.cosocial.ca # pds_cities_hostname: cities-labeler.cosocial.ca
# pds_cities_handle: cities.pds.cosocial.ca # pds_cities_handle: cities.pds.cosocial.ca
# pds_cities_app_password: CHANGE_ME # app password with DM access # pds_cities_app_password: CHANGE_ME # app password with DM access