How to Set Up Gotify on Oikos OpenHub: Deploying a Push Notification Server

Gotify is an incredibly versatile, open-source push notification server designed for simplicity and reliability. It provides a dedicated backend for sending real-time messages from any application or script to connected clients (such as Android apps, web browsers, or desktops) via a straightforward REST API.

Deploying Gotify through the Oikos OpenHub Platform-as-a-Service (PaaS) provides an instant, dedicated, and secure containerized environment. Oikos handles the networking and persistence, allowing developers to launch a private notification service quickly, moving away from reliance on proprietary third-party services.


1. Accessing the Oikos OpenHub Catalog#

Access the Oikos Console#

  • Visit: Navigate to the Oikos platform launchpad at https://launch.nife.io.
  • Log In: Use your registered Oikos credentials to access the primary application dashboard.

Navigate to OpenHub#

  • Locate: Find the OpenHub option in the left-hand navigation sidebar.
  • Selection: Click OpenHub to view the comprehensive catalog of deployable open-source applications.

Search for Gotify#

  • Search Bar: Utilize the search functionality within the OpenHub interface and enter the term Gotify.
  • Identify: Locate the Gotify application card, pre-configured for deployment on the Oikos PaaS.

2. Configuring and Initiating Deployment#

Gotify is resource-efficient but requires immediate attention to its default credentials for security.

Start Deployment and Configuration Review#

  • Action: Hover over the Gotify tile and click the Deploy button. This transitions you to the configuration screen.

Review Deployment Settings#

  • App Name: Assign a unique name to your notification server instance (e.g., realtime-alerts-server).
  • Cloud Region: Select a Cloud Region that offers the best connectivity to the applications that will be sending the most messages.
  • Resource Allocation: Review the default CPU and RAM. Gotify is lightweight, and standard resources are generally sufficient unless you anticipate millions of messages per day.

Persistence: Oikos will manage the persistent storage for Gotify's database (where it stores users, applications, tokens, and messages). Ensure this persistence is configured for reliable data retention.

  • Finalization: Review all settings, and click Submit or the final Deploy button to commence the container launch process.

Monitor Deployment Status#

  • Process: Oikos provisions resources, pulls the Gotify container image, and establishes a secure HTTPS network endpoint.
  • Completion: Wait for the status indicator to change to Running.

3. Accessing and Initializing Gotify#

Wait for Completion and Launch#

  • Action: Once the status is Running, click the Open App button.
  • Result: This redirects you to the unique, secure URL of your deployed Gotify instance, displaying the login page.

Initial Login and Mandatory Security Update#

  • Default Credentials (Critical): Use the default administrator credentials:
    • Username: admin
    • Password: admin
  • Security Action: IMMEDIATELY after logging in for the first time, navigate to the user settings and change the default password. This is a mandatory security step to protect your server's access and message content.

4. How to Use Gotify for Real-Time Messaging#

Once secured, Gotify requires the creation of an application to start sending messages.

Step 1: Create a Messaging Application#

  • Navigate: Go to the Applications section within the Gotify web UI.
  • Create: Click to create a new application (e.g., "CI/CD-Alerts").
  • Retrieve Token: Gotify will generate a unique Application Token for this app. This token is required to send messages to this specific recipient or use case. Keep this token secure.

Step 2: Sending a Notification via REST API#

Gotify uses a simple HTTP endpoint for message transmission. You can use any language or tool capable of making HTTP requests.

  • Endpoint Structure:

    POST https://YOUR_GOTIFY_DOMAIN/message
  • Example cURL Command: Use your application token and the secure HTTPS URL provided by Oikos.

    curl "https://YOUR_GOTIFY_DOMAIN/message?token=YOUR_APP_TOKEN" \
    -F "title=Deployment Successful" \
    -F "message=The latest code push has been deployed to production." \
    -F "priority=8"
    • The priority level (1-10) is important, as it can be used by client applications (like the Android client) to determine alert behavior.

Step 3: Connect Client Applications#

  • Mobile/Web: Users can download the official Gotify Android app or find third-party clients and point them to your deployed Oikos URL.
  • Authentication: Clients log in using their User credentials (not the application token) to receive messages sent to any app token they are authorized to receive.

Core Benefits of Deploying Gotify on Oikos#

1. Private and Self-Hosted Messaging#

By deploying on Oikos, you gain data sovereignty over your notifications. All messages and user/application data remain within your secure, self-hosted container, bypassing third-party vendors and improving data compliance.

2. Simple, Versatile API Integration#

Gotify’s straightforward REST API makes it easy to integrate push notifications into virtually any application, script, or automated workflow. Oikos ensures the API endpoint is stable, reliable, and secured with HTTPS.

3. Scalable Real-Time Server#

Oikos provides the reliable infrastructure necessary for a real-time service. You can adjust the container resources to scale your Gotify server's capacity to handle thousands of concurrent client connections and high-volume message bursts.

4. Minimal DevOps Overhead#

The PaaS environment handles the server, database (typically SQLite), and networking, allowing developers to focus solely on integrating the Gotify API into their products without any server maintenance complexity.


Official Documentation#

For detailed information on the REST API specification, client configuration, and advanced settings:

Gotify Server Repository: https://github.com/gotify/server