# Sync Server

A simple Go server for self-hosting your Ascently sync data.

## Getting Started

1.  Create a `.env` file in this directory:
    ```
    IMAGE=git.atri.dad/atridad/ascently-sync:latest
    APP_PORT=8080
    AUTH_TOKEN=your-super-secret-token
    DATA_FILE=/data/ascently.json
    IMAGES_DIR=/data/images
    ROOT_DIR=./ascently-data
    ```
    Set `AUTH_TOKEN` to a long, random string. `ROOT_DIR` is where the server will store its data on your machine.

2.  Run with Docker:
    ```bash
    docker-compose up -d
    ```
    The server will be running on `http://localhost:8080`.

## API

All endpoints require an `Authorization: Bearer <your-auth-token>` header.

-   `GET /sync`: Download `ascently.json`.
-   `POST /sync`: Upload `ascently.json`.
-   `GET /images/{imageName}`: Download an image.
-   `POST /images/{imageName}`: Upload an image.

Check out `main.go` for the full details.
