Changelog

Using Docker

Deploy FiveNet with Docker Engine and the Docker Compose plugin on a single server.

Deploy FiveNet with Docker Engine and the Docker Compose plugin on a single server.

Before you begin, review the requirements and make sure your database, NATS server, storage, domain, and reverse proxy are ready.

1. Install Docker Engine and Docker Compose

You need Docker Engine as the container runtime and the Docker Compose plugin to run FiveNet using containers.

Please use one of the many guides available on the internet to install Docker Engine and Docker Compose on your server, for example https://docs.docker.com/engine/install/.

Depending on your server's operating system, make sure to start the Docker Daemon using systemctl start docker .

To check that Docker and the Docker Compose plugin are ready, you can use the following commands:

docker version
docker compose version

You can now continue with preparing the docker-compose.yaml file for your setup.

2. Prepare docker-compose.yaml

Container images are available from GHCR.io fivenet-app/fivenet registry.

Use the docker-compose.yaml example file as a starting point.

Review the example file and adjust it for your environment before starting the stack. In particular, make sure to check:

  • The image tags you want to deploy (e.g., a release or a development version).
    • Use a specific stable release tag for production deployments. Avoid the mutable latest tag.
  • Environment variables and mounted files.
  • Database, NATS, and other service connection settings.
  • Domain or reverse-proxy related settings if you expose FiveNet externally.

If you already have a Docker NGINX Reverse Proxy or a similar solution for exposing your container applications to the internet, you can remove or comment out the nginx-proxy container from the example file. When using the Docker NGINX Reverse Proxy, make sure to update the environment variables of each container so they match the domain or subdomain you want to use.

To build the FiveNet container image yourself, first review the development requirements.

If you use the NATS server from the default docker-compose.yaml, use the Compose service name as the hostname. For example: url: "nats://fivenet:fivenet_topsecret@nats:4222". Do not use localhost from inside the FiveNet container; that points back to the FiveNet container itself.

2.1. Prepare FiveNet Config

Make sure to start using the example config file (click here) and modify it as you need.

Follow the Configure FiveNet guide to create a working config.yaml, then use the Config File Reference for individual options.

2.2. Prepare FiveNet DBSync Config

Make sure to start using the example config file (click here) and modify it as you need.

Check the DBSync page to create a working dbsync.yaml for FiveNet DBSync.

3. Run FiveNet

Pull the latest container images and start the server, dbsync, worker, and discord bot containers:

docker compose pull
docker compose up -d

4. Verify the Deployment

After the containers are running, verify that the stack started correctly:

docker compose ps
docker compose logs --tail=100

Make sure the FiveNet containers are healthy and that the application is reachable through your configured domain, reverse proxy, or local access path.

5. Reverse Proxy Recommendations

If you are not already using a reverse proxy to expose FiveNet, consider a solution such as nginx-proxy/nginx-proxy to safely expose the FiveNet server (/) and the Iconify API container (/api/icons).

5.1. Configuring Traefik as a Reverse Proxy

If you prefer using Traefik as your reverse proxy, follow these steps to configure it for FiveNet:

  1. Install Traefik: Refer to the Traefik documentation for installation instructions.
  2. Start Traefik: Run Traefik alongside your FiveNet containers using Docker Compose.
  3. HTTPS/TLS Setup: Follow the Traefik HTTPS/TLS setup documentation to configure secure connections.
  4. Label the Containers: Add the following labels to the FiveNet server container in your docker-compose.yaml file:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.fivenet.rule=Host(`your-domain.com`)"
      - "traefik.http.routers.fivenet.entrypoints=websecure"
      - "traefik.http.routers.fivenet.tls.certresolver=myresolver"
      - "traefik.http.services.fivenet.loadbalancer.server.scheme=h2c"
    
  5. Verify Configuration: Ensure that your domain points to the server's IP and that Traefik is correctly routing traffic to the FiveNet containers.

This setup allows you to securely expose FiveNet to the internet using Traefik.

6. Post-Installation Steps

Make sure to follow the post-installation steps now.

Troubleshooting

If you face issues during the containerized installation, such as database collation mismatches, check the Database and Installation Troubleshooting page for solutions.

Copyright © 2026 Galexrt All rights reserved. All trademarks, logos and brand names are the property of their respective owners.