Building with default GCC included in `cross` at the moment (9.4.0) fails
on compiling `aws-lc-sys` with the following message:
    Your compiler (cc) is not supported due to a memcmp related bug reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189.We strongly recommend against using this compiler.
GCC 10.5 seems to include a bugfix for this, but 9.4 does not.
Building with GCC 10.5 works.
						
					
				
			 | 
			||
|---|---|---|
| .github/workflows | ||
| sql | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Cross.toml | ||
| README.md | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	nederlandskie
A Bluesky feed generator written in Rust.
The specific algorithm indexes and serves posts written in Russian language, by people living in Netherlands.
- Posts are stored in PostgreSQL via 
sqlxandscooby - Language of posts is determined via 
lingua-rs - Country of residence is inferred from profile information through ChatGPT via 
chat-gpt-lib-rs - Feed is served via 
axum - Intefacing with Bluesky is implemented using 
atrium-api 
Deployed in production at https://nederlandskie.plansfortheday.org/
Published on Bluesky at https://bsky.app/profile/did:plc:376mcc6k4s5p7qbtyjrgph5k/feed/nederlandskie.
Setup
- 
Set up a PostgreSQL database
 - 
Create tables using SQL provided in
sqldirectory. - 
Copy
.env.exampleinto.envand set up the environment variables within:PUBLISHER_BLUESKY_HANDLEto your Bluesky handlePUBLISHER_BLUESKY_PASSWORDto Bluesky app password that you created in settingsCHAT_GPT_API_KEYfor your ChatGPT keyDATABASE_URLfor PostgreSQL credentialsFEED_GENERATOR_HOSTNAMEto the hostname of where you intend to host the feed
 - 
Determine your own DID and put it in
PUBLISHER_DIDenv variable in.env:cargo run --bin who_am_i 
Running
Populate and serve the feed
cargo run
The feed will be available at http://localhost:3030/.
Determine your own did for publishing
cargo run --bin who_am_i
Publish the feed
cargo run --bin publish_feed -- --help
Force a profile to be in a certain country
cargo run --bin force_profile_country -- --help
Cross-compiling on non-Linux machines to deploy on Linux
- 
Install
crossby following their installation guide - 
Build the binaries in release mode:
 
cross build --release
- Deploy the binaries in 
target/x86_64-unknown-linux-gnu/release/as you see fit