lumbung.space/README.md

89 lines
2.9 KiB
Markdown

# lumbung.space
[![Build Status](https://drone.autonomic.zone/api/badges/ruangrupa/lumbung.space/status.svg?ref=refs/heads/main)](https://drone.autonomic.zone/ruangrupa/lumbung.space)
> A new attempt to bring together the ideas of the "splash" page, "portal" page
> and a comfortable digital "living room" experience for lumbung[dot]space.
> This is a work in progress. The end goal of this is to have a new design and
> implementation for [`lumbung.space`](https://lumbung.space) for January 2022.
## FAQ
### How does the CI/CD work?
The [`.drone.yml`](./.drone.yml) triggers a build on [drone.autonomic.zone](https://drone.autonomic.zone/ruangrupa/lumbung.space) of the [`Dockerfile.hugo`](./Dockerfile.hugo) and the [`Dockerfile.scripts`](./Dockerfile.scripts) and then deploys the [`compose.yml`](./compose.yml) stack using `docker stack deploy`.
### How often is the content regenerated?
See the `sleep ...` statements in the [`compose.yml`](./compose.yml).
### How do I see if content generation is working?
(requires `lumbung.space` docker context)
- `docker service logs -f beta_lumbung_space_peertube`
- `docker service logs -f beta_lumbung_space_calendar`
- `docker service logs -f beta_lumbung_space_feed`
Where `beta_lumbung_space_<service-name>` and you see the service name in the [`compose.yml`](./compose.yml).
### How do I add a feed?
Add your RSS feed URL to [`feeds_list.txt`](./feeds_list.txt) and don't forget [this deploy step](https://git.autonomic.zone/ruangrupa/lumbung.space#deploy-a-new-feeds_list-txt).
### How do I wipe all the generated content?
(requires `lumbung.space` docker context)
`docker exec -it $(docker container ls -q -f name=beta_lumbung_space_app) bash -c "rm -rf /src/content/*"`
## Hacking
### Generate the site
[Install Hugo](https://gohugo.io/getting-started/installing/) and `hugo serve --watch`
### Generate `lumbung[dot]space` posts
Do this manually first:
```
mkdir -p content
python3 -m venv .venv && source .venv/bin/activate
pip install git+https://git.autonomic.zone/ruangrupa/lumbunglib
export CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"
export OUTPUT_DIR=content/calendar
lumbunglib-cal
export OUTPUT_DIR=content/tv
lumbunglib-vid
export OUTPUT_DIR=content/shouts
lumbunglib-feed # reads ./feeds_list.txt
export OUTPUT_DIR=content/social
export MASTODON_AUTH_TOKEN=foobar
lumbunglib-hash
```
Afterwards, you can automatically run it with `make gen`.
After a `git pull`, you may need to run `pip install git+https://git.autonomic.zone/ruangrupa/lumbunglib` again.
### Manually deploying new images
- `docker login -u decentral1se -p $(logins/dockerhub/decentral1se)`
- `make push-hugo`
- `make push-scripts`
### Manually deploy the site
(requires `lumbung.space` docker context)
- `make deploy`
### Deploy a new `feeds_list.txt`
Increment the `_v<n>` (e.g. `v1` -> `v2`) in [`compose.yml`](./compose.yml) `configs` to avoid any deployment error.