An oekaki BBS running as an AT Protocol AppView.
In order to run the AppView, you need the .NET 8 SDK and the Entity Framework tools package, which you can install through dotnet tools -g install dotnet-ef
.
-
Run
docker compose up -d
inside of the root folder to start PostgreSQL (if you do not have PostgreSQL installed yet.) -
Open the
PinkSea
folder -
Copy the sample
appsettings.example.json
file toappsettings.json
- Modify the
PostgresConfig
to point to your PostgreSQL settings. If you're using the supplied docker compose, you do not need to change this. - Point the
AppViewConfig
URL to where your AppView will reside, this is the URL that will be used to identify your PinkSea instance. (As an example, for the official PinkSea instance, it'shttps://api.pinksea.art
) - (OPTIONAL) Point the
FrontendConfig
to point to where your PinkSea frontend resides. This is used for BlueSky cross-posting with a link. Leaving it blank will disallow cross-posting. (Again, as an example, for the official PinkSea instance it'shttps://pinksea.art
)
- Modify the
-
Perform
dotnet ef database update
to run the neccessary migrations. -
Run
dotnet run --configuration Release
to start the PinkSea AppView.
That's it! Your server now is connected to the ATmosphere and is ready to start cooperating with other PinkSea AppViews.
- Navigate to the
PinkSea
folder. - Run
dotnet ef database update
to run the migrations. - Once again, run
dotnet run --configuration Release
to start the server in Release mode.
In order to run the client app locally, you need a fairly modern Node.js version. Anything above Node 20 works, but I personally recommend the latest LTS version.
- Navigate to
PinkSea.Frontend
. - Run
npm i
to download the required packages. - Navigate to the
src/api/atproto
folder. - Point the
serviceEndpoint
value inside ofclient.ts
to your AppView instance. (For example, for the official PinkSea instance, the endpoint ishttps://api.pinksea.art
)
- Navigate to
PinkSea.Frontend
- Run
npm i
to update the packages. - Finally, execute
npm run dev
, to start a local development server with code reloading.
- Navigate to
PinkSea.Frontend
- Run
npm i
to update the packages. - Finally, execute
npm run build
, to build and minify the client app.
The built app will be inside of the dist
folder.
The PinkSea code (with the exception of PinkSea.AtProto and PinkSea.AtProto.Server) is licensed under the European Union Public License-1.2. PinkSea.AtProto is released into the public domain as specified by the Unlicense. The appropriate licenses are in each folder's LICENSE files.