[WIP] A (somewhat barebones) atproto app for creating custom sites without hosting!
1# atcities.dev
2
3A (somewhat barebones) atproto app for creating custom sites without hosting!
4
5> [!CAUTION]
6> This software is super duper alpha and not tested thoroughly! Use at your own risk!
7
8- Lexicons are located at [`./lexicons`](./lexicons/)
9- Server backend is located at [`./server`](./server/)
10- Upload CLI is located at [`./upload`](./upload/)
11- Web GUI **will be** located at [`./web-gui`](./web-gui/)
12- Fuse tool **will be** located at [`./fuse`](./fuse/)
13
14## How to:
15
16**View someones site?**
17> Head to `https://<handle>.atcities.dev/` or `https://<did>.did-<method>.atcities.dev/`.
18
19**Upload your own site?**
20> Use the upload cli. Installation guide below.
21
22**Self host atcities.dev?**
23> Clone this repo and setup the `.env` file for `/server`, then run `deno run run`
24
25### CLI installation guide.
26
271. Build from source:
28 Prerequisites: `git` `cargo` `rust`
29 ```sh
30 git clone https://tangled.org/@vielle.dev/atcities.dev
31 cd atcities.dev/upload
32 cargo build
33 sudo cp ./target/debug/atcities-upload /bin
34 # Reload your shell environment
35 atcities-upload --version
36 ```
37
38## Todo:
39
40- [x] Resolve `handle.host` and `did.did-method.host` domains to records/blobs
41- [x] Backfill network
42 - [x] Store did+route -> blob & mime type in database
43 - [x] Store blobs for CDN (max ~0.25gb per user)
44- [x] Moderate illegal content or hope that people are niceys
45 (Hope that people are niceys)
46- [x] Finish CLI tool
47 - [x] Sign in via app password
48 - [x] Clear old site
49 - [x] Upload new site
50- [ ] Fuse uploader
51- [ ] Web GUI uploader