···2233This is an implementation of the example [ATProto application Statusphere](https://atproto.com/guides/applications) but in Go.
4455-It makes use of an ATProto OAuth [library](https://github.com/haileyok/atproto-oauth-golang). Shout out to [Hailey](https://bsky.app/profile/hailey.at) for implementing a Go OAuth library!
66-75### What is the Statusphere app?
86If you haven't read the [ATProto application Statusphere](https://atproto.com/guides/applications) guide about what this is, here is a quick summary.
97···17151816A few environment variables are required to run the app. Use the `example.env` file as a template and store your environment variables in a `.env` file.
19172020-* PRIVATEJWKS: This is a private JWKS. You can generate one using the same Go OAuth [library](https://github.com/haileyok/atproto-oauth-golang). Once created, base64 encode it so it's easier to store in your env.
1818+* PRIVATEJWKS: This is a private JWKS. You can generate one using this Go OAuth [library](https://github.com/haileyok/atproto-oauth-golang). Once created, base64 encode it so it's easier to store in your env.
2119* SESSION_KEY: This can be anything as it's what's used to encrypt session data sent to/from the client.
2220* HOST: This needs to be a http URL where the server is running. For local dev I suggest using something like [ngrok](https://ngrok.com) to run you app locally and make it accessable externally. This is important for OAuth as the callback URL configured needs to be a publically accessable.
2321* DATABASE_MOUNT_PATH: This is where you wish the mysql database to be located.