Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/worpet-bildet/portal
Sovereign social media on Urbit
https://github.com/worpet-bildet/portal
Last synced: 3 months ago
JSON representation
Sovereign social media on Urbit
- Host: GitHub
- URL: https://github.com/worpet-bildet/portal
- Owner: worpet-bildet
- Created: 2022-09-12T14:55:11.000Z (about 2 years ago)
- Default Branch: develop
- Last Pushed: 2023-10-19T08:17:50.000Z (about 1 year ago)
- Last Synced: 2024-07-05T14:47:54.927Z (4 months ago)
- Language: hoon
- Homepage: https://x.com/portal__gm
- Size: 15.9 MB
- Stars: 12
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-urbit - Portal
README
# Portal
### A tool for decentralized curation and discovery of Urbit applications
For details see:
https://github.com/urbit/urbit.org/blob/master/content/grants/app-store.mdFor discussion, visit on Urbit:
~worpet-bildet/portal## Setup
## UI Prereqs
- Node JS- [https://nodejs.org/en/download/](https://nodejs.org/en/download/). install with `sudo apt install nodejs`
- This project uses [pnpm](https://github.com/pnpm/pnpm) for package management, but any of these will work for node version management. install it with `wget -qO- https://get.pnpm.io/install.sh | ENV="~/.bashrc" SHELL="$(which bash)" bash -`
To install n with npm:
```
sudo apt install npm
npm install -g n
```- Select node version `16.14.0` with `pnpm env use --global 16.14.0`. You can check which version you're on with `node -v`
## UI Usage
```
cd ui
```Install deps:
```
pnpm install
```Build app:
```
pnpm build
```Run local app dev server:
```
pnpm dev
```## Desk Setup
App Store is not yet published on Urbit, but it is easy to boot a fake ship and play with it.
install urbit
`curl -L https://urbit.org/install/linux-x86_64/latest | tar xzk --transform='s/.*/urbit/g' && ./urbit`
boot a comet
`./urbit -c mycomet`
when you finish booting, the stdout should tell you the port where the ship is hosted, e.g. "web interface http://localhost:8081". define SHIP_URL in vite.config.js with this value
Run:
You should add a desk.ship file to portal desk with the ship which represents you local indexer used in development.
```
|new-desk %portal
|mount %portal
```Download the zip file from github, and extract it to your fake ship. Delete the app-store desk, and rename the downloaded folder into "app-store". Then:
```
|commit %portal
|install our %portal
```on nuke
```
|nuke %portal, =desk &
|rein %portal [& %portal-manager]
```> To seed %portal data, see commands in /portal/notes
## How to Glob
### The Proper Way
1. build the dist folder pnpm build-prod
2. add the dist folder to /your-urbit/portal/app/
3. `|commit %portal`
4. If you have any "missing mark files" grab them from the urbit git repo and put them in the /your-urbit/trove/app/mar folder
5. -garden!make-glob %desk /path/to/dist (e.g. -garden!make-glob %portal /app/dist)
6. find glob in /your-pier/.urb/put, store on cloud
7. update desk.docket-0 file glob-http url and hash as below### The Quick 'n' Dirty Way
1. build the dist folder `npm run build`
2. Login to https://worpet-bildet.arvo.network/
3. Navigate to https://worpet-bildet.arvo.network/docket/upload
4. Select portal from the dropdown
5. Select the `dist` folder that was just created by `npm run build` on your local machine
6. Click glob button
7. Wait for the page to refresh (takes literally a minute or more sometimes)
8. Wait another minute or two for Urbit to be Urbit
9. Check that your changes have been deployed by navigating to the app## setting up indexers
desk.ship is where you POST your feedposts to (so you don't want this to be ~worpet-bildet!)
You make a local portal/portal/desk.ship
It will be gitignored
copy that to mars and commit itthe .env var is where you LOAD your feedposts from (so this can be ~worpet-bildet)
edit .env.local VITE_INDEXER
source .env.local
npm run dev