Making deployments easy is at the forefront of Adnexos' design.
Decide on a deployment strategy. Although it is possible to deploy the application without Docker, I wouldn't recommend it because it makes the process more complex.
- Use Docker (recommended)
- Do it all manually (not recommended)
Official Docker images are maintained and published along the GitHub repository as a container package. A docker-compose file is also published in the repository that can be used to launch Adnexos. Follow these steps on the machine you want to deploy to:
-
Obtain the docker-compose file via
curl.curl -O https://raw.githubusercontent.com/tametsi/adnexos/main/docker-compose.yaml
-
Set the following environment variables. This can be done by copying the content to an
.envfile in the same directory as thedocker-compose.yaml.# .env IMAGE_ID="ghcr.io/tametsi/adnexos" IMAGE_TAG=latest NETWORK_NAME=YOUR-NETWORK-NAME
Replace
YOUR-NETWORK-NAMEwith the network your reverse proxy is using.
Tip
If you don't plan to use a reverse proxy make sure to replace the content of the docker-compose.yaml with the following:
name: adnexos
services:
app:
image: '${IMAGE_ID}:${IMAGE_TAG}'
container_name: 'adnexos'
restart: unless-stopped
ports:
- '8090:8090'
volumes:
- pb-data:/app/pb_data
volumes:
pb-data:This removes the custom network and adds configuration for the exposed ports.
-
Start the application
docker compose up -d
-
Create the admin/superuser account. Running
docker compose logs
should give you an output like:
[...] (!) Launch the URL below in the browser if it hasn't been open already to create your first superuser account: http://<your-ip>:<your-port>/_/#/pbinstal/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJwYmNfMDEyMzQ1Njc4OSIsImV4cCI6OTg3NjU0MzIxMCwiaWQiOiJhZG5leG9zLXNwZXJ1c3IiLCJyZWZyZXNoYWJsZSI6ZmFsc2UsInR5cGUiOiJhdXRoIn0=.hTqGPn3pZqDtJOt9v1qSGDgu8W2k6Dov6aLGFvNqWMA= [...]Use the link in your given output to create your first superuser account.
-
You are now ready to go! 🎉
However, I recommend that you visit the Settings tab of the admin dashboard and customize it to your liking.
Get yourself the code from a release. Make sure you got Node.js LTS, pnpm and a supported Go version installed. Execute the following commands in your terminal:
# build frontend
cd frontend/web
pnpm i
pnpm gen:pwa-assets
pnpm build
cd ../..
# build backend
cd backend
go mod download
go build -v -o ./adnexos cmd/adnexos/main.go
cd ..
# prepare
mv backend/adnexos ./adnexos
mv frontend/web/dist ./pb_public
rm -r frontend backend
# run
./adnexos serve --http=0.0.0.0:8090Visit the given link and create your first admin/superuser account.
You are now ready to go! 🎉
However, I recommend that you visit the Settings tab of the admin dashboard and customize it to your liking.